Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
svg_phishing_tools — SVG 分析与生成工具,用于常见的 SVG 附件钓鱼 | Kitploit
工具/GitHubGitHub/hackinglz/svg_phishing_tools
侦察静态分析动态分析 (沙盒)信息收集钓鱼攻击Web安全恶意软件分析威胁情报
GitHubhackinglz/svg_phishing_tools

svg_phishing_tools

SVG 分析与生成工具,用于常见的 SVG 附件钓鱼

查看仓库
57710个月前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

SVG 安全分析工具包 - 工具文档

本工具包包含用于分析潜在恶意 SVG 文件并检测安全机制的专用 Python 工具。

概述

该工具包由四个主要工具组成:

  1. extract.py - 用于混淆 URL 提取的静态分析
  2. extract_dynamic.py - 使用 box-js 进行 JavaScript 执行的动态分析
  3. cf_probe.py - Cloudflare 防护检测(Turnstile、CAPTCHA 等)
  4. encoder.py - 用于创建混淆 SVG 样本的测试用例生成器

工具 #1:extract.py - 静态 SVG URL 提取器

用途

一种基于模式的静态分析工具,无需执行任何代码即可从恶意 SVG 文件中解码混淆的 URL。这是进行初步分析时更安全的选择。

主要特性

  • XOR 解码:自动检测并解码 XOR 加密的负载
  • 字符运算:通过数值计算解码 String.fromCharCode 模式
  • Base64 提取:查找并解码 Base64 编码的 URL
  • 邮箱检测:识别用于 URL 拼接的邮箱地址
  • 多种混淆策略:处理各种反混淆技术

用法

root@kitploit:~
# 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

关键检测模式

  1. 密钥 XOR 模式:检测 String.fromCharCode(115,101,99,...)(“secretkey”)
  2. XOR 循环检测:识别包含 parseInt 和 XOR 运算的 for 循环
  3. Data URI 脚本:从 data: URI 中提取并解码 Base64 内容
  4. 嵌套 atob() + 变量:处理 atob("base64") + variableName 模式

依赖项

  • Python 3.6+(仅使用标准库)

示例输出

root@kitploit:~
DYNAMIC SVG URL EXTRACTOR
=========================================================
SVG #1 Results:
----------------------------------------
Obfuscation: XOR decoding (key length: 9)
Extracted URLs:
  → https://malicious.example.com/[email protected]

工具 #2:extract_dynamic.py - 动态 SVG JavaScript 分析器

用途

一款复杂的动态分析工具,使用 box-js 提取并分析 SVG 文件中嵌入的 JavaScript。该工具会在沙箱环境中执行 JavaScript,旨在提取最终完整的 URL,即使这些 URL 是通过复杂混淆构建而成。

主要特性

  • JavaScript 执行:使用 box-js 安全执行 SVG 脚本
  • 高级 Hook 系统:300 多行 JavaScript 载荷,具备全面监控能力
  • URL 构建追踪:捕获通过字符串拼接动态构建的 URL
  • 最终 URL 优先级:区分完整 URL 与部分组件
  • ActiveX/WScript 监控:专门的 Windows 脚本对象检测
  • 多种 Sink 检测:监控 location、window.open、fetch、XHR、Image.src 等

依赖项

root@kitploit:~
# Required: box-js must be installed globally
npm install -g box-js

# Python requirements (optional)
pip install -r requirements.txt

用法

root@kitploit:~
# 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

高级特性

Hook 系统(PRELUDE_JS)

该工具注入一段全面的 JavaScript 载荷,用于 Hook:

  • Location 操作:location.href、location.assign()、location.replace()
  • Window 方法:window.open()、导航方法
  • HTTP 请求:fetch()、XMLHttpRequest.open()
  • 字符串操作:String.prototype.concat、字符串处理
  • 解码器:atob()、decodeURI()、unescape()
  • 动态执行:eval()、Function()、setTimeout()

模式识别

自动检测并处理:

  • 简单的十六进制解码模式
  • 十六进制编码的动态执行
  • XOR + 动态 eval 构造
  • 字符映射 + find() 执行
  • 算术字符代码模式
  • 常见混淆技术

示例输出

root@kitploit:~
=== 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]
======================================================

工具 #3:cf_probe.py - Cloudflare 防护检测

用途

一款网络侦察工具,用于检测 Cloudflare 安全机制,包括跨重定向链的 Turnstile、CAPTCHA 系统、浏览器验证及其他防护措施。

主要特性

  • 重定向链追踪:自动跟随 HTTP 重定向和 meta-refresh 重定向
  • 多种检测模式:通过多种方法检测 Turnstile
  • JavaScript 文件扫描:分析关联的 JS 文件以获取额外的 sitekey
  • 压缩支持:处理 gzip、deflate 和 brotli 压缩
  • 全面防护检测:识别多种 Cloudflare 防护类型

依赖项

root@kitploit:~
pip install requests
pip install brotli  # Optional for brotli support

用法

root@kitploit:~
# 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/

检测能力

Turnstile 检测

  • data-sitekey 属性
  • turnstile.render() JavaScript 调用
  • turnstile.create() JavaScript 调用
  • Turnstile API 脚本引用
  • cf-turnstile CSS 类

其他 Cloudflare 防护

  • 自定义 CAPTCHA 系统
  • 浏览器验证页面
  • CF 挑战容器
  • CF 标头(CF-Ray、服务器标头)
  • DDoS 防护消息

示例输出

root@kitploit:~
=== 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

工具 #4:encoder.py - SVG 测试用例生成器

用途

生成带有各种编码模式的混淆 SVG 文件,用于测试分析工具。

主要特性

  • 多种混淆模式:6 种不同的编码技术
  • 动态可变性:随机化的变量名、结构和编码参数
  • 真实测试数据:生成随机域名和邮箱地址
  • 批量生成:可创建完整的测试套件

用法

root@kitploit:~
# 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

混淆模式

  1. XOR + Proxy 模式:增强型 XOR 编码,使用 ES6 Proxy 执行
  2. Hex 函数模式:通过 Function 构造函数进行十六进制编码的动态执行
  3. 对象键模式:使用对象属性进行 XOR + 动态 eval 构造
  4. 字符映射模式:使用 Array.find() 执行的字符映射
  5. 算术模式:算术字符代码求值
  6. Data URI 模式:data URI 中的 Base64 编码脚本

示例输出

root@kitploit:~
$ 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 ...]

测试工作流

推荐分析工作流:

root@kitploit:~
# 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

安装

root@kitploit:~
# 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
下载工具