inter-recon
Skript zur automatischen anfänglichen Web- und Schwachstellenreconnaissance.
Es verfügt über einige Überprüfungen im Fehlerfall.
Es besteht die Möglichkeit, einige Prüfungen zu überspringen, sie neu zu starten und/oder an dem Punkt fortzufahren, an dem Sie aufgehört haben. (Dies liegt daran, dass es manchmal Netzwerkprobleme gibt, wie z. B. Zeitlimits in VPN.)
Denken Sie daran: Wenn Sie das inter-recon-Skript in den Bin-Pfad kopieren oder verlinken (z. B. /usr/bin/), können Sie das Skript von überall aus ausführen. Es erstellt die Ausgabe dort, wo Sie sich befinden.
WICHTIG: SEHEN SIE DAS WFUZZ-PROBLEM UND DIE WORKAROUND-AM ENDE DER README (Abschnitt Zusätzliche Informationen)
Um mehrere bekannte Domains/IPs zu verwenden, z. B.:
- Erstellen Sie die Datei domains.txt mit allen Domains oder verschiedenen IPs
- Ausführen: inter-recon -T $(pwd)/domains.txt -d $(pwd)/known-domains -w /home/kali/Desktop/tools/inter-recon/dictionaries/without-slash/dict-small-without-slash.txt -s all -a true
Um das Netzwerk/die IP zu verwenden, z. B.:
- Ausführen: inter-recon -t 10.11.1.1/24 -w /home/kali/Desktop/tools/inter-recon/dictionaries/without-slash/dict-small-without-slash.txt -s all -a true
Verwendung:
inter-recon.sh [OPTIONEN]
-t {NET oder IP}
-T {Target-PFAD}
-d {Wörterbuchpfad}
-w {WÖRTERBUCH-PFAD}
-s {Scan-Typ}
-a optional für den superautomatischen Scan, der alles überspringt und beim ersten Ausführen des Wfuzz-Prozesses nichts fragt
Scan-Typen
- all
- portscan
- nmap TCP -> vollständige Ports, Überprüfung auf Host-Up, wenn einer der folgenden Ports offen ist (1025,1028,1029,10443,111,135,139,1521,161,1917,21,22,23,25,2869,3306,3389,443,445,49000,497,5000,515,53,548,5985,5986,6000,79,80,8080,8081,8090,9001,9002,9100,993,995)
- nmap UDP -> Top-100-Ports mit Standard-Host-Up-Prozess
- vulnscan
- nmap UDP- und TCP-Scans in Dateien parsen
- nmap UDP- und TCP-Scans in Dienstordner nach Dienst parsen
- nmap UDP und TCP für offene Ports mit port/versionsbezogenen Skripten ausführen
- smbmap guest execution -> Prüfen, ob ohne Benutzer geschrieben/gelesen werden kann
- enum4linux guest execution -> Informationen aus Samba abrufen
- smbversion execution -> Version von Samba abrufen (manchmal auf Linux-Servern die einzige Möglichkeit, die Samba-Version zu sehen)
- webscan
- HTTP-Erkennung mit httpx aus nmap-Ausführung
- Fuzzing der entdeckten URLs mit wfuzz
- Screenshot von Status-200-URLs aus Fuzzing mit aquatone
- 403-Bypass-Techniken mit byp4xx
- following steps -> Kurze Erklärung der nächsten Schritte nach Skriptausführung
- Dokumentationsordner und Template-Struktur -> Einen Ordner für Nachweise erstellen und .md-Dateien mit Informationen zu den Scans hinzufügen
- vuln
- portscan (wie oben)
- vulnscan (wie oben)
- following steps (wie oben)
- Dokumentationsordner und Template-Struktur
- web
- portscan (wie oben)
- webscan (wie oben)
- following steps (wie oben)
- Dokumentationsordner und Template-Struktur
Struktur:
- Zuerst Port-Scan TCP und UDP mit Version (nmap, benötigt sudo)
- Schwachstellen-Recon-Scan (Befehl zum Parsen von Ports in eine Datei mit Format IP,Port,Service,Version, in Dienstdateien parsen, nmap mit vollständigen port/versionsbezogenen Skripten ausführen)
- Web-Fuzzing-Recon-Scan, wenn httpx einen HTTP-Port findet (httpx, wfuzz, aquatone, byp4xx 403-Dateien <- falls Status 403 vorhanden)
Verwendete Anwendungen:
- nmap (normale Version und mit nmap-vulners-Skript, beide benötigen sudo, verwenden TCP (volle Ports, wenn der Host UP ist mit -PS und einigen Ports) und UDP (nur Top-100-Ports))
- httxp (HTTP-Ports aus nmap-Ausführung abrufen)
- aquatone (Screenshots von Status-200-Antworten aus HTTP-Erkennung erstellen)
- wfuzz (Fuzzing der HTTP-Ports)
- byp4xx (Bypass von 403-URLs durch verschiedene Methoden versuchen)
- smbmap (Gastberechtigungen für Netzwerkfreigabeordner abrufen)
- enum4linux (SMB-Informationen mit Gastberechtigungen abrufen)
- smbversion (Echte Version von SMB abrufen)
- dnsrecon (Zonenübertragung an DNS-Server versuchen)
- crackmapexec (Namen zum Server abrufen)
- host (Hostname des DNS-Servers abrufen)
- dig (Hostname des DNS-Servers abrufen, den Server als ns "@" verwenden)
Ausgabeordnerstruktur: (Beispiel)
- 192.168.122.1-24/ -> Ausgangsordner
- nmap/ -> Ordner mit TCP- und UDP-nmap in XML und grepable Ausgabe mit Version
- nmap-tcp-target.xml -> nmap-Ausgabe zum Importieren in einige Tools
- nmap-udp-target.xml -> nmap-Ausgabe zum Importieren in einige Tools
- nmap-tcp-target.xml -> grepable nmap zum Parsen und lesbarer machen
- nmap-udp-target.xml -> grepable nmap zum Parsen und lesbarer machen
- aux/ -> Ordner zur Kontrolle der vorherigen Ausführung und übersprungenen WFuzz-URLs
- nmap/ -> hier sind alle nmaps für httpx; wir entfernen die verarbeiteten nmap-Dateien im httpx-Prozess, für den Fall eines Fehlers mit dieser nmap-Datei fortfahren.
- full-initial-files.txt -> hier werden die URLs entfernt, bei denen die Ausführung korrekt war
- wfuzz-skipped-urls.txt -> hier werden URLs hinzugefügt, die wegen eines Fehlers übersprungen wurden ((Gesamte Anfragen + 1) - Verarbeitete Anfragen != 0)
- debug/ -> Ordner zum Debuggen der Ausführungen
- nmap-tcp-output.txt -> nmap (nur Version) Ausgabe
- nmap-tcp-cve-output.txt -> nmap mit -A-Option zur Ausführung aller zugehörigen Skripte
- nmap-udp-output.txt -> nmap (nur Version) Ausgabe
- nmap-udp-output.txt -> nmap mit -A-Option zur Ausführung aller zugehörigen Skripte
- wfuzz-output.txt -> wfuzz Ausgabe
- screenshot-output.txt -> aquatone Ausgabe
- fuzzing/ -> Ordner mit wfuzz-Ausführungen (Wichtig: Status 50* und 40* prüfen)
- *.txt -> wfuzz-Ausgabedateien
- services/ -> Ordner mit allen aus nmap geparsten Diensten
- {SERVICE-NAME}-services.txt -> Dienstausführung mit IP, PORT, Extra-service-info Ausgabe
- cve/ -> Ordner mit Schwachstellen pro Host, gefunden durch nmap-vulners-Skript
- {IPs}.txt -> nmap-vulners-Skriptausgabe
- http-discover/ -> Ordner zum Speichern und Steuern der httpx-Ausführung
- httpx_aux.txt -> Datei mit allen Domains+Ports für die httpx-Ausführung
- screenshots/ -> Ordner mit Screenshots von Status-200-URLs, gefunden von wfuzz
- screens -> Ordner mit allen Screenshots
- report.html -> Bericht mit strukturierten Informationen
- {ANDERES} -> andere Elemente für report.html
- full-initial-files.txt -> Dateien mit anfänglicher HTTP-Erkennung, von httpx gefundene URLs zum Fuzzing mit wfuzz
- urls-status-{200,401,403,etc}.txt -> Endstatus-URLs, gefunden von wfuzz; ändert sich je nach Variable $status (Status der gefundenen URLs)
- targets.txt -> Datei mit IP oder Netzwerk, das Sie mit dem Parameter -t angegeben haben
- bypass/ -> Ordner mit byp4xx-lobuhi-Anwendung (nur wenn 403-URL gefunden)
- byp4xx-{URL ohne : und /}.txt -> byp4xx-Ausgabe für jede 403-URL
- all-urls-fuzzing-results.txt -> Datei mit allen URL-Fuzzing-Ergebnissen im Format "urlStatus URL"
- full-nmap-parsed-tcp.txt -> Nmap geparst im Format "IP,Port,Service,Version"
- smb/
- smbmap/
- {HOST}-smbmap.txt -> Gast-Samba-Ordnerberechtigungen (smbmap-Ausführung)
- enum4linux/
- {HOST}-enum4linux.txt -> Wiederherstellbare Gastinformationen
- smbversion/{HOST}-smbversion.txt -> Version von Samba (Nützlich, da nmap und andere Tools manchmal die wahre Version nicht kennen)
- dns
- dnsrecon/
- {DNSNAME}-{HOST}-dnsrecon.txt -> Zonenübertragungsangriff
- documentation
- {IP}.md -> Vorlage mit einigen Informationen zur Dokumentation
- evidences
- {IP} -> Ordner zum Hinzufügen der Nachweise aller angegriffenen IPs