
आमतौर पर देखे जाने वाले SVG अटैचमेंट फ़िशिंग के लिए SVG विश्लेषण और जनरेशन उपकरण
इस टूलकिट में संभावित रूप से दुर्भावनापूर्ण SVG फ़ाइलों का विश्लेषण करने और सुरक्षा तंत्रों का पता लगाने के लिए विशेष Python उपकरण शामिल हैं।
टूलकिट में चार मुख्य उपकरण शामिल हैं:
एक पैटर्न-आधारित स्थैतिक विश्लेषण उपकरण जो बिना किसी कोड को निष्पादित किए दुर्भावनापूर्ण SVG फ़ाइलों से ऑब्फस्केटेड URL डिकोड करता है। यह प्रारंभिक विश्लेषण के लिए अधिक सुरक्षित विकल्प है।
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") का पता लगाता हैparseInt और XOR ऑपरेशन वाले for लूप की पहचान करता हैdata: URI से Base64 सामग्री निकालता और डिकोड करता हैatob("base64") + variableName पैटर्न को संभालता हैDYNAMIC SVG URL EXTRACTOR
=========================================================
SVG #1 Results:
----------------------------------------
Obfuscation: XOR decoding (key length: 9)
Extracted URLs:
→ https://malicious.example.com/[email protected]
एक परिष्कृत गतिशील विश्लेषण उपकरण जो box-js का उपयोग करके SVG फ़ाइलों में एम्बेडेड JavaScript को निकालता और उसका विश्लेषण करता है। यह उपकरण 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-sitekey विशेषताएँturnstile.render() JavaScript कॉलturnstile.create() JavaScript कॉलcf-turnstile CSS क्लास=== 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
=== Summary ===
Cloudflare Protection Detected: Turnstile with key(s): 0x1AAA000000000000000 | Custom CAPTCHA
विश्लेषण उपकरणों के परीक्षण के लिए विभिन्न एन्कोडिंग पैटर्न के साथ ऑब्फस्केटेड SVG फ़ाइलें उत्पन्न करता है।
# Generate single pattern
python3 encoder.py -u "https://evil.com/c2" -p 1 -o test.svg
# Generate all patterns in directory
python3 encoder.py --random-all -o test_patterns/
# Custom email address
python3 encoder.py -u "https://evil.com" -e "[email protected]" -p 3 -o custom.svg
Function कंस्ट्रक्टर के माध्यम से हेक्स-एन्कोडेड गतिशील निष्पादनArray.find() निष्पादन के साथ कैरेक्टर मैपिंग$ python3 encoder.py --random-all -o test_suite/
Generated xor_proxy_enhanced: test_suite/pattern_01_xor_proxy_enhanced.svg
URL: https://r4nd0m.example.com/[email protected]
Generated hex_function: test_suite/pattern_02_hex_function.svg
URL: https://evil-site.org/[email protected]
[... 4 more patterns ...]
# Step 1: Generate test cases
python3 encoder.py --random-all -o test_cases/
# Step 2: Static analysis first (safer)
python3 extract.py -i test_cases/pattern_01_*.svg -v > static_results.txt
# Step 3: Dynamic analysis (in isolated environment)
python3 extract_dynamic.py -i test_cases/ -o dynamic_results/ --blocklist-out malicious_urls.txt
# Step 4: Verify Cloudflare protection on extracted URLs (if safe to do so)
python3 cf_probe.py -i malicious_urls.txt
# Clone or download the toolkit
cd svg_tools/
# Install Python dependencies
pip install -r requirements.txt
# Install box-js globally (for dynamic analysis)
npm install -g box-js
# Verify installation
python3 extract.py --help
python3 extract_dynamic.py --help
python3 cf_probe.py --help
python3 encoder.py --help