abhiiibabariya-dev/phishing-analyzer

GitHub: abhiiibabariya-dev/phishing-analyzer

这是一个基于Python标准库的自动化钓鱼邮件分析工具,能够解析EML文件、检测威胁指标并提取IOC。

Stars: 0 | Forks: 0

Phishing Email Analyzer

自动化钓鱼邮件分析 —— 解析 .eml 文件,检测指标,提取 IOC,生成报告

## 功能简介 一款专供 SOC 分析师使用的 CLI 工具,用于分析可疑邮件中的钓鱼指标: 1. **解析** .eml 文件(邮件头、正文、附件) 2. **检查** 跨 7 个类别的 15+ 项钓鱼指标 3. **提取** IOC(URL、IP、文件哈希、电子邮件) 4. **评分** 该邮件并给出判定结论 5. **生成** 结构化的事件响应报告 零外部依赖 —— 仅使用 Python 标准库。 ## 检测项 | 类别 | 检测项 | |----------|--------| | **发件人** | 显示名欺骗、品牌冒充、免费邮箱 + 企业名称、Reply-To 不匹配 | | **身份验证** | SPF 失败、DKIM 失败、DMARC 失败 | | **主题** | 紧急关键词、伪造的 RE:/FW: 邮件串 | | **正文** | 施压语言密度、隐藏文本(CSS 技巧) | | **URLs** | 可疑 TLD、基于 IP 的 URL、子域中包含品牌名、链接文本与 href 不匹配、过多的子域 | | **附件** | 危险扩展名(.exe、.ps1、.docm 等)、双重扩展名 | | **邮件头** | 接收链路短、邮件头异常 | ## 快速开始 ``` # 安装 git clone https://github.com/abhiiibabariya-dev/phishing-analyzer.git cd phishing-analyzer # 分析钓鱼邮件 python -m phishing_analyzer.cli samples/sample_phishing.eml # JSON 输出 python -m phishing_analyzer.cli samples/sample_phishing.eml -f json # 仅提取 IOCs python -m phishing_analyzer.cli samples/sample_phishing.eml --iocs-only # 保存报告 python -m phishing_analyzer.cli samples/sample_phishing.eml -o report.txt ``` ## 示例输出 ``` ====================================================================== PHISHING EMAIL ANALYSIS REPORT Generated: 2026-04-08 12:00:00 UTC ====================================================================== [!!!] VERDICT: PHISHING (Score: 85/100) ---------------------------------------------------------------------- EMAIL OVERVIEW ---------------------------------------------------------------------- From: Microsoft Security Team To: victim@company.com Subject: [URGENT] Your Microsoft Account Has Been Compromised Reply-To: recovery@free-email-provider.com SPF: fail DKIM: fail DMARC: fail ---------------------------------------------------------------------- FINDINGS (8 indicators) ---------------------------------------------------------------------- *** [CRITICAL] DMARC authentication failed Category: Authentication Evidence: DMARC result: fail Score: +25 ** [HIGH] Display name impersonates microsoft but email domain doesn't match Category: Sender Evidence: Display: Microsoft Security Team | Email: security-alert@msft-verify.xyz Score: +25 ** [HIGH] Hidden text detected in HTML body Category: Body Evidence: Pattern: display:\s*none Score: +20 ``` ## 判定结论 | 分数 | 结论 | 含义 | |-------|---------|---------| | 80+ | `PHISHING` | 存在强烈的钓鱼指标 | | 50-79 | `SUSPICIOUS` | 多项危险信号 | | 20-49 | `POTENTIALLY_SUSPICIOUS` | 存在部分指标 | | 0-19 | `LIKELY_CLEAN` | 无显著指标 | ## 项目结构 ``` phishing-analyzer/ ├── phishing_analyzer/ │ ├── __init__.py │ ├── parser.py # .eml file parser │ ├── analyzer.py # Phishing detection engine (15+ checks) │ ├── reporter.py # Report generator (text/JSON) │ └── cli.py # Command-line interface ├── samples/ │ └── sample_phishing.eml # Example phishing email ├── tests/ │ └── test_analyzer.py # Unit tests ├── setup.py └── README.md ``` ## 运行测试 ``` pip install pytest pytest tests/ -v ``` ## 许可证 MIT License - 详见 [LICENSE](LICENSE)。
标签:AMSI绕过, DKIM, DMARC, DNS枚举, EML文件, ESC8, IOC提取, Python, SPF, URL分析, 威胁检测, 安全报告生成, 库, 应急响应, 文档结构分析, 无后门, 社会工程学, 网络安全, 网络安全工具, 自动化分析, 跨站脚本, 逆向工具, 邮件解析, 钓鱼邮件分析, 附件检测, 隐私保护, 零依赖