Version: 1.0 | Pfad: /home/andre/Claude/Hacking/web_recon/web_recon.py
Profil: Ethical Hacker | Phase: 2 – Aktive Web-Enumeration
web_recon.py führt eine aktive Web-Intelligence-Analyse gegen alle Subdomains durch,
die recon.sh (Phase 1) gefunden hat. Für jeden erreichbaren Host werden HTTP-Header,
Technologie-Fingerprints, Login-Formulare, API-Endpunkte und Security-Header-Lücken
extrahiert. Eine Claude-KI-Analyse bewertet jeden Host und ordnet ihn CVEs zu.
| Kategorie | Details |
|---|---|
| HTTP-Probe | Status-Code, Redirect-Ziel, Server-Banner, X-Powered-By, Set-Cookie |
| HTML-Analyse | Page-Title, Login-Formulare, Meta-Tags, Framework-Hints |
| Tech-Fingerprint | WordPress, Citrix, Ivanti, Exchange, Jira, Jenkins, GitLab, … |
| API-Endpunkte | JS-Parsing auf /api/, /v1/, /rest/, GraphQL-Hints |
| Security-Header | Fehlende: HSTS, CSP, X-Frame-Options, Referrer-Policy |
| KI-Bewertung | Service-Typ, Priorität (KRITISCH/HOCH/MITTEL/NIEDRIG), CVEs, Angriffsszenarien |
| Maltego-Export | Direkt integriert – kein separater Konverter-Lauf nötig |
| Stufe | Bedeutung |
|---|---|
KRITISCH | Direkter Angriffseinstieg: VPN-Gateway, Citrix, RDP-Proxy, bekannte CVEs |
HOCH | Interne App, Login-Formular, keine Security-Header, veraltete Software |
MITTEL | Öffentliche App, standard-gesichert, begrenzte Angriffsfläche |
NIEDRIG | Statisch, kein Login, kein Code-Execution-Risiko |
cd /home/andre/Claude/Hacking/web_recon pip3 install -r requirements.txt # Systemtools (falls noch nicht vorhanden) sudo apt install tor torsocks
requests>=2.31.0 PySocks>=1.7.1 beautifulsoup4>=4.12.0 lxml>=4.9.0 weasyprint>=60.0 markdown2>=2.4.0
python3 /home/andre/Claude/Hacking/web_recon/web_recon.py \ --domain bgv.de \ --subdomains /home/andre/Claude/Hacking/domain_recon/reports/bgv.de_YYYYMMDD_HHMMSS/subdomains.txt
python3 web_recon.py \
--domain bgv.de \
--subdomains ../domain_recon/reports/bgv.de_*/subdomains.txt \
--tor
| Parameter | Beschreibung |
|---|---|
--domain DOMAIN | Zieldomain (für Report-Benennung) |
--subdomains FILE | Textdatei mit Subdomains (eine pro Zeile) |
--tor | Tor erzwingen (kein Prompt) |
--no-tor | Direktverbindung, kein Prompt |
--threads N | Parallele Probes (Standard: 10) |
--timeout N | HTTP-Timeout in Sekunden (Standard: 10) |
--no-claude | Regelbasierte Analyse statt KI |
--output-dir DIR | Report-Verzeichnis (Standard: reports/<domain>_<ts>/) |
Vor dem parallelen HTTP-Probe bewertet ein regelbasierter Scorer jeden Host (0–100 Punkte):
vpn, citrix, remote, gateway, accesslogin, auth, portal, webmailapi, admin, jenkins, jiracdn, static, imgHosts mit Score ≥ 50 werden als erste probed und mit höherer Priorität analysiert.
ThreadPoolExecutor mit konfigurierter Thread-Anzahl. Jeder Host:
Alle erreichbaren Hosts werden in Batches von 8 an Claude (Sonnet) geschickt. Prompt enthält: Hostname, Status, Server, Technologien, Formulare, Header-Lücken. Claude liefert pro Host:
service: Produktname (z.B. „Citrix NetScaler Gateway“)priority: KRITISCH / HOCH / MITTEL / NIEDRIGcves: Liste relevanter CVE-IDsattack_surface: Kurzbeschreibung des Risikosrecommendation: SofortmaßnahmeFallback: regelbasierte Priorisierung wenn Claude nicht verfügbar.
Reports werden unter /home/andre/Claude/Hacking/web_recon/reports/<domain>_<timestamp>/ gespeichert.
| Datei | Beschreibung |
|---|---|
web_recon.json | Vollständige Rohdaten, wird von Phase 3 eingelesen |
web_recon.html | Interaktiver Report (Dark-Theme, Filter nach Priorität) |
web_recon.pdf | PDF mit Executive Summary, Findings-Tabelle, KI-Analyse |
maltego_web_recon.csv | Maltego-Import direkt aus dem Scan |
| Entity-Typ | Inhalt |
|---|---|
maltego.DNSName | Alle Subdomains (Label: Service + Priorität) |
maltego.URL | Login-URLs, API-Endpunkte |
maltego.Phrase | CVE-Zuordnungen pro Host |
maltego.Phrase | Tech-Stack-Fingerprints |
maltego.Phrase | Fehlende Security-Header |
maltego.Domain | Externe Redirect-Ziele |
Empfohlener Workflow: Phase 1 und 2 direkt in Claude Code anstoßen.
Führe einen Domain-Scan für bgv.de durch (Phase 1), danach einen Web-Intelligence-Scan aller gefundenen Subdomains (Phase 2), verwende Tor und exportiere alles für Maltego.
Claude läuft dann sequenziell:
recon.sh bgv.de → Subdomain-Listeweb_recon.py –domain bgv.de –subdomains <liste> –tor → JSON/PDF/CSVClaude liest die JSON-Rohdaten und antwortet mit konkreter technischer Analyse.
maltego_web_recon.csv wird direkt im Report-Verzeichnis erzeugt:
# Pfad anpassen: /home/andre/Claude/Hacking/web_recon/reports/bgv.de_20260321_223647/maltego_web_recon.csv
Import in Maltego: Import → Import Entities from Table → CSV auswählen
Für kombinierten Import aller Phasen (E-Mail + Domain + Web):
python3 /home/andre/Claude/Hacking/tools/to_maltego.py \ --email-json email_recon/ziel_osint.json \ --domain-report domain_recon/reports/bgv.de_<ts> \ --web-recon web_recon/reports/bgv.de_<ts>/web_recon.json \ -o tools/bgv_combined_maltego.csv
Phase 1 (recon.sh) → subdomains.txt
↓
Phase 2 (web_recon.py) → web_recon.json (Prioritäten, CVEs, Tech-Stack)
↓
Phase 3 (build_phase3.py) → vuln_check.py (CVE-Probes aus Phase-2-Findings)
↓
Phase 4 (build_phase4.py) → Exploit-Dokumentation
not reachable markiert und übersprungen