Scripts: build_phase3.py + vuln_check.py (auto-generiert)
Pfad: /home/andre/Claude/Hacking/bgv_de/phase3_vuln_check/
Phase: 3 – CVE Presence Detection (passiv, kein Exploit)
Phase 3 besteht aus zwei Schritten:
build_phase3.py liest die Phase-2-Findings, extrahiert alle CVEs und lässt Claude zielspezifische Probe-Funktionen generieren → schreibt vuln_check.pyvuln_check.py (auto-generiert) führt die Probes aus und erstellt einen Vulnerability-ReportDer Ansatz ist rein passiv: HTTP-Anfragen auf bekannte vulnerable Endpunkte, keine Authentifizierung, keine Payload-Ausführung. Ziel ist die Feststellung ob ein verwundbarer Endpunkt erreichbar ist (Presence Detection).
build_phase3.py ist der Builder – er wird einmalig pro Ziel ausgeführt und erzeugt den
zielspezifischen Scanner vuln_check.py.
web_recon.json)CVE-YYYY-NNNNN via Regex aus Rohtexten)~/nuclei-templates/cves/)vuln_check.py aus Template + generierten Funktionen zusammenbauencd /home/andre/Claude/Hacking/bgv_de/phase3_vuln_check python3 build_phase3.py \ --web-recon ../../phase2_web_recon/web_recon.json \ --domain bgv.de
| Parameter | Beschreibung |
|---|---|
--web-recon FILE | JSON-Output von web_recon.py (Phase 2) |
--domain DOMAIN | Zieldomain (für Report-Benennung und Probe-Kontext) |
--output FILE | Ziel für generierten Scanner (Standard: vuln_check.py) |
Für jede Produktgruppe wird ein Batch-Prompt an Claude gesendet:
{„status“: „CONFIRMED“|„LIKELY“|„NOT_VULNERABLE“, „evidence“: „…“}Beispiel Probe-Funktion (CVE-2023-3519, Citrix NetScaler):
def probe_CVE_2023_3519(host, session): url = f"https://{host}/logon/LogonPoint/tmindex.html" try: r = session.get(url, timeout=10, verify=False) if r.status_code == 200 and "Citrix" in r.text: return {"status": "CONFIRMED", "evidence": f"HTTP {r.status_code}, Citrix-Page gefunden"} except Exception as e: return {"status": "ERROR", "evidence": str(e)} return {"status": "NOT_VULNERABLE", "evidence": f"HTTP {r.status_code}"}
Der auto-generierte Scanner – zielspezifisch, enthält alle Probe-Funktionen für die in Phase 2 identifizierten CVEs des Ziels.
python3 /home/andre/Claude/Hacking/bgv_de/phase3_vuln_check/vuln_check.py
Keine Parameter nötig – Zieldomain, Hosts und CVE-Liste sind eingebettet.
globals() automatisch registriert| Status | Bedeutung |
|---|---|
CONFIRMED | Verwundbarer Endpunkt antwortet mit erwartetem Fingerprint |
LIKELY | Schwaches Indiz (z.B. HTTP 403 auf bekannte CVE-URL – könnte gesichert oder anfällig sein) |
NOT_VULNERABLE | Endpunkt nicht erreichbar oder kein Fingerprint |
ERROR | Netzwerkfehler, Timeout |
Reports unter /home/andre/Claude/Hacking/bgv_de/phase3_vuln_check/reports/<domain>_<ts>/:
| Datei | Beschreibung |
|---|---|
vuln_check.json | Vollständige Probe-Ergebnisse, wird von Phase 4 eingelesen |
maltego_vuln.csv | Maltego-Import: CVE-Nodes + Host-Nodes mit Verwundbarkeits-Labels |
vuln_check.pdf | PDF-Report: Executive Summary, Findings-Tabelle, Patch-Empfehlungen |
| Entity-Typ | Inhalt |
|---|---|
maltego.DNSName | Verwundbare Hosts (Label: [VULN] hostname) |
maltego.Phrase | CVE-Nodes (Label: CVE-YYYY-NNNNN – Beschreibung) |
maltego.Phrase | Status-Nodes: 🔴 CONFIRMED / 🟡 LIKELY |
maltego.URL | Verwundbare Endpunkte (direkte URL) |
Aus dem bgv.de-Scan (Phase 3, März 2026):
| CVE | Host | Status | CVSS |
|---|---|---|---|
| CVE-2023-3519 | auth.bgv.de | CONFIRMED | 9.8 |
| CVE-2023-3519 | citrix.bgv.de | CONFIRMED | 9.8 |
| CVE-2023-3519 | icisplus-mobile.bgv.de | CONFIRMED | 9.8 |
| CVE-2023-3519 | login.bgv.de | CONFIRMED | 9.8 |
| CVE-2023-3519 | vpn.bgv.de | CONFIRMED | 9.8 |
| CVE-2022-27518 | icisplus-mobile.bgv.de | LIKELY | 9.8 |
| CVE-2024-29943 | vpn-gw1.bgv.de | LIKELY | 9.8 |
Führe Phase 3 (Vulnerability Assessment) für bgv.de durch – lies die Phase-2-Ergebnisse, generiere den Scanner und führe ihn aus.
Claude erledigt dann:
build_phase3.py ausführen → vuln_check.py erzeugenvuln_check.py ausführen → Reports generierenPhase 2 (web_recon.py) → web_recon.json (CVEs, KRITISCH-Hosts)
↓
Phase 3 (build_phase3.py) → vuln_check.py (zielspezifischer CVE-Scanner)
(vuln_check.py) → vuln_check.json (CONFIRMED/LIKELY-Findings)
↓
Phase 4 (build_phase4.py) → Exploit-Dokumentation, Angriffsketten, MSF-Configs
vuln_check.py ist zielspezifisch – für ein neues Ziel immer build_phase3.py neu ausführen~/nuclei-templates/cves/ vorhanden