Arbeitstitel: RFI Honeypot
Other Languages: NoneRemote File Inclusion (RFI) ist ein allgegenwärtiges Thema, ein Blick in ein Webserver Log macht dies deutlich.
Inspiriert durch eine von Katsumi geschriebene Honeyd Erweiterung, machte ich mich an das Werk, ein Webserver zu schreiben, der vor Freundlichkeit nur so übersprudelt. Seine einige Aufgabe ist, jeden Frage, mit der richtigen Antwort zu bedienen und jede Dummheit zu verzeihen. Mit dem Bonus, dass er geduldig alles nimmt, was man ihm gibt.
Prinzipiell verläuft der “Handshake” folgender maßen: Der Angreifer versucht in meine Webapplikation Code einzuschleusen, der ihm sehr simpel ein paar Informationen zurück gibt. Ein Beispiel kann so aussehen: echo “uname -a”; wobei uname -a durch den entsprechenden PHP Befehl ersetzt wird. Erhält er nun eine Vollständige Antwort, weiß der Angreifer, dass die Schwachstelle vorhanden ist und schickt seine Shell oder einen Bot nach.
Dies mache ich mir zu Nutzen. Der Code wird nach Echos durchsucht und die Anfrage entsprechend Beantwortet. Kurze Zeit später, bekomme ich die Shell oder den Bot serviert.
Weitere Vorgehensweise wäre z.B. das Analysieren des Bot Codes auf IRC Verbindungs-Daten. Dies kann entweder durch die Suche nach Mustern, oder durch die Analyse in einer Sandbox erledigt werden.
Aktueller Stand: Der Dienst läuft. Grundlegende Funktionen sind integriert. Auch die meisten Antworten können fehlerfrei ausgeliefert werden. Datenbank Anbindung besteht und das Frontend nimmt langsam Gestalt an.
Sobald ich die erste Version soweit stabel habe, werde ich sie hier veröffentlichen.