SuperAPI AI 工具集

smtp-penetration-testing

安全与审计

查看项目

更新于 10-15 15:23

技能介绍

用途

本技能用于对 SMTP(简单邮件传输协议)服务器进行全面的安全评估,识别开放中继、用户枚举、弱认证和错误配置等漏洞。涵盖横幅抓取、用户枚举、中继测试、暴力破解以及安全加固建议。

主要能力

  • 服务发现:使用 Nmap 识别 SMTP 端口(25、465、587、2525)和服务版本,查询域名的 MX 记录。
  • 横幅抓取:通过 Telnet、Netcat 或 Nmap 获取服务器软件、版本、主机名及支持的扩展信息。
  • SMTP 命令枚举:测试 EHLO 返回的能力,使用 VRFY、EXPN、RCPT TO 命令验证用户或展开邮件列表。
  • 用户枚举:使用 smtp-user-enum、Nmap 脚本或 Metasploit 模块,通过 VRFY、EXPN、RCPT 方法枚举有效邮箱地址。
  • 开放中继测试:使用 Nmap 的 smtp-open-relay 脚本、Telnet 手动测试或 Metasploit 模块,判断服务器是否允许未授权的中继转发。
  • 暴力破解认证:使用 Hydra、Medusa 或 Metasploit 对 SMTP 认证进行弱口令测试。
  • 命令注入测试:测试邮件头注入、邮件伪造等注入类漏洞。
  • TLS/SSL 安全测试:检查 STARTTLS 支持、直接 SSL 连接以及加密套件配置。
  • 邮件认证分析:查询并分析 SPF、DKIM、DMARC 记录。

使用方式

需预先安装的工具包括:Nmap(含 SMTP 脚本)、Netcat、Hydra、smtp-user-enum、Metasploit Framework。典型工作流程如下:

  1. 理解 SMTP 架构(MTA → MDA → MUA)与端口(25、465、587、2525)。
  2. 使用 Nmap 进行 SMTP 服务发现,使用 dig/nslookup/host 查询 MX 记录。
  3. 通过 Telnet、Netcat 或 Nmap 抓取横幅。
  4. 连接后使用 EHLO 查看服务器能力,测试 VRFY、EXPN、RCPT 等命令。
  5. 使用 smtp-user-enum(-M VRFY/EXPN/RCPT)、Nmap 的 smtp-enum-users 脚本或 Metasploit 的 smtp_enum 模块进行用户枚举。
  6. 使用 Nmap 的 smtp-open-relay 脚本、Telnet 手动测试或 Metasploit 的 smtp_relay 模块测试开放中继。
  7. 使用 Hydra、Medusa 或 Metasploit 的 smtp_login 模块进行暴力破解。
  8. 进行命令注入、邮件伪造测试。
  9. 使用 openssl s_client 和 Nmap 的 ssl-enum-ciphers 测试 TLS/SSL。
  10. 使用 dig 查询 SPF、DKIM、DMARC 记录。

适用场景

  • 对自有或已获授权的 SMTP 服务器进行安全评估。
  • 识别开放中继、用户枚举、弱认证、缺少 TLS、缺失 SPF/DKIM 等漏洞。
  • 生成安全评估报告、用户枚举结果、中继测试结果和加固建议。

限制

法律要求:只能测试自己拥有或获得授权测试的 SMTP 服务器;发送垃圾邮件或恶意邮件是违法的;记录所有测试活动;不得滥用发现的开放中继。

技术限制:现代服务器通常禁用 VRFY/EXPN;速率限制可能减慢枚举;某些服务器对有效/无效用户返回相同响应;灰名单可能延迟枚举响应。

道德边界:绝不通过发现的中继发送实际垃圾邮件;不得为恶意用途收集邮箱地址;应向服务器管理员报告开放中继;发现仅用于授权的安全改进。

安全加固建议(面向管理员)

禁用开放中继(要求外部投递认证)、禁用 VRFY/EXPN、强制 TLS(要求所有连接使用 STARTTLS)、实施 SPF/DKIM/DMARC、启用速率限制与账户锁定、精简横幅信息、监控日志、及时更新 SMTP 软件、限制 SMTP 访问 IP。