Kali Pentest Toolkit - Recon und Enumeration: Unterschied zwischen den Versionen
| Zeile 122: | Zeile 122: | ||
== gobuster == | == gobuster == | ||
| − | gobuster wird über einen Modus als erstes Argument gesteuert: <code>dir</code> | + | gobuster wird über einen Modus als erstes Argument gesteuert: <code>dir</code> |
| − | Verzeichnisse, <code>dns</code> | + | sucht Verzeichnisse/Dateien auf einem Webserver (HTTP), <code>dns</code> rät |
| − | Hosts. Jeder Modus hat eigene Optionen | + | Subdomains einer Domain (DNS), <code>vhost</code> findet virtuelle Hosts. Jeder |
| − | <code>-u</code> | + | Modus hat eigene Optionen: <code>dir</code> braucht mit <code>-u</code> eine URL, |
| − | + | <code>dns</code> mit <code>-d</code> eine Domain. Bei selbstsigniertem Zertifikat | |
| − | + | im <code>dir</code>-Modus <code>-k</code> setzen, sonst SSL-Abbruch. | |
| − | ; | + | === dir – Inhalte auf dem Webserver (HTTP) === |
| − | * | + | ;Wortliste holen |
| − | + | *wget https://xinux.de/downloads/lists/wordlist.txt | |
| − | ; | + | ;Verzeichnisse suchen |
| − | *gobuster dir -u https://opfer. | + | *gobuster dir -u https://opfer.zweebrigge.de -w wordlist.txt -k |
| − | + | ;Auch nach Dateien suchen – Endungen anhängen | |
| − | ; | + | *gobuster dir -u https://opfer.zweebrigge.de -w wordlist.txt -k -x php,html,txt,sql,bak |
| − | *gobuster dir -u https://opfer. | + | ;Nur verwertbare Statuscodes anzeigen |
| − | + | *gobuster dir -u https://opfer.zweebrigge.de -w wordlist.txt -k -s 200,301,302,403 | |
| − | ; | + | ;Bestimmten Statuscode ausblenden |
| − | *gobuster dir -u https://opfer. | + | *gobuster dir -u https://opfer.zweebrigge.de -w wordlist.txt -k -b 404 |
| − | + | ;Mehr Threads fürs Tempo | |
| − | ; | + | *gobuster dir -u https://opfer.zweebrigge.de -w wordlist.txt -k -t 50 |
| − | *gobuster dir -u https://opfer. | + | ;Ergebnisse in eine Datei sichern |
| − | + | *gobuster dir -u https://opfer.zweebrigge.de -w wordlist.txt -k -o results.txt | |
| − | ; | ||
| − | *gobuster dir -u https://opfer. | ||
| − | |||
| − | ; | ||
| − | *gobuster dir -u https://opfer. | ||
| − | |||
| − | |||
| − | |||
| + | === dns – Subdomains raten (DNS) === | ||
| + | ;Subdomain-Liste holen | ||
| + | *wget https://xinux.de/downloads/lists/subdomains.txt | ||
| + | ;Subdomains von zweebrigge.de raten | ||
| + | *gobuster dns -d zweebrigge.de -w subdomains.txt | ||
;Schnelleres DNS-Scanning | ;Schnelleres DNS-Scanning | ||
| − | *gobuster dns -d | + | *gobuster dns -d zweebrigge.de -w subdomains.txt -t 50 |
| − | |||
| − | |||
| − | |||
| − | ; | + | === Statt raten: ganze Zone auf einmal (Zonentransfer) === |
| − | * | + | ;Kompletten Zoneninhalt ziehen (NS erlaubt AXFR) |
| + | *dig axfr zweebrigge.de @10.0.0.1 | ||
| − | ; | + | === vhost – virtuelle Hosts (HTTP) === |
| − | *gobuster | + | ;Virtuelle Hosts hinter derselben IP suchen |
| + | *gobuster vhost -u https://opfer.zweebrigge.de -w subdomains.txt -k --append-domain | ||
== enum4linux-ng == | == enum4linux-ng == | ||
Version vom 12. August 2026, 16:59 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 wird über einen Modus als erstes Argument gesteuert: dir
sucht Verzeichnisse/Dateien auf einem Webserver (HTTP), dns rät
Subdomains einer Domain (DNS), vhost findet virtuelle Hosts. Jeder
Modus hat eigene Optionen: dir braucht mit -u eine URL,
dns mit -d eine Domain. Bei selbstsigniertem Zertifikat
im dir-Modus -k setzen, sonst SSL-Abbruch.
dir – Inhalte auf dem Webserver (HTTP)
- Wortliste holen
- Verzeichnisse suchen
- gobuster dir -u https://opfer.zweebrigge.de -w wordlist.txt -k
- Auch nach Dateien suchen – Endungen anhängen
- gobuster dir -u https://opfer.zweebrigge.de -w wordlist.txt -k -x php,html,txt,sql,bak
- Nur verwertbare Statuscodes anzeigen
- gobuster dir -u https://opfer.zweebrigge.de -w wordlist.txt -k -s 200,301,302,403
- Bestimmten Statuscode ausblenden
- gobuster dir -u https://opfer.zweebrigge.de -w wordlist.txt -k -b 404
- Mehr Threads fürs Tempo
- gobuster dir -u https://opfer.zweebrigge.de -w wordlist.txt -k -t 50
- Ergebnisse in eine Datei sichern
- gobuster dir -u https://opfer.zweebrigge.de -w wordlist.txt -k -o results.txt
dns – Subdomains raten (DNS)
- Subdomain-Liste holen
- Subdomains von zweebrigge.de raten
- gobuster dns -d zweebrigge.de -w subdomains.txt
- Schnelleres DNS-Scanning
- gobuster dns -d zweebrigge.de -w subdomains.txt -t 50
Statt raten: ganze Zone auf einmal (Zonentransfer)
- Kompletten Zoneninhalt ziehen (NS erlaubt AXFR)
- dig axfr zweebrigge.de @10.0.0.1
vhost – virtuelle Hosts (HTTP)
- Virtuelle Hosts hinter derselben IP suchen
- gobuster vhost -u https://opfer.zweebrigge.de -w subdomains.txt -k --append-domain
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