Web Intelligence Scanner (web_recon.py)
Version: 1.0 | Pfad: /home/andre/Claude/Hacking/web_recon/web_recon.py
Profil: Ethical Hacker | Phase: 2 – Aktive Web-Enumeration
Überblick
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.
Was wird analysiert?
| 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 |
Prioritätsstufen
| 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 |
Installation
cd /home/andre/Claude/Hacking/web_recon pip3 install -r requirements.txt # Systemtools (falls noch nicht vorhanden) sudo apt install tor torsocks
requirements.txt
requests>=2.31.0 PySocks>=1.7.1 beautifulsoup4>=4.12.0 lxml>=4.9.0 weasyprint>=60.0 markdown2>=2.4.0
Verwendung
Standardaufruf
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
Mit Tor-Anonymisierung
python3 web_recon.py \
--domain bgv.de \
--subdomains ../domain_recon/reports/bgv.de_*/subdomains.txt \
--tor
Alle Parameter
| 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>/) |
Internes Vorgehen
1. Preflight-Scoring
Vor dem parallelen HTTP-Probe bewertet ein regelbasierter Scorer jeden Host (0–100 Punkte):
- +30 Punkte: DNS-Name enthält
vpn,citrix,remote,gateway,access - +20 Punkte: enthält
login,auth,portal,webmail - +15 Punkte: enthält
api,admin,jenkins,jira - -10 Punkte: rein statisch wirkende Namen wie
cdn,static,img
Hosts mit Score ≥ 50 werden als erste probed und mit höherer Priorität analysiert.
2. HTTP-Probe (parallel)
ThreadPoolExecutor mit konfigurierter Thread-Anzahl. Jeder Host:
- HTTPS-Probe → HTTP-Fallback bei Fehler
- Redirect-Tracking (max. 5 Hops)
- BeautifulSoup-Parsing des HTML-Body
- Header-Extraktion (alle relevanten Security- und Server-Header)
3. Claude-KI-Analyse
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ßnahme
Fallback: regelbasierte Priorisierung wenn Claude nicht verfügbar.
Output
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 |
Maltego-Entities aus web_recon.py
| 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 |
Start aus Claude heraus
Empfohlener Workflow: Phase 1 und 2 direkt in Claude Code anstoßen.
Vollständige Phase 1+2 in Claude
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/CSV
Analyse-Fragen nach dem Scan
- „Welche Hosts sind KRITISCH und warum? Welche CVEs sind besonders gefährlich?“
- „Gibt es Login-Formulare ohne HSTS? Liste sie mit URL.“
- „Welche Citrix-Instanzen wurden gefunden? Sind sie anfällig für CVE-2023-3519?“
- „Erstelle eine priorisierte Angriffsliste für den Pentest-Report.“
- „Welche API-Endpunkte wurden entdeckt? Sind JWT-Token oder OAuth sichtbar?“
Claude liest die JSON-Rohdaten und antwortet mit konkreter technischer Analyse.
Maltego-Import
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
Zusammenspiel mit anderen Phasen
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
Hinweise
- Aktiver Scan – nur auf autorisierten Zielen betreiben
- Tor verlangsamt den Scan merklich (Timeout ggf. auf 20s erhöhen)
- Claude-Batch-Analyse kostet API-Credits (ca. 0,10–0,30 USD pro vollständigem Scan)
- Hosts ohne HTTP/HTTPS-Antwort werden als
not reachablemarkiert und übersprungen - HTML-Report ist standalone (kein Internet nötig) und kann archiviert werden
