
Outils d'analyse et de génération SVG pour le phishing par pièces jointes SVG couramment rencontré
Cette boîte à outils contient des outils Python spécialisés pour analyser les fichiers SVG potentiellement malveillants et détecter les mécanismes de sécurité.
La boîte à outils comprend quatre outils principaux :
Un outil d'analyse statique basé sur des motifs qui décode les URL obfusquées à partir de fichiers SVG malveillants sans exécuter aucun code. C'est l'option la plus sûre pour l'analyse initiale.
String.fromCharCode avec des calculs numériques# Analyze a single SVG file
python3 extract.py -i malicious.svg
# Verbose output showing decoded JavaScript
python3 extract.py -i malicious.svg -v
# Debug mode with detailed analysis steps
python3 extract.py -i malicious.svg -d
# Read from stdin
python3 extract.py < malicious.svg
String.fromCharCode(115,101,99,...) (« secretkey »)for avec parseInt et des opérations XORdata:atob("base64") + variableNameDYNAMIC SVG URL EXTRACTOR
=========================================================
SVG #1 Results:
----------------------------------------
Obfuscation: XOR decoding (key length: 9)
Extracted URLs:
→ https://malicious.example.com/[email protected]
Un outil d'analyse dynamique sophistiqué qui extrait et analyse le JavaScript intégré dans les fichiers SVG à l'aide de box-js. Cet outil exécute le JavaScript dans un environnement sandbox et est conçu pour extraire les URL finales complètes même lorsqu'elles sont construites par une obfuscation complexe.
location, window.open, fetch, XHR, Image.src, etc.# Required: box-js must be installed globally
npm install -g box-js
# Python requirements (optional)
pip install -r requirements.txt
# Basic analysis of a single SVG
python3 extract_dynamic.py -i malicious.svg
# Analyze with custom output directory
python3 extract_dynamic.py -i malicious.svg -o analysis_results
# Analyze directory of SVGs with extended timeout
python3 extract_dynamic.py -i svg_samples/ -t 60
# Keep temporary files for debugging
python3 extract_dynamic.py -i malicious.svg --keep-temp
# Save URL blocklist to file
python3 extract_dynamic.py -i malicious.svg --blocklist-out urls.txt
# Mask email addresses for privacy
python3 extract_dynamic.py -i malicious.svg --mask-emails
L'outil injecte une charge utile JavaScript complète qui intercepte :
location.href, location.assign(), location.replace()window.open(), méthodes de navigationfetch(), XMLHttpRequest.open()String.prototype.concat, manipulation de chaînesatob(), decodeURI(), unescape()eval(), Function(), setTimeout()Détecte et gère automatiquement :
=== Processing: malicious.svg ===
Wrote temp JS -> /tmp/boxjs_svg_ABC/test.boxed.js
Running box-js (timeout 30s) with sink hooks...
[+] box-js finished. Results in: boxjs_out/malicious.svg.boxjs_results
*** FINAL COMPLETE URLs FOUND ***:
→ https://evil.example.com/[email protected]
Emails found:
→ [email protected]
=== FINAL ANALYSIS SUMMARY ===
🎯 COMPLETE URLs EXTRACTED (1 total):
======================================================
→ https://evil.example.com/[email protected]
======================================================
Un outil de reconnaissance web pour détecter les mécanismes de sécurité Cloudflare, notamment Turnstile, les systèmes CAPTCHA, la vérification du navigateur et d'autres mesures de protection sur les chaînes de redirection.
pip install requests
pip install brotli # Optional for brotli support
# Check single URL for Cloudflare protections
python3 cf_probe.py https://example.com
# Scan with JavaScript file analysis
python3 cf_probe.py https://example.com --scan-js
# Process multiple URLs from file
python3 cf_probe.py -i urls.txt
# Custom User-Agent and timeout
python3 cf_probe.py https://example.com -A "Custom-Agent" -t 30
# Disable TLS verification (for testing)
python3 cf_probe.py https://example.com --insecure
# Dump HTML/JS for analysis
python3 cf_probe.py https://example.com --dump analysis_dump/
data-sitekeyturnstile.render()turnstile.create()cf-turnstile=== Redirect/Navigation Chain (3 steps) ===
[0] URL: https://example.com
Status: 301
Cloudflare Protection: YES (CF Headers)
CF Header: cf-ray: 123abc456def789