对 SMTP 服务器进行渗透测试

前言

如何对SMTP服务器进行渗透测试?国外白帽小哥 Shahmeer Amir 将在下文向您展示如何有效地对 SMTP 服务器进行渗透测试以获取信息和漏洞。

SMTP 是一种可以在大多数渗透测试场景中找到的服务。如果系统管理员未禁用 EXPN 和 VRFY 命令,此服务可以帮助渗透测试人员通过这些命令进行用户名枚举。有多种方法可以通过 SMTP 实现此枚举,本文将对此进行解释。

图片


对 SMTP 服务器进行渗透测试

EXPN命令的作用是获取用户别名的实际地址和电子邮件列表以及VRFY,可以确认用户名是否存在以及是否有效。

SMTP 枚举可以通过 telnet 和 netcat 等实用程序手动执行,也可以通过 metasploit、nmap 和 smtp-user-enum 等各种工具自动执行。下图显示了如何使用 telnet 服务通过 VRFY 和 RCPT 命令枚举用户。

图片

枚举 SMTP 用户 — Telnet

图片

使用 RCPT 命令枚举用户

使用 Metasploit 工具

Metasploit Framework中可以通过SMTP执行用户枚举的模块如下:

auxiliary/scanner/smtp/smtp_enum

该模块唯一需要的是输入远程主机的 IP 地址并使用运行命令执行它,因为其他选项已由 metasploit 自动填充。

图片

Metasploit SMTP 枚举模块 - 配置

我们可以在下图中看到 metasploit 的结果:

图片

Metasploit SMTP 枚举结果

使用smtp-user-enum 工具

另一个可用的工具是smtp-user-enum,它提供了 3 种用户枚举方法。此工具用来验证用户名的命令是 EXPN、VRFY 和 RCPT。它还可以支持单个用户名枚举和通过检查 .txt 列表进行的多个用户名枚举。因此,为了有效地使用此工具,您需要有一个用户名字典。下面是使用 VRFY 命令进行扫描的示例,该命令发现了以下用户名。

图片

通过 smtp-user-enum 枚举 SMTP 用户

smtp-user-enum 还可用于发现有效的电子邮件地址,下图显示了这种用法。

图片

通过 smtp-user-enum 发现电子邮件地址

使用 Nmap

SMTP 枚举也可以通过 Nmap 实现。NSE(Nmap 脚本引擎)中有一个脚本可用于 SMTP 用户枚举。该脚本的通用用法如下:

nmap –script smtp-enum-users.nse 172.16.212.133

图片

通过 Nmap 枚举 SMTP 用户名

但是从上图我们可以看出,在这种情况下枚举并没有成功。


总结

SMTP 是每个网络中都可以找到的常见服务。管理员需要通过禁止执行EXPNVRFYRCPT命令来正确配置邮件服务器,以避免泄漏信息。从另一方面来说,渗透测试人员可以使用从此枚举中获得的用户名对其他系统进行进一步攻击例如:弱口令攻击、密码爆破等。

原文地址:https://shahmeeramir.com/penetration-testing-an-smtp-server-cf91e4846101

更多网络安全优质免费学习资料与干货教程加v

送渗透工具、技术文档、书籍,面试题、视频(基础到进阶。环境搭建,HTML,PHP,MySQL基础学习,信息收集,SQL注入,XSS,CSRF,暴力破解等等)、应急响应笔记、学习路线。

申明:本账号所分享内容仅用于网络安全技术讨论,切勿用于违法途径,

所有渗透都需获取授权,违者后果自行承担,与本号及作者无关,请谨记守法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值