Skip to content

Instantly share code, notes, and snippets.

@christophetd
christophetd / Dockerfile
Created October 8, 2021 08:23
Reproducing CVE-2021-41773 (Apache 2.4.49 and 2.4.50) with Docker
FROM httpd:2.4.49-alpine
COPY ./vulnerable-httpd.conf /usr/local/apache2/conf/httpd.conf
# Ensure the AI services opt-out policy type is enabled on the Organization
resource "aws_organizations_organization" "organization" {
enabled_policy_types = [
# ...
"AISERVICES_OPT_OUT_POLICY"
]
}
# Create the AI opt-out policy
resource "aws_organizations_policy" "ai-optout" {
@christophetd
christophetd / infosec-subscriptions.opml
Created March 31, 2018 07:41
My Feedly RSS subscriptions
<?xml version="1.0" encoding="UTF-8"?>
<opml version="1.0">
<head>
<title>Christophe subscriptions in feedly Cloud</title>
</head>
<body>
<outline text="Security" title="Security">
<outline type="rss" text="Schneier on Security" title="Schneier on Security" xmlUrl="http://www.schneier.com/blog/index.rdf" htmlUrl="https://www.schneier.com/blog/"/>
<outline type="rss" text="Rhino Security Labs" title="Rhino Security Labs" xmlUrl="http://www.rhinosecuritylabs.com/blog/feed/" htmlUrl="https://rhinosecuritylabs.com"/>
@christophetd
christophetd / keybase.md
Created December 12, 2017 22:24
keybase.md

Keybase proof

I hereby claim:

  • I am christophetd on github.
  • I am christophetd (https://keybase.io/christophetd) on keybase.
  • I have a public key ASDIKL2YxFhmFcG1s-aRvZ98jGemCEGwISz49sqQZYZA6go

To claim this, I am signing this object:

@christophetd
christophetd / xor-ddos-decryption.py
Last active January 5, 2024 17:13
Tool to decrypt configuration values and network communications of malwares of the Xor Ddos family
import binascii
import itertools
# XORs two byte strings together
def xor_bytes(bytes1, bytes2):
return [ chr(ord(a) ^ b) for (a, b) in zip(bytes1, bytes2) ]
# XORs a ciphertext with the malware's hardcoded key, and repeats it until it's long enough to match the ciphertext length.
def decrypt(cipher, key_hex = 'BB2FA36AAA9541F0'):
key_bytes = [ ord(a) for a in key_hex ]
@christophetd
christophetd / namemash.py
Created April 1, 2017 09:20 — forked from superkojiman/namemash.py
Creating a user name list for brute force attacks.
#!/usr/bin/env python
import sys
if __name__ == "__main__":
if len(sys.argv) != 2:
print "usage: %s names.txt" % (sys.argv[0])
sys.exit(0)
for line in open(sys.argv[1]):
name = ''.join([c for c in line if c == " " or c.isalpha()])
#!/bin/bash
CFG_DIR="/cfg"
if [ -z $EDITOR ]; then
EDITOR=`which vim`
fi
sudo $EDITOR $CFG_DIR/$1
@christophetd
christophetd / install.sh
Created August 28, 2015 09:43
JDK 8 installation (Ubuntu)
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
@christophetd
christophetd / install.sh
Created August 28, 2015 09:42
JDK8 installations commands (Ubuntu)
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
@christophetd
christophetd / gist:430775c9d53cda61eb84
Created August 28, 2015 09:41
JDK8 installation commands under Ubuntu
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer