
SVG-Analyse- und Generierungswerkzeuge für häufig vorkommendes SVG-Anhang-Phishing
Dieses Toolkit enthält spezialisierte Python-Tools zur Analyse potenziell bösartiger SVG-Dateien und zur Erkennung von Sicherheitsmechanismen.
Das Toolkit besteht aus vier Haupttools:
Ein musterbasiertes statisches Analysetool, das verschleierte URLs aus bösartigen SVG-Dateien dekodiert, ohne Code auszuführen. Dies ist die sicherere Option für die erste Analyse.
String.fromCharCode-Muster mit numerischen Berechnungen# Analysiere eine einzelne SVG-Datei
python3 extract.py -i malicious.svg
# Ausführliche Ausgabe mit dekodiertem JavaScript
python3 extract.py -i malicious.svg -v
# Debug-Modus mit detaillierten Analyseschritten
python3 extract.py -i malicious.svg -d
# Von stdin lesen
python3 extract.py < malicious.svg
String.fromCharCode(115,101,99,...) („secretkey")for-Schleifen mit parseInt und XOR-Operationendata:-URIsatob("base64") + variableNameDYNAMISCHER SVG-URL-EXTRAKTOR
=========================================================
Ergebnisse von SVG #1:
----------------------------------------
Verschleierung: XOR-Dekodierung (Schlüssellänge: 9)
Extrahierte URLs:
→ https://malicious.example.com/[email protected]
Ein ausgefeiltes dynamisches Analysetool, das mit box-js in SVG-Dateien eingebettetes JavaScript extrahiert und analysiert. Dieses Tool führt JavaScript in einer Sandbox-Umgebung aus und wurde entwickelt, um endgültige, vollständige URLs zu extrahieren, selbst wenn diese durch komplexe Verschleierung erstellt wurden.
location, window.open, fetch, XHR, Image.src usw.# Erforderlich: box-js muss global installiert sein
npm install -g box-js
# Python-Anforderungen (optional)
pip install -r requirements.txt
# Grundlegende Analyse einer einzelnen SVG
python3 extract_dynamic.py -i malicious.svg
# Analyse mit benutzerdefiniertem Ausgabeverzeichnis
python3 extract_dynamic.py -i malicious.svg -o analysis_results
# Verzeichnis von SVGs mit erweitertem Timeout analysieren
python3 extract_dynamic.py -i svg_samples/ -t 60
# Temporäre Dateien zum Debuggen behalten
python3 extract_dynamic.py -i malicious.svg --keep-temp
# URL-Blockliste in Datei speichern
python3 extract_dynamic.py -i malicious.svg --blocklist-out urls.txt
# E-Mail-Adressen aus Datenschutzgründen maskieren
python3 extract_dynamic.py -i malicious.svg --mask-emails
Das Tool injiziert ein umfassendes JavaScript-Payload, das Folgendes abfängt (hookt):
location.href, location.assign(), location.replace()window.open(), Navigationsmethodenfetch(), XMLHttpRequest.open()String.prototype.concat, Zeichenfolgenmanipulationatob(), decodeURI(), unescape()eval(), Function(), setTimeout()Erkennt und behandelt automatisch:
=== Verarbeite: malicious.svg ===
Temporäres JS geschrieben -> /tmp/boxjs_svg_ABC/test.boxed.js
Führe box-js aus (Timeout 30s) mit Senken-Hooks...
[+] box-js abgeschlossen. Ergebnisse in: boxjs_out/malicious.svg.boxjs_results
*** ENDGÜLTIGE VOLLSTÄNDIGE URLs GEFUNDEN ***:
→ https://evil.example.com/[email protected]
Gefundene E-Mails:
→ [email protected]
=== ZUSAMMENFASSUNG DER ANALYSE ===
🎯 VOLLSTÄNDIGE URLs EXTRAHIERT (insgesamt 1):
======================================================
→ https://evil.example.com/[email protected]
======================================================
Ein Web-Erkundungstool zur Erkennung von Cloudflare-Sicherheitsmechanismen, einschließlich Turnstile, CAPTCHA-Systemen, Browser-Verifikation und anderen Schutzmaßnahmen entlang von Weiterleitungsketten.
pip install requests
pip install brotli # Optional für brotli-Unterstützung
# Einzelne URL auf Cloudflare-Schutz prüfen
python3 cf_probe.py https://example.com
# Scan mit JavaScript-Dateianalyse
python3 cf_probe.py https://example.com --scan-js
# Mehrere URLs aus Datei verarbeiten
python3 cf_probe.py -i urls.txt
# Benutzerdefinierter User-Agent und Timeout
python3 cf_probe.py https://example.com -A "Custom-Agent" -t 30
# TLS-Verifizierung deaktivieren (für Tests)
python3 cf_probe.py https://example.com --insecure
# HTML/JS für Analyse sichern
python3 cf_probe.py https://example.com --dump analysis_dump/
data-sitekey-Attributeturnstile.render()-JavaScript-Aufrufeturnstile.create()-JavaScript-Aufrufecf-turnstile-CSS-Klassen=== Weiterleitungs-/Navigationskette (3 Schritte) ===
[0] URL: https://example.com
Status: 301
Cloudflare-Schutz: JA (CF-Header)
CF-Header: cf-ray: 123abc456def789
[1] URL: https://protected.example.com
Status: 200
Cloudflare-Schutz: JA (Turnstile, Benutzerdefiniertes CAPTCHA)
Turnstile-Sitekey(s): 0x1AAA000000000000000
CAPTCHA-Nachweis: Klicken Sie auf den Computer, um zu verifizieren