| FOTO | AUTO | EDV | AUDIO |

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:

  1. HTTPS-Probe → HTTP-Fallback bei Fehler
  2. Redirect-Tracking (max. 5 Hops)
  3. BeautifulSoup-Parsing des HTML-Body
  4. 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 / NIEDRIG
  • cves: Liste relevanter CVE-IDs
  • attack_surface: Kurzbeschreibung des Risikos
  • recommendation: 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:

  1. recon.sh bgv.de → Subdomain-Liste
  2. web_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 reachable markiert und übersprungen
  • HTML-Report ist standalone (kein Internet nötig) und kann archiviert werden