Kali Pentest Toolkit - Recon und Enumeration

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

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
Auch nach Dateien suchen – Wortliste um Endungen erweitern
In gefundenen Verzeichnissen eine Ebene tiefer suchen

Ausgabe steuern

Fehlseiten ausblenden (404 und leere Antworten)
Nur verwertbare Statuscodes anzeigen
Laufzeit begrenzen
Ergebnisse in eine Datei sichern

FUZZ an anderen Stellen einsetzen

Weitere virtuelle Hosts hinter derselben IP suchen
Unbekannte GET-Parameter suchen
Gültige Werte eines Parameters durchprobieren
Zugangsdaten über ein Formular durchprobieren
Header-Werte durchprobieren

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
Eigene Wortliste verwenden
Auch nach Dateien suchen – Endungen anhängen
Weiterleitungen verfolgen
Rekursionstiefe begrenzen

Ausgabe steuern

Bestimmten Statuscode ausblenden
Nur verwertbare Statuscodes anzeigen
Mehr Threads fürs Tempo
Ergebnisse in eine Datei sichern

Weitere Einsatzarten

URL-Liste über die Standardeingabe scannen
  • cat urls.txt | feroxbuster --stdin --insecure
Traffic zur Analyse über Burp leiten

gobuster

gobuster wird über einen Modus als erstes Argument gesteuert: dir für Verzeichnisse, dns für Subdomains, vhost für virtuelle Hosts. Jeder Modus hat eigene Optionen – bei dir gibt man mit -u die URL an, bei dns mit -d die Domain. gobuster kennt verschiedene Modi (dir, dns, vhost, fuzz) für Verzeichnis-, DNS- und Vhost-Enumeration.

Grundlegender Verzeichnis-Scan
Gängige Dateiendungen durchsuchen
Anzahl der Threads erhöhen
TLS-Zertifikatsprüfung überspringen
Bestimmte Statuscodes anzeigen
Statuscode ausschließen
Ausgabe in eine Datei speichern
DNS-Subdomain-Enumeration
  • gobuster dns -d secure.local -w subdomains.txt
Schnelleres DNS-Scanning
  • gobuster dns -d secure.local -w subdomains.txt -t 50
Virtual-Host-Discovery
Basis-Fuzz-Modus
Header-Wert fuzzen

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
Aggressionsstufe erhöhen
Ausführliche Plugin-Ausgabe
Mehrere Ziele aus einer Datei scannen
  • whatweb -i targets.txt
Nur ausgewählte Plugins ausführen
Redirects immer folgen
Ausgabe als JSON speichern
Ausgabe als XML speichern
Eigenen User-Agent setzen
Session-Cookie mitsenden
Traffic über einen Proxy leiten
Fehlermeldungen unterdrücken

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
FTP-Credential-Test
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
Anzahl paralleler Tasks begrenzen
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
Ergebnisse in eine Datei speichern
Vorherige Session wiederherstellen
  • hydra -R