cumakurt/mailt

GitHub: cumakurt/mailt

MailT 是一个邮件生态系统攻击面评估框架,通过侦察、绕过、利用、证明、报告五阶段流程全面评估目标邮件域名的安全性。

Stars: 11 | Forks: 3

# MailT — 邮件生态系统攻击面框架 **开发者:[Cuma KURT](https://www.linkedin.com/in/cuma-kurt-34414917/)** — cumakurt@gmail.com **GitHub:** [https://github.com/cumakurt/mailt](https://github.com/cumakurt/mailt) 针对目标邮件域名的邮件安全性和攻击性评估:**侦察 → 绕过 → 利用 → 证明 → 报告**。支持 DNS(MX、SPF、DKIM、DMARC、BIMI)、**RBL/DNSBL 黑名单检查**(SMTP IP 信誉)、SMTP/TLS、POP3、IMAP、Webmail 发现,以及可选的漏洞利用/PoC 模块。CVSS v3.1 和 MITRE ATT&CK 映射。 ![MailT 概述](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/73358ece35022307.png) ## 环境要求 - Python 3.10+ - [dnspython](https://www.dnspython.org/)(参见 `requirements.txt`) MailT 在运行前会检查 `dnspython` 是否可用;如果缺失,则打印警告并退出。 ## 安装 ``` python3 -m venv .venv .venv/bin/activate pip install -r requirements.txt ``` 如果 `python3 mailt.py --help` 显示空白屏幕,请使用无缓冲输出:`python3 -u mailt.py --help`。 ![MailT 用法](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/8dab9bd06a022307.png) ## 用法 ``` # 显示帮助 python3 mailt.py --help # 完整扫描(安全模式):DNS + SMTP + 邮件生态系统(POP3/IMAP/Webmail 发现) python3 mailt.py --target example.com # 详细输出 python3 mailt.py --target example.com --verbose # 攻击模式(exploit/PoC):需要同时启用两个标志 python3 mailt.py --target example.com --attack-mode --i-understand-the-risks ``` **注意:** 如果不同时提供 `--attack-mode` 和 `--i-understand-the-risks`,则不会运行任何暴力破解、认证探测、漏洞利用或注入代码。 ## 基于用户的测试(凭证感知) 当提供测试邮箱的电子邮件和密码时,MailT 会运行**凭证感知**测试,以评估账户被入侵时的风险:SMTP AUTH、POP3、IMAP 上的凭证复用;TLS/明文认证风险;已认证的发件人/显示名称 PoC。仅在**授权**的测试账户上使用。 ``` # 凭据感知:相同的电子邮件/密码在 SMTP AUTH、POP3、IMAP 上进行测试 python3 mailt.py --target example.com --email testuser@example.com --password "testpass" ``` **注意:** `--email` 和 `--password` 必须同时提供。不读取邮件内容;不进行数据外泄;不进行持久性更改。PoC 邮件(已认证欺骗)仅发送到测试账户本身。 ## 输出和报告 ``` # 输出目录(默认:reports/) python3 mailt.py --target example.com --output-dir /tmp/reports python3 mailt.py --target example.com -o ./out # 报告格式:html(默认)、json、markdown 或全部 python3 mailt.py --target example.com --format json python3 mailt.py --target example.com --format all # 静默模式:仅输出最终摘要 python3 mailt.py --target example.com --quiet # 记录到文件 python3 mailt.py --target example.com --log-file mailt.log ``` ## 超时和配置 ``` # 全局扫描超时(秒) python3 mailt.py --target example.com --timeout 300 # DNS 和 SMTP 超时 python3 mailt.py --target example.com --dns-timeout 5 --smtp-timeout 10 # 配置文件(JSON);CLI 覆盖配置和环境变量 python3 mailt.py --target example.com --config mailt.json ``` ## 配置(环境变量和配置文件) 环境变量(可选):`MAILT_VERBOSE`、`MAILT_OUTPUT_DIR`、`MAILT_FORMAT`、`MAILT_QUIET`、`MAILT_LOG_FILE`、`MAILT_TIMEOUT`、`MAILT_DNS_TIMEOUT`、`MAILT_SMTP_TIMEOUT`。配置文件(JSON)键:`verbose`、`output_dir`、`format`、`quiet`、`log_file`、`timeout`、`dns_timeout`、`smtp_timeout`。优先级:CLI > 配置文件 > 环境变量。 ## 手动指定服务器主机(覆盖 MX 发现) ``` # 手动指定 SMTP 服务器(主机名或 IP) python3 mailt.py --target example.com --smtp mail.example.com # 手动指定 POP3 和 IMAP 服务器 python3 mailt.py --target example.com --pop3 pop.example.com --imap imap.example.com # 将 SMTP、POP3 和 IMAP 设置为同一主机(如果指定了 --smtp/--pop3/--imap,则 --all 将被覆盖) python3 mailt.py --target example.com --all 192.168.1.10 ``` ## 退出码 - **0** — 扫描成功完成(无步骤错误)。 - **1** — 验证或依赖项错误(例如无效的 `--target`、缺少 dnspython)。 - **2** — 扫描失败(一个或多个步骤失败或超时)。 ## 运行模式 ### 安全模式(默认) - **发现:** MX、SPF、DKIM、DMARC、BIMI、PTR;**RBL/DNSBL 黑名单检查**(SMTP IP 针对 Spamhaus、Spamcop、SORBS、Barracuda、CBL、PSBL、UCEPROTECT 等进行测试);SMTP/POP3/IMAP 端口和 Webmail 指纹。 - **配置分析:** SPF 绕过/子域名、TLS 证书、Banner、网关检测。 - **被动检查:** 开放中继探测(仅响应码)、Catch-all、STARTTLS、TLS 版本/密码套件。 - **邮件生态系统:** 协议面(25/465/587、110/995、143/993)、POP3/IMAP 安全性(明文 vs TLS)、Webmail 指纹和安全性(HTTPS、Cookie、CSP)、账户接管链关联、DoS/资源分析(NOOP/IDLE)。 不涉及凭证、邮件投递或滥用。 ### 攻击模式(显式选择) 仅当同时设置 `--attack-mode` 和 `--i-understand-the-risks` 时: - **漏洞利用/PoC 模块:** 开放中继(外部→外部、RFC 测试域名)、SPF/DMARC 欺骗、显示名称欺骗、AUTH 暴力破解模拟(3-5 次虚拟尝试)、内部信任 PoC、SMTP 走私 PoC、跨协议凭证复用。 - **受控认证探测:** POP3/IMAP 使用虚拟用户名/密码进行 3-5 次尝试;速率限制和锁定检测。 - **Webmail:** 有限的登录尝试以检查错误消息差异和速率限制。 仅使用 RFC 测试域名(例如 `example.net`、`example.org`)和测试邮箱(`mailt-poc@example.org`)。不涉及真实收件人、垃圾邮件或恶意软件。 ## 输出 报告写入 `reports/`(或 `--output-dir`)。格式:`--format html|json|markdown|all`。每个报告文件名包含 UTC 时间戳(`YYYYMMDD_HHMMSS`),因此连续扫描不会覆盖同一文件。 ![MailT 报告](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/99bc91172f022308.png) - **HTML 报告:** `mailt_report__.html` — 执行摘要、范围、扫描结果(DNS/SMTP 数据)、邮件生态系统、**RBL/DNSBL 黑名单结果**(按 IP、按 RBL 状态和信誉评分)、DKIM 选择器、SPF 绕过、开放中继摘要、发现项、风险矩阵、MITRE ATT&CK、行动计划。 - **JSON 报告:** `mailt_report__.json` — 发现项、摘要、DNS/SMTP 摘要、**rbl_check**(完整 RBL 结果);适用于 CI/自动化。 - **Markdown 报告:** `mailt_report__.md` — 人类可读摘要、**RBL/DNSBL 结果**表格和发现项表格。 如果某个步骤失败(例如 DNS 超时),扫描将继续;错误会被记录并报告。使用退出码 2 在脚本中检测扫描失败。 ## 进度输出 - 开始时显示总步骤数和编号列表(除非使用 `--quiet`)。 - 每个步骤:`[当前/总数] 步骤名称(已用秒)— X% 完成,剩余 N 步` - 使用 `--verbose` 时:每个步骤后显示简短结果(例如 `通过:2 条 MX 记录`,`smtp_25、pop3_110 开放`)。 - 最终摘要:总时间和步骤数。使用 `--quiet` 时:仅显示一行完成消息。 ## RBL / DNSBL 黑名单检查 **默认启用。** SMTP IP 地址(来自 MX 记录,以及如果提供的 `--smtp` 或 `--all`)使用**纯被动 DNS**(无第三方 API 或 Web 爬取)针对全局 DNS 黑名单(RBL/DNSBL)进行测试。 - **测试的 IP:** 所有 MX 主机名解析为 IPv4/IPv6;如果设置了 `--smtp` 或 `--all`,则包含该主机。每个唯一 IP 针对每个 RBL 区域进行查询。 - **RBL 区域:** Spamhaus ZEN、Spamcop、SORBS、Barracuda、CBL、PSBL、UCEPROTECT L1、Spamhaus SBL/XBL(`dns_checks/rbl_check.py` 中的模块化列表)。 - **每个黑名单结果:** 每个 IP 在每个区域中获得结果:已列出 / 未列出 / 超时 / 超时和 DNS 故障被安全处理(无误报)。 - **信誉评分:** 每个 IP 的评分为 0.0(良好)到 1.0(不良),基于列出该 IP 的 RBL 比例。在报告的 **RBL/DNSBL 黑名单结果**部分中报告。 - **信息安全解读:** 当 IP 被列入时提出发现项(信誉滥用、被入侵中继风险);注明与投递失败和接收方 DMARC/SPF 接受的关联。 ## 项目结构 ``` mailt/ ├── mailt.py # Entry point (CLI: --target, --output-dir, --format, --quiet, etc.) ├── core/ # Scanner, context, utils, progress, config, attack_mode ├── dns_checks/ # DNS checks: MX, SPF, DKIM, DMARC, BIMI, SPF bypass, RBL/DNSBL (used by scanner) ├── smtp/ # SMTP enum, STARTTLS, TLS, open relay, gateway detection │ ├── mail_service_discovery # SMTP/POP3/IMAP/Webmail port + banner │ ├── pop3_security # POP3/POP3S (SAFE + ATTACK auth probe) │ ├── imap_security # IMAP/IMAPS (SAFE + ATTACK login probe) │ ├── webmail_fingerprint # Webmail product/version │ ├── webmail_security # HTTPS, cookies, CSP; ATTACK: login probe │ ├── cross_protocol_attack # ATTACK: credential reuse across SMTP/POP3/IMAP │ ├── mail_account_takeover_chain # Chained risk (POP3/IMAP/webmail) │ ├── mail_dos_analysis # NOOP/IDLE; ATTACK: low-freq slow probe │ └── *_exploit.py / *_poc.py # ATTACK MODE only ├── analysis/ # Findings, CVSS, MITRE ├── reporting/ # HTML, JSON, Markdown reports ├── data/ # mitre_attack.json, cvss_metrics.json ├── img/ # Screenshots and images (1.png, 2.png, 3.png) ├── requirements.txt └── LICENSE ``` ## 红线(绝不执行) - 不发送真实垃圾邮件。 - 不使用真实收件人地址。 - 不涉及恶意软件或凭证转储。 - 不对目标系统进行持久性更改。 仅在您**授权**测试的域名上使用。 ## 作者 **Cuma KURT** - 电子邮件:cumakurt@gmail.com - LinkedIn:[linkedin.com/in/cuma-kurt-34414917](https://www.linkedin.com/in/cuma-kurt-34414917/) - GitHub:[github.com/cumakurt/mailt](https://github.com/cumakurt/mailt) ## GitHub 仓库:[github.com/cumakurt/mailt](https://github.com/cumakurt/mailt) ``` git clone https://github.com/cumakurt/mailt.git cd mailt python3 -m venv .venv && .venv/bin/activate pip install -r requirements.txt python3 mailt.py --help ``` ## 许可证 本项目采用 **GNU 通用公共许可证 v3.0 或更高版本(GPL-3.0-or-later)** 授权。完整文本请参阅 [LICENSE](LICENSE)。 请负责任地仅在授权的渗透测试和安全评估范围内使用。
标签:BIMI, CVSS, DKIM, DMARC, DNSBL, DNS安全, IMAP, IP 地址批量处理, MITREATT&CK, MX记录, PoC, POP3, Python安全工具, RBL, SMTP, SPF, TLS, Webmail发现, 二进制发布, 凭据重用风险, 安全评估框架, 密码管理, 开源工具, 插件系统, 攻击面框架, 暴力破解, 认证测试, 邮件协议审计, 邮件安全, 邮件服务器安全, 邮件渗透测试框架, 邮件生态, 邮件系统评估, 防御工具, 防御绕过, 黑名单检查