Kali Pentest Toolkit - Recon und Enumeration: Unterschied zwischen den Versionen
| (2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 122: | Zeile 122: | ||
== gobuster == | == gobuster == | ||
| − | gobuster | + | gobuster ist ein Enumerations-Tool, das systematisch Namen durchprobiert und den |
| − | + | Server fragt, welche davon existieren. Es kennt mehrere Modi; hier nutzen wir | |
| − | + | <code>dns</code>: gobuster hängt jedes Wort aus der Liste vor die Domain | |
| − | + | (z.B. <code>dc01.zweebrigge.de</code>) und prüft per DNS-Anfrage, ob der Host | |
| − | + | existiert. So findet man aktive Subdomains, ohne sie vorher zu kennen. | |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| + | === dns – Subdomains raten === | ||
| + | ;Subdomain-Liste holen | ||
| + | *wget https://xinux.de/downloads/lists/subdomains.txt | ||
| + | ;Subdomains von zweebrigge.de raten | ||
| + | *gobuster dns --domain zweebrigge.de -w subdomains.txt | ||
;Schnelleres DNS-Scanning | ;Schnelleres DNS-Scanning | ||
| − | *gobuster dns - | + | *gobuster dns --domain zweebrigge.de -w subdomains.txt -t 50 |
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
== enum4linux-ng == | == enum4linux-ng == | ||
Aktuelle Version vom 12. August 2026, 17:04 Uhr
Kali Pentest Toolkit - Recon und Enumeration
Diese Übersicht fasst die wichtigsten Kommandos der Recon-, Web- und Enumeration-Tools zusammen, die wir im Kurs gegen das Übungsziel opfer.secure.local einsetzen. Alle Befehle werden ausschließlich in der internen Laborumgebung (secure.local) gegen eigene, dafür bereitgestellte Systeme ausgeführt.
Als Ziel wird durchgängig der Hostname opfer.secure.local bzw. die
Domain secure.local verwendet.
AutoRecon
AutoRecon führt automatisiert mehrere Scan-Phasen (Port, Service, Web) gegen ein oder mehrere Ziele aus und legt die Ergebnisse strukturiert ab.
- Einzelnes Ziel scannen
- autorecon opfer.secure.local
- Mehrere Ziele gleichzeitig scannen
- autorecon opfer.secure.local opfer2.secure.local
- Ziele aus einer Datei einlesen
- autorecon -t targets.txt
- Scan auf ausgewählte Ports begrenzen
- autorecon -p 80,443 opfer.secure.local
- TCP- und UDP-Ports gemischt auswählen
- autorecon -p 53,T:21-25,80,U:123 opfer.secure.local
- Ergebnisse in ein eigenes Ausgabeverzeichnis schreiben
- autorecon -o results opfer.secure.local
- Flaches Single-Target-Layout verwenden
- autorecon --single-target -o results opfer.secure.local
- feroxbuster für die Web-Content-Discovery nutzen
- autorecon --dirbuster.tool feroxbuster opfer.secure.local
- Scans über proxychains routen
- autorecon --proxychains opfer.secure.local
- Domain-Wert für passende Plugins setzen
- autorecon --global.domain secure.local opfer.secure.local
- Globales und Ziel-Zeitlimit setzen
- autorecon --timeout 60 --target-timeout 30 opfer.secure.local
- Verfügbare Service-Scan-Plugins auflisten
- autorecon --list service
ffuf
FUZZ ist ein Platzhalter, den ffuf durch jeden Eintrag der Wortliste ersetzt – er kann an jeder Stelle des Requests stehen: Pfad, Host, Parameter oder Header.
Inhalte auf dem Webserver finden
- Wortliste holen
- Nach Verzeichnissen suchen
- ffuf -w wordlist.txt -u https://opfer.secure.local/FUZZ
- Auch nach Dateien suchen – Wortliste um Endungen erweitern
- ffuf -w wordlist.txt -u https://opfer.secure.local/FUZZ -e .php,.txt,.html,.bak,.sql,.sql.org,.org
- In gefundenen Verzeichnissen eine Ebene tiefer suchen
- ffuf -w wordlist.txt -u https://opfer.secure.local/FUZZ -recursion -recursion-depth 2
Ausgabe steuern
- Fehlseiten ausblenden (404 und leere Antworten)
- ffuf -w wordlist.txt -u https://opfer.secure.local/FUZZ -e .php,.sql,.bak -fc 404 -fs 0
- Nur verwertbare Statuscodes anzeigen
- ffuf -w wordlist.txt -u https://opfer.secure.local/FUZZ -mc 200,204,301,302
- Laufzeit begrenzen
- ffuf -w wordlist.txt -u https://opfer.secure.local/FUZZ -maxtime 60
- Ergebnisse in eine Datei sichern
- ffuf -w wordlist.txt -u https://opfer.secure.local/FUZZ -o results.json -of json
FUZZ an anderen Stellen einsetzen
- Weitere virtuelle Hosts hinter derselben IP suchen
- ffuf -w vhosts.txt -u https://opfer.secure.local -H "Host: FUZZ.secure.local" -fs 4242
- Unbekannte GET-Parameter suchen
- ffuf -w params.txt -u https://opfer.secure.local/app.php?FUZZ=test -fs 4242
- Gültige Werte eines Parameters durchprobieren
- ffuf -w values.txt -u https://opfer.secure.local/app.php?id=FUZZ -fc 401
- Zugangsdaten über ein Formular durchprobieren
- ffuf -w postdata.txt -X POST -d "user=admin&pass=FUZZ" -u https://opfer.secure.local/login.php -fc 401
- Header-Werte durchprobieren
- ffuf -w headers.txt -u https://opfer.secure.local -H "X-Forwarded-For: FUZZ"
feroxbuster
feroxbuster ist ein Content-Discovery-Scanner, der gefundene Verzeichnisse
automatisch rekursiv weiterverfolgt (Standardtiefe 4). Bei selbstsigniertem
Zertifikat bricht er mit SSL-Fehler ab, daher überall --insecure.
Inhalte auf dem Webserver finden
- Wortliste holen
- Basis-Scan mit der eingebauten Wortliste
- feroxbuster -u https://opfer.secure.local --insecure
- Eigene Wortliste verwenden
- feroxbuster -u https://opfer.secure.local --insecure -w wordlist.txt
- Auch nach Dateien suchen – Endungen anhängen
- feroxbuster -u https://opfer.secure.local --insecure -w wordlist.txt -x php,txt,html,sql,bak
- Weiterleitungen verfolgen
- feroxbuster -u https://opfer.secure.local --insecure -r
- Rekursionstiefe begrenzen
- feroxbuster -u https://opfer.secure.local --insecure -d 2
Ausgabe steuern
- Bestimmten Statuscode ausblenden
- feroxbuster -u https://opfer.secure.local --insecure -C 404
- Nur verwertbare Statuscodes anzeigen
- feroxbuster -u https://opfer.secure.local --insecure -s 200 204 301 302 403
- Mehr Threads fürs Tempo
- feroxbuster -u https://opfer.secure.local --insecure -t 50
- Ergebnisse in eine Datei sichern
- feroxbuster -u https://opfer.secure.local --insecure -o ferox.txt
Weitere Einsatzarten
- URL-Liste über die Standardeingabe scannen
- cat urls.txt | feroxbuster --stdin --insecure
- Traffic zur Analyse über Burp leiten
- feroxbuster -u https://opfer.secure.local --insecure -p http://127.0.0.1:8080
gobuster
gobuster ist ein Enumerations-Tool, das systematisch Namen durchprobiert und den
Server fragt, welche davon existieren. Es kennt mehrere Modi; hier nutzen wir
dns: gobuster hängt jedes Wort aus der Liste vor die Domain
(z.B. dc01.zweebrigge.de) und prüft per DNS-Anfrage, ob der Host
existiert. So findet man aktive Subdomains, ohne sie vorher zu kennen.
dns – Subdomains raten
- Subdomain-Liste holen
- Subdomains von zweebrigge.de raten
- gobuster dns --domain zweebrigge.de -w subdomains.txt
- Schnelleres DNS-Scanning
- gobuster dns --domain zweebrigge.de -w subdomains.txt -t 50
enum4linux-ng
enum4linux-ng dient der SMB-/NetBIOS-Enumeration von Windows- und Samba-Systemen.
- Grundlegende SMB-Enumeration
- enum4linux-ng opfer.secure.local
- Alle einfachen Checks ausführen
- enum4linux-ng -A opfer.secure.local
- Schneller Scan ohne NetBIOS-Lookup
- enum4linux-ng -As opfer.secure.local
- SMB-Shares enumerieren
- enum4linux-ng -S opfer.secure.local
- Benutzer enumerieren
- enum4linux-ng -U opfer.secure.local
- Gruppen enumerieren
- enum4linux-ng -G opfer.secure.local
- Passwort-Richtlinie abrufen
- enum4linux-ng -P opfer.secure.local
- Betriebssystem-Informationen abrufen
- enum4linux-ng -O opfer.secure.local
- RID-Cycling zur Benutzer-Discovery
- enum4linux-ng -R -r 500-2000 opfer.secure.local
- Authentifizierte Enumeration
- enum4linux-ng -A -u admin -p Password123 opfer.secure.local
- Ausgabe als JSON speichern
- enum4linux-ng -A opfer.secure.local -oJ results.json
- JSON und YAML speichern
- enum4linux-ng -A opfer.secure.local -oA scan_out
dnsrecon
dnsrecon führt verschiedene DNS-Enumerationstechniken gegen die Domain aus.
- Grundlegende DNS-Enumeration
- dnsrecon -d secure.local
- Standard-Record-Lookup
- dnsrecon -d secure.local -t std
- Subdomains per Bruteforce ermitteln
- dnsrecon -d secure.local -t brt -D subs.txt
- Zonentransfer testen
- dnsrecon -d secure.local -t axfr
- SRV-Records enumerieren
- dnsrecon -d secure.local -t srv
- DNSSEC-Zone-Walk versuchen
- dnsrecon -d secure.local -t zonewalk
- Reverse-Lookup über einen CIDR-Bereich
- dnsrecon -r 192.168.1.0/24
- Bestimmten Nameserver verwenden
- dnsrecon -d secure.local -n 8.8.8.8
- Gecachte Records aus einer Liste prüfen
- dnsrecon -d secure.local -c cache.txt
- Ausgabe als XML speichern
- dnsrecon -d secure.local -x dnsrecon.xml
- Ausgabe als JSON speichern
- dnsrecon -d secure.local -j dnsrecon.json
- Google-basierte Enumeration versuchen
- dnsrecon -d secure.local -t goo
whatweb
whatweb identifiziert Webtechnologien (Server, CMS, Frameworks) eines Ziels.
- Grundlegendes Website-Fingerprinting
- whatweb https://opfer.secure.local
- Aggressionsstufe erhöhen
- whatweb -a 3 https://opfer.secure.local
- Ausführliche Plugin-Ausgabe
- whatweb -v https://opfer.secure.local
- Mehrere Ziele aus einer Datei scannen
- whatweb -i targets.txt
- Nur ausgewählte Plugins ausführen
- whatweb -p WordPress,Joomla,Drupal https://opfer.secure.local
- Redirects immer folgen
- whatweb --follow-redirect=always https://opfer.secure.local
- Ausgabe als JSON speichern
- whatweb --log-json result.json https://opfer.secure.local
- Ausgabe als XML speichern
- whatweb --log-xml result.xml https://opfer.secure.local
- Eigenen User-Agent setzen
- whatweb --user-agent "Mozilla/5.0" https://opfer.secure.local
- Session-Cookie mitsenden
- whatweb --cookie "PHPSESSID=abc123" https://opfer.secure.local
- Traffic über einen Proxy leiten
- whatweb --proxy http://127.0.0.1:8080 https://opfer.secure.local
- Fehlermeldungen unterdrücken
- whatweb --no-errors https://opfer.secure.local
hydra
hydra prüft im Labor die Widerstandsfähigkeit von Diensten gegen Wörterbuch-Angriffe. Die Passwort-Audits laufen ausschließlich gegen die eigenen Übungssysteme.
- SSH-Passwort-Audit
- hydra -l admin -P passwords.txt ssh://opfer.secure.local
- FTP-Credential-Test
- hydra -L users.txt -P passwords.txt ftp://opfer.secure.local
- SMB-Login-Audit
- hydra -L users.txt -P passwords.txt smb://opfer.secure.local
- RDP-Credential-Test
- hydra -L users.txt -P passwords.txt rdp://opfer.secure.local
- MySQL-Passwort-Audit
- hydra -l root -P passwords.txt mysql://opfer.secure.local
- Abweichenden Port ansprechen
- hydra -l admin -P passwords.txt -s 2222 ssh://opfer.secure.local
- Anzahl paralleler Tasks begrenzen
- hydra -L users.txt -P passwords.txt -t 4 ssh://opfer.secure.local
- Web-Login mit einzelnem Passwort testen
- hydra -l admin -p Password123 http-get://opfer.secure.local/login
- HTTP-POST-Formular auditieren
- hydra -l admin -P passwords.txt opfer.secure.local http-post-form "/login:user=^USER^&pass=^PASS^:F=incorrect"
- Ausführliche Ausgabe der Versuche
- hydra -L users.txt -P passwords.txt -V ssh://opfer.secure.local
- Ergebnisse in eine Datei speichern
- hydra -L users.txt -P passwords.txt -o results.txt ssh://opfer.secure.local
- Vorherige Session wiederherstellen
- hydra -R