
Herramientas de análisis y generación de SVG para el phishing mediante adjuntos SVG habituales
Este kit de herramientas contiene herramientas Python especializadas para analizar archivos SVG potencialmente maliciosos y detectar mecanismos de seguridad.
El kit consta de cuatro herramientas principales:
Una herramienta de análisis estático basada en patrones que decodifica URLs ofuscadas de archivos SVG maliciosos sin ejecutar ningún código. Esta es la opción más segura para el análisis inicial.
String.fromCharCode con cálculos numéricos# 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 con operaciones parseInt y XORdata:atob("base64") + variableNameDYNAMIC SVG URL EXTRACTOR
=========================================================
SVG #1 Results:
----------------------------------------
Obfuscation: XOR decoding (key length: 9)
Extracted URLs:
→ https://malicious.example.com/[email protected]
Una herramienta de análisis dinámico sofisticada que extrae y analiza JavaScript incrustado en archivos SVG mediante box-js. Esta herramienta ejecuta JavaScript en un entorno de sandbox y está diseñada para extraer URLs finales y completas incluso cuando se construyen mediante ofuscación compleja.
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
La herramienta inyecta una carga útil integral de JavaScript que intercepta:
location.href, location.assign(), location.replace()window.open(), métodos de navegaciónfetch(), XMLHttpRequest.open()String.prototype.concat, manipulación de cadenasatob(), decodeURI(), unescape()eval(), Function(), setTimeout()Detecta y gestiona automáticamente:
=== 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]
======================================================
Una herramienta de reconocimiento web para detectar mecanismos de seguridad de Cloudflare, incluidos Turnstile, sistemas CAPTCHA, verificación de navegador y otras medidas de protección a lo largo de cadenas de redirección.
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