B0bTheSkull/phishkit-analyzer

GitHub: B0bTheSkull/phishkit-analyzer

静态分析钓鱼页面 HTML 文件,快速识别已知钓鱼工具包指纹、凭据窃取表单与品牌冒充,提取可直接导入拦截列表或 SIEM 的 IOC 指标。

Stars: 0 | Forks: 0

# PhishKit Analyzer ![Python](https://img.shields.io/badge/python-3.10%2B-blue?style=flat-square&logo=python) ![License](https://img.shields.io/badge/license-MIT-green?style=flat-square) ![Status](https://img.shields.io/badge/status-alpha-orange?style=flat-square) ## 功能简介 你收到了来自用户的一封钓鱼举报——他们转发了一个可疑页面,或者粘贴了一个 URL。PhishKit Analyzer 接收一个已保存的 HTML 文件(或者,在明确选择启用的情况下,抓取一个 URL),并告诉你当前面对的是否是一个钓鱼工具包、为什么是,以及有哪些 IOCs 可以导入到你的 SIEM 或拦截列表中。 **检测类别:** - **凭据窃取表单** — 包含密码输入框的 `
`,特别是当其跨域提交时 - **工具包指纹** — 来自公开记录的工具包的已知签名(16shop、Storm-1567、BulletProofLink,以及常见的 Telegram/Discord 数据外发模式) - **品牌冒充** — 页面标题提及了某个主要品牌(Microsoft、Google 等),但其域名却并非如此 - **隐藏的 iframe** — 常见的工具包伪装技术 - **混淆的 JavaScript** — `eval(atob(...))` 及类似模式 - **内嵌的 IOCs** — 从文档中提取 URL、IP 和域名,用于生成可直接用于拦截列表的输出 - **WHOIS 查询**(可选) — 标记新注册的域名 ## 安装 ``` git clone https://github.com/B0bTheSkull/phishkit-analyzer.git cd phishkit-analyzer pip install -e . ``` ## 用法 ### 分析已保存的 HTML 文件 ``` phishkit --file phishing-sample.html --page-url https://login.suspicious.example.com/ ``` ### 分析标准输入 ``` curl -s https://login.suspicious.example.com/ | phishkit --file - --page-url https://login.suspicious.example.com/ ``` ### 抓取 URL(需选择启用 — 为确保安全默认会拒绝) ``` phishkit --url https://login.suspicious.example.com/ --fetch ``` ### 用于 SIEM/SOAR pipeline 的 JSON 输出 ``` phishkit --file sample.html --page-url https://attacker.tld/ --json ``` ### 添加 WHOIS 查询 ``` phishkit --file sample.html --page-url https://attacker.tld/ --whois ``` ## 示例输出 ``` Source: examples/samples/phish_template.html Title: Microsoft — Account Sign In Domain: example-attacker.tld Score: 100/100 (HIGH) Brands: microsoft Risk factors: + 50 kit_fingerprint:16shop_marker 16shop kit string + 25 kit_fingerprint:obfuscated_eval eval() of decoded payload — typical kit obfuscation + 45 kit_fingerprint:telegram_exfil Telegram bot used for credential exfiltration + 15 kit_fingerprint:redirect_to_legit redirect to legit brand domain after capture + 10 credential_form_present form contains password input (1 field(s)) + 25 credential_form_external_post password POSTed to external host: collect.example-attacker.tld + 15 hidden_iframe hidden iframe src=https://example-attacker.tld/admin/panel.php + 30 brand_in_title_not_domain page title references 'microsoft' but the page domain (example-attacker.tld) does not URLs (3): https://collect.example-attacker.tld/grab.php https://example-attacker.tld/admin/panel.php https://www.microsoft.com/ ``` ## 为什么开发这个工具 当我在进行 CTF 或桌面推演时,一旦面前出现了一个钓鱼样本,我希望能快速了解三件事: 1. 它是工具包生成的,还是手工编写的? 2. 凭据被发送到了哪里? 3. 我现在立刻需要将哪些 URL/IP/域名添加到拦截列表中? PhishKit Analyzer 只需一条命令就能给出这三个答案。它并*不*试图成为一个恶意软件沙箱、一个 JavaScript 反混淆器或一个全功能的 URL 爬虫——每个领域都有更好的工具。它等同于一个五分钟的初步分类,告诉你该样本是否值得进一步深入研究。 它还可以与 [ThreatPulse](https://github.com/B0bTheSkull/threatpulse) 配合使用——提取出的 IOCs 可以直接格式化并放入 ThreatPulse 的查询 pipeline 中。 ## 安全提示 - **`--url` 需要带上 `--fetch` 作为明确的确认。** 钓鱼页面即使在程序化抓取时也可能通过驱动式下载释放恶意载荷。默认行为是拒绝抓取;你必须在每次调用时手动选择启用。 - 抓取器禁用了重定向跟随,设置了 10 秒超时,并且绝不执行 JavaScript。 - 如果你需要最大程度的隔离,请在一次性的 VM/container 中运行。 ## 路线图 - [ ] 从社区维护的 YAML 数据源(例如 `phishing-database`)拉取并更新工具包指纹 - [ ] 在页面域名本身(而不仅仅是标题)上使用基于 Levenshtein 距离的仿冒域名检测 - [ ] 针对页面域名的可选证书透明度查询 - [ ] 用于 GitHub 代码扫描集成的 SARIF 输出 - [ ] 批量模式:读取 URL/文件列表,每行输出一份报告 ## 许可证 MIT — 参见 [LICENSE](LICENSE)
标签:16shop, DAST, Discord数据外发, DNS 反向解析, Homebrew安装, HTML分析, IOC提取, IP 地址批量处理, Python, SIEM集成, SOAR集成, Storm-1567, Telegram数据外发, WHOIS查询, 云安全监控, 协议探测, 品牌伪造, 失陷标示, 威胁情报, 开发者工具, 恶意软件分析, 攻击防御, 无后门, 网络安全, 网络欺诈, 逆向工具, 钓鱼工具包分析, 钓鱼检测, 隐私保护, 静态分析