0x00 前言
有效邮箱的获取在渗透前期是比较重要的,因为需要发送邮件及密码爆破。当前 SharpExchangeKing 只集成了两种验证邮箱账号是否存在的方法,分别是:
•直接通过 SMTP 协议连接邮服的 25 端口,发送相关数据进行验证。•在 Exchange 中,在用户登录时,如果当前登陆的用户存在,那么服务器响应更快。
说是验证,那也可以用来爆破用户名。但两种方法都有相应的缺陷:
•如果目标邮服配置了 Catch-all
邮箱,则 SMTP 无法使用•如果目标邮服设置了登陆验证码,则无法爆破
0x01 SMTP
通过 SMTP 协议枚举:邮箱存在会返回 250,不存在返回 500。但如果目标邮服配置了 Catch-all
邮箱,则所有发往目标邮服的无效邮箱都会被 Catch-all 邮箱接收,即无论邮箱是否存在都会返回 250。 代码实现非常简单:
1.根据邮箱后缀获取到域名2.通过查询域名获取到它的 MX 记录3.如果多个 MX 记录,随即取 1 个4.TCP 连接 MX 记录地址的 25 端口5.发送固定格式的数据6.从结果查看邮箱是否存在
0x02 响应的开始接收时间
在这里,对于我来说有一个干货::当爆破的用户真实存在时,无论是否开通邮箱账号,其响应的开始接收时间是比较短的。 网络良好的情况下,效果如下所示:
BurpSuite 的效果:
0x03 总结
SMTP 验证方式比较通用,它不限于 Exchange 邮服,其他邮服同样起效。当然,主要针对 Exchange 的方法,在没有验证码阻碍的情况下,经过测试,计算开始相应时间的方法还是比较不错的。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...