
Инструменты анализа и генерации SVG для часто встречающегося фишинга с SVG-вложениями
Этот набор инструментов содержит специализированные Python-инструменты для анализа потенциально вредоносных SVG-файлов и обнаружения механизмов защиты.
Набор состоит из четырёх основных инструментов:
Инструмент статического анализа на основе сигнатур, который декодирует обфусцированные URL из вредоносных SVG-файлов без выполнения какого-либо кода. Это более безопасный вариант для первичного анализа.
String.fromCharCode с числовыми вычислениями# 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 с parseInt и операциями XORdata:atob("base64") + variableNameDYNAMIC SVG URL EXTRACTOR
=========================================================
SVG #1 Results:
----------------------------------------
Obfuscation: XOR decoding (key length: 9)
Extracted URLs:
→ https://malicious.example.com/[email protected]
Сложный инструмент динамического анализа, который извлекает и анализирует JavaScript, встроенный в SVG-файлы, с помощью box-js. Этот инструмент выполняет JavaScript в изолированной среде и предназначен для извлечения конечных полных URL даже при сложной обфускации.
location, window.open, fetch, XHR, Image.src и др.# 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
Инструмент внедряет комплексную JavaScript-полезную нагрузку, которая перехватывает:
location.href, location.assign(), location.replace()window.open(), методы навигацииfetch(), XMLHttpRequest.open()String.prototype.concat, манипуляции со строкамиatob(), decodeURI(), unescape()eval(), Function(), setTimeout()Автоматически обнаруживает и обрабатывает:
=== 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]
======================================================
Инструмент веб-разведки для обнаружения механизмов безопасности Cloudflare, включая Turnstile, системы CAPTCHA, проверку браузера и другие меры защиты в цепочках перенаправлений.
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
[1] URL: https://protected.example.com
Status: 200
Cloudflare Protection: YES (Turnstile, Custom CAPTCHA)
Turnstile Site key(s): 0x1AAA000000000000000
CAPTCHA Evidence: Click the computer to verify