siddharth-mohanty/phishing_detector

GitHub: siddharth-mohanty/phishing_detector

基于Python的多模块钓鱼网站检测工具,通过静态分析和浏览器自动化技术提供0-100加权风险评分。

Stars: 0 | Forks: 0

# 🛡️ 统一钓鱼网站检测器 ## 📋 目录 - [功能特性](#-features) - [模块概览](#-module-overview) - [环境要求](#-requirements) - [安装说明](#-installation) - [使用方法](#-usage) - [输出示例](#-output-example) - [项目结构](#-project-structure) - [免责声明](#-disclaimer) - [贡献指南](#-contributing) - [许可证](#-license) ## ✨ 功能特性 - **11 个检测模块**,涵盖静态、网络和基于动态浏览器的分析 - **加权聚合评分** —— 每个模块共同贡献于单一的 0–100 钓鱼风险评分 - **两种扫描模式** —— 完整扫描(所有模块)或快速扫描(无浏览器自动化) - **ANSI 彩色终端输出**,带有每个模块的风险条 - **交互式模式调优器**,用于权限 API regex 模式 - **优雅降级** —— 如果未安装 Selenium/Playwright,浏览器模块将被干净地跳过 - **首次运行时自动安装缺失的 pip 包** ## 🔍 模块概览 | # | 模块 | 检查内容 | 需要浏览器 | |---|--------|---------------|-----------------| | 01 | SSL/TLS 证书分析器 | 证书有效性、密码强度、CA 信任、密钥大小、tunnel+DV 组合 | No | | 02 | URL 特征评分器 | 16 项特征的加权模型:品牌模糊匹配、熵、重定向、短链接 | No | | 03 | TLD / Token 检查器 | 主机名标签与 80 多个可疑 TLD/关键字 token 的对比 | No | | 04 | Unicode / 字符检查器 | 希腊字母相似符、货币符号、Punycode 解码 | No | | 05 | IP / WHOIS / ASN 分析器 | 反向 DNS、ASN 描述、国家/地区滥用率 | No | | 06 | Permission API 扫描器 | 摄像头、麦克风、地理位置、剪贴板、MIDI、DeviceOrientation API | Optional (Playwright) | | 07 | CAPTCHA / 登录检查器 | DOM CAPTCHA 检测、表单绕过尝试、受保护内容前后对比 | Yes (Playwright) | | 08 | 自动填充 / 隐藏表单扫描器 | BeautifulSoup + Selenium 隐藏字段和敏感自动填充检测 | Yes (Selenium) | | 09 | 虚假 CAPTCHA 验证器 | 提交错误的 CAPTCHA,检查网站是否接受 | Yes (Selenium) | | 10 | OTP 安全检查器 | 检测 OTP 字段,提交无效 OTP,捕获后端 API 调用 | Yes (seleniumwire) | | 11 | URL Scheme 检查器 | 标记 HTTP、FTP 或非标准 Scheme | No | ## ⚙️ 环境要求 ### 核心(必需) ``` Python 3.8+ requests beautifulsoup4 cryptography ipwhois lxml ``` ### 浏览器自动化(可选,用于模块 07–10) ``` selenium seleniumwire playwright Google Chrome + ChromeDriver (matching versions) ``` ## 🚀 安装说明 ### 1. 克隆仓库 ``` git clone https://github.com/siddharth-mohanty/phishing-detector.git cd phishing-detector ``` ### 2. 安装核心依赖 ``` pip install -r requirements.txt ``` ### 3. 安装浏览器依赖(可选,用于完整扫描) ``` pip install selenium seleniumwire playwright python -m playwright install chromium ``` ## 🖥️ 使用方法 ### 交互模式 ``` python phishing_detector.py ``` 你将被提示执行以下操作: 1. 输入要扫描的 URL 2. 选择扫描模式:**完整 (Full)**(所有 11 个模块)或 **快速 (Fast)**(仅静态,无浏览器) ### 扫描模式说明 | 模式 | 运行模块 | 预计时间 | |------|------------|--------------| | 完整扫描 (Full scan) | 所有 11 个 | 30–90 秒 | | 快速扫描 (Fast scan) | 模块 01–06, 11 | 5–15 秒 | ### 模式调优器(Permission 模块) 从扫描模式菜单中选择选项 `3`,可以在运行扫描之前为 Permission API Scanner 添加、删除或保存自定义 regex 模式。 ## 📊 输出示例 ``` ══════════════════════════════════════════════════════════════════════ UNIFIED PHISHING DETECTION REPORT Target : https://suspicious-paypa1-login.tk Scanned: 2025-06-01 14:32:10 UTC ══════════════════════════════════════════════════════════════════════ [SSL/TLS Certificate] issuer : Let's Encrypt cert_type : DV days_until_expiry: 12 • DV cert — domain-only validation • Short validity period (<30 days) Module Risk: 65/100 [█████████████░░░░░░░] ... ══════════════════════════════════════════════════════════════════════ FINAL PHISHING RISK SCORE 81.4/100 [████████████████░░░░] VERDICT: HIGH RISK — Likely Phishing ══════════════════════════════════════════════════════════════════════ RECOMMENDATIONS: ✖ DO NOT visit or enter credentials on this site. ✖ Report the URL to your security team / browser vendor. ✖ If you already clicked, change passwords & enable MFA. ``` ## 📁 项目结构 ``` phishing-detector/ ├── phishing_detector.py # Main tool ├── requirements.txt # Core pip dependencies ├── requirements-browser.txt# Browser automation dependencies ├── .gitignore ├── LICENSE └── README.md ``` ## ⚠️ 免责声明 本工具仅限用于**教育、研究和防御性安全目的**。 - 仅扫描你拥有或**明确获得授权**测试的 URL 和网站 - 未经授权,请勿使用此工具测试生产系统 - 浏览器自动化模块(08–10)会与 Web 表单交互 —— 在对任何网站运行它们之前,请确保你已获得许可 - 作者不对本工具的滥用行为承担任何责任 ## 🤝 贡献指南 欢迎贡献!方式如下: 1. Fork 本仓库 2. 创建一个功能分支:`git checkout -b feature/module-12-whois` 3. 提交你的更改:`git commit -m "Add: WHOIS domain age checker` 4. 推送到分支:`git push origin feature/module-12-whois` 5. 开启一个 Pull Request 请确保新模块遵循标准的返回格式: ``` {"module": "Module Name", "score": 0–100, "flags": [(msg, COLOR)], "info": {}} ``` 查看 [CONTRIBUTING.md](CONTRIBUTING.md) 获取完整指南。 ## 📄 许可证 本项目基于 MIT 许可证授权 —— 详见 [LICENSE](LICENSE)。
标签:C2日志可视化, DNS枚举, Playwright, Python安全工具, Selenium自动化, SSL证书分析, URL分析, Web安全, 反钓鱼, 域名信誉, 威胁情报, 密码管理, 开发者工具, 指纹识别, 特征提取, 社会工程学防御, 网络安全工具, 蓝队分析, 逆向工具, 钓鱼网站检测, 风险评分