sumedhmhatre01/PhishSentinel
GitHub: sumedhmhatre01/PhishSentinel
一款基于 Python 的模块化钓鱼检测工具包,通过规则引擎对 URL、网站、邮件、域名和文件进行钓鱼特征分析与风险评分。
Stars: 0 | Forks: 0
# 🛡️ PhishSentinel
PhishSentinel 是一个防御性网络安全项目,它使用基于规则的检测技术来分析 URL、网站、电子邮件、域名和文件中常见的钓鱼特征。该应用程序完全在终端中运行,并采用模块化架构设计,以便于维护和未来的扩展。
## ✨ 功能
### 🌐 URL 扫描器
- HTTPS 验证
- IP 地址 URL 检测
- 长 URL 检测
- URL 缩短服务检测
- 可疑关键词检测
- 可疑 TLD 检测
- 品牌仿冒(Typosquatting)检测
- 总体钓鱼风险评分
### 🌍 网站扫描器
- HTML 下载与解析
- 登录表单检测
- 密码字段检测
- 隐藏 iframe 检测
- JavaScript 重定向检测
- 外部 JavaScript 检测
- 可疑 HTML 元素检测
### 📧 电子邮件扫描器
- 解析 `.eml` 文件
- 发件人和主题分析
- URL 提取
- SPF 标头存在检查
- DKIM 签名存在检查
- DMARC (Authentication-Results) 标头检查
- 可疑附件检测
- 钓鱼关键词检测
### 🌐 域名扫描器
- WHOIS 查询
- 域名年龄分析
- 域名过期检查
- 注册商信息
- DNS 记录查询
- MX 记录查询
- SSL 证书验证
### 📁 文件扫描器
- SHA-256 哈希生成
- MD5 哈希生成
- 文件类型检测
- 双重扩展名检测
- 启用宏的 Office 文档检测
- 可执行文件检测
- 可疑文件名检测
# 🏗️ 项目结构
```
PhishSentinel/
│
├── scanners/
│ ├── base_scanner.py
│ ├── brand_detector.py
│ ├── domain_scanner.py
│ ├── email_scanner.py
│ ├── file_scanner.py
│ ├── url_scanner.py
│ └── website_scanner.py
│
├── utils/
│ ├── cli.py
│ ├── helpers.py
│ ├── logger.py
│ ├── risk_engine.py
│ └── validators.py
│
├── models/
│
├── samples/
│ ├── emails/
│ ├── files/
│ └── phishing_test.html
│
├── logs/
│
├── main.py
├── config.py
├── requirements.txt
├── README.md
└── .gitignore
```
# ⚙️ 使用的技术
- Python 3.12+
- Requests
- BeautifulSoup4
- tldextract
- validators
- dnspython
- python-whois
- colorama
### Python 标准库
- ssl
- socket
- hashlib
- email
- pathlib
- logging
- argparse
- re
- json
# 🚀 安装
克隆仓库
```
git clone https://github.com/YOUR_USERNAME/PhishSentinel.git
```
进入项目目录
```
cd PhishSentinel
```
创建虚拟环境
```
python -m venv venv
```
激活虚拟环境
### Windows
```
venv\Scripts\activate
```
### Linux / macOS
```
source venv/bin/activate
```
安装依赖项
```
pip install -r requirements.txt
```
# ▶️ 运行
```
python main.py
```
# 🖥️ 终端菜单
```
=========================================================
PHISHSENTINEL
Defensive Phishing Detection Toolkit
=========================================================
[1] URL Scanner
[2] Website Scanner
[3] Email Scanner
[4] Domain Scanner
[5] File Scanner
[0] Exit
```
# 📊 扫描结果示例
```
=========================================================
SCAN RESULT
=========================================================
Status : SUCCESS
Scanner : URL Scanner
Target : https://paypa1-login.xyz
Risk Score : 60
Risk Level : High
Findings
[HIGH]
Category : Brand
Message : Brand impersonation detected.
[HIGH]
Category : TLD
Message : Suspicious TLD detected (.xyz)
[MEDIUM]
Category : Keyword
Message : Suspicious keyword detected: login
```
# 📝 日志记录
每次扫描都会自动记录在
```
logs/phishsentinel.log
```
记录的信息包括:
- 扫描器名称
- 目标
- 风险评分
- 风险等级
- 发现数量
- 时间戳
# 🛡️ 防御目的
PhishSentinel 的开发**仅用于防御性网络安全教育和钓鱼分析**。
它旨在帮助用户识别 URL、网站、电子邮件、域名和文件中的可疑特征。该项目**不会**利用系统漏洞、绕过安全控制或执行攻击性安全操作。
# 👨💻 作者
**Sumedh Mhatre**
# 📄 许可证
该项目基于 MIT 许可证授权。
标签:Python, TLS, 威胁情报, 字符串匹配, 开发者工具, 无后门, 网络安全, 逆向工具, 钓鱼检测, 防御工具, 隐私保护