欢迎来到 无奈人生 安全网 聚焦网络安全前沿资讯,精华内容,交流技术心得!

SMTP用户枚举原理简介及相关工具

来源: 作者: 时间:2019-02-24 21:00 点击: 我要投稿
广告位API接口通信错误,查看德得广告获取帮助

SMTP是安全测试中比较常见的服务类型,其不安全的配置(未禁用某些命令)会导致用户枚举的问题,这主要是通过SMTP命令进行的。本文将介绍SMTP用户枚举原理以及相关工具。
SMTP
SMTP命令
若服务器未禁用某些特殊命令,则可以利用这些特殊命令枚举用户,主要是MAIL FROM、RCPT TO、ETRN、VRFY指令。
SMTP命令
命令功能
MAIL FROM
指定发件人地址
RCPT TO
指定单个的邮件接收人;可有多个 RCPT TO;常在 MAIL FROM命令之后
VRFY
用于验证指定的用户/邮箱是否存在;由于安全原因,服务器常禁止此命令
EXPN
验证给定的邮箱列表是否存在,也常被禁用
SMTP返回码
执行上面的SMTP命令,通过其返回码可以判断用户是否存在。主要是250和550状态。
返回码
含义
250
要求的邮件操作完成
550
要求的邮件操作未完成,邮箱不可用(例如,邮箱未找到,或不可访问)
(文末附所有返回码)
手动枚举用户名
通过上面的介绍,我们可以通过Telnet连接,在未禁用上述SMTP命令的服务器上,使用上述命令手动枚举用户名。通过shodan等可以找到开放SMTP的服务器。
VRFY命令
$ telnet 202.38.xxx.xxx 25Trying 202.38.xxx.xxx...Connected to 202.38.xxx.xxx.Escape character is '^]'.220 mxt.xxx.xxx.cn ESMTP PostfixVRFY root252 2.0.0 rootVRFY bin252 2.0.0 binVRFY admin550 5.1.1 : Recipient address rejected: User unknown in local recipient table
MAIL FROM+RCPT TO命令
$ telnet 202.38.xxx.xxx 25Trying 202.38.xxx.xxx...Connected to 202.38.xxx.xxx.Escape character is '^]'.220 mxt.xxx.xxx.cn ESMTP PostfixMAIL FROM:root250 2.1.0 OkRCPT TO:root250 2.1.5 OkRCPT TO:bin250 2.1.5 OkRCPT TO:admin550 5.1.1 : Recipient address rejected: User unknown in local recipient table
可以看到两种方式均返回root、bin用户是存在的,admin用户不存在。
smtp-user-enum工具
smtp-user-enum是kali自带的,使用Perl编写的工具,其原理就是通过上述的三种命令枚举用户账户。
参数
Usage: smtp-user-enum.pl [options] ( -u username | -U file-of-usernames ) ( -t host | -T file-of-targets ) options:-m    最大线程数(默认: 5)-M   使用方法方式 EXPN, VRFY or RCPT (默认: VRFY)-u    指定用户-f    邮箱地址,只能用在 "RCPT TO" mode (默认: user@example.com)-D    使用电子邮件地址添加到用户列表在域 (默认: none)使用邮箱代替用户名,比如:"-D example.com"域来使用代替testA@example.com, testB@example.com-U    通过smtp服务指定文件里的用户名检查-t    指定主机来运行smtp服务器主机服务-T    指定文件来运行smtp服务器主机服务-p
   设置TCP端口号 (默认: 25)-d   调试-t    最大返回时间 (default: 5)-v   版本 -h   帮助
文档:http://pentestmonkey.net/tools/user-enumeration/smtp-user-enum。
示例
VRFY方式
$ smtp-user-enum -M VRFY -u root -t 202.38.xxx.xxxStarting smtp-user-enum v1.2 ( http://pentestmonkey.net/tools/smtp-user-enum ) ----------------------------------------------------------|                   Scan Information                       | ----------------------------------------------------------Mode ..................... VRFYWorker Processes ......... 5Target count ............. 1Username count ........... 1Target TCP port .......... 25Query timeout ............ 5 secsTarget domain ............ ######## Scan started at Fri Aug 24 09:37:15 2018 #########202.38.xxx.xxx: root exists######## Scan completed at Fri Aug 24 09:37:15 2018 #########1 results.1 queries in 1 seconds (1.0 queries / sec)
RCPT方式
$ smtp-user-enum -M RCPT -u bin -t 202.38.xxx.xxxStarting smtp-user-enum v1.2 ( http://pentestmonkey.net/tools/smtp-user-enum ) ----------------------------------------------------------|                   Scan Information                       | ----------------------------------------------------------Mode ..................... RCPTWorker Processes ......... 5Target count ............. 1Username count ........... 1Target TCP port .......... 25Query timeout ............ 5 secsTarget domain ............ ######## Scan started at Fri Aug 24 09:37:44 2018 #########202.38.xxx.xxx: bin exists######## Scan completed at Fri Aug 24 09:37:44 2018 #########1 results.1 queries in 1 seconds (1.0 queries / sec)
EXPN方式(目标服务器禁用了该方法)
$ smtp-user-enum -M EXPN -u bin -t 202.38.xxx.xxxStarting smtp-user-enum v1.2 ( http://pentestmonkey.net/tools/smtp-user-enum ) ----------------------------------------------------------|                   Scan Information                       | ----------------------------------------------------------Mode ..................... EXPNWorker Processes ......... 5Target count ............. 1Username count ........... 1Target TCP port .......... 25Query timeout ............ 5 secsTarget domain ............ ######## Scan started at Fri Aug 24 09:37:53 2018 ################# Scan completed at Fri Aug 24 09:37:53 2018 #########0 results.1 queries in 1 seconds (1.0 queries / sec)

[1] [2] [3]  下一页

SMTP是安全测试中比较常见的服务类型,其不安全的配置(未禁用某些命令)会导致用户枚举的问题,这主要是通过SMTP命令进行的。本文将介绍SMTP用户枚举原理以及相关工具。
SMTP
SMTP命令
若服务器未禁用某些特殊命令,则可以利用这些特殊命令枚举用户,主要是MAIL FROM、RCPT TO、ETRN、VRFY指令。
SMTP命令
命令功能
MAIL FROM
指定发件人地址
RCPT TO
指定单个的邮件接收人;可有多个 RCPT TO;常在 MAIL FROM命令之后
VRFY
用于验证指定的用户/邮箱是否存在;由于安全原因,服务器常禁止此命令
EXPN
验证给定的邮箱列表是否存在,也常被禁用
SMTP返回码
执行上面的SMTP命令,通过其返回码可以判断用户是否存在。主要是250和550状态。
返回码
含义
250
要求的邮件操作完成
550
要求的邮件操作未完成,邮箱不可用(例如,邮箱未找到,或不可访问)
(文末附所有返回码)
手动枚举用户名
通过上面的介绍,我们可以通过Telnet连接,在未禁用上述SMTP命令的服务器上,使用上述命令手动枚举用户名。通过shodan等可以找到开放SMTP的服务器。

copyright 无奈人生

VRFY命令
$ telnet 202.38.xxx.xxx 25Trying 202.38.xxx.xxx...Connected to 202.38.xxx.xxx.Escape character is '^]'.220 mxt.xxx.xxx.cn ESMTP PostfixVRFY root252 2.0.0 rootVRFY bin252 2.0.0 binVRFY admin550 5.1.1 : Recipient address rejected: User unknown in local recipient table
MAIL FROM+RCPT TO命令
$ telnet 202.38.xxx.xxx 25Trying 202.38.xxx.xxx...Connected to 202.38.xxx.xxx.Escape character is '^]'.220 mxt.xxx.xxx.cn ESMTP PostfixMAIL FROM:root250 2.1.0 OkRCPT TO:root250 2.1.5 OkRCPT TO:bin250 2.1.5 OkRCPT TO:admin550 5.1.1 : Recipient address rejected: User unknown in local recipient table
可以看到两种方式均返回root、bin用户是存在的,admin用户不存在。
smtp-user-enum工具
smtp-user-enum是kali自带的,使用Perl编写的工具,其原理就是通过上述的三种命令枚举用户账户。
参数
Usage: smtp-user-enum.pl [options] ( -u username | -U file-of-usernames ) ( -t host | -T file-of-targets ) options:-m    最大线程数(默认: 5)-M   使用方法方式 EXPN, VRFY or RCPT (默认: VRFY)-u    指定用户-f    邮箱地址,只能用在 "RCPT TO" mode (默认: user@example.com)-D    使用电子邮件地址添加到用户列表在域 (默认: none)使用邮箱代替用户名,比如:"-D example.com"域来使用代替testA@example.com, testB@example.com-U    通过smtp服务指定文件里的用户名检查-t    指定主机来运行smtp服务器主机服务-T    指定文件来运行smtp服务器主机服务-p copyright 无奈人生
   设置TCP端口号 (默认: 25)-d   调试-t    最大返回时间 (default: 5)-v   版本 -h   帮助
文档:http://pentestmonkey.net/tools/user-enumeration/smtp-user-enum。
示例
VRFY方式
$ smtp-user-enum -M VRFY -u root -t 202.38.xxx.xxxStarting smtp-user-enum v1.2 ( http://pentestmonkey.net/tools/smtp-user-enum ) ----------------------------------------------------------|                   Scan Information                       | ----------------------------------------------------------Mode ..................... VRFYWorker Processes ......... 5Target count ............. 1Username count ........... 1Target TCP port .......... 25Query timeout ............ 5 secsTarget domain ............ ######## Scan started at Fri Aug 24 09:37:15 2018 #########202.38.xxx.xxx: root exists######## Scan completed at Fri Aug 24 09:37:15 2018 #########1 results.1 queries in 1 seconds (1.0 queries / sec)
copyright 无奈人生

RCPT方式
$ smtp-user-enum -M RCPT -u bin -t 202.38.xxx.xxxStarting smtp-user-enum v1.2 ( http://pentestmonkey.net/tools/smtp-user-enum ) ----------------------------------------------------------|                   Scan Information                       | ----------------------------------------------------------Mode ..................... RCPTWorker Processes ......... 5Target count ............. 1Username count ........... 1Target TCP port .......... 25Query timeout ............ 5 secsTarget domain ............ ######## Scan started at Fri Aug 24 09:37:44 2018 #########202.38.xxx.xxx: bin exists######## Scan completed at Fri Aug 24 09:37:44 2018 #########1 results.1 queries in 1 seconds (1.0 queries / sec)
EXPN方式(目标服务器禁用了该方法)
$ smtp-user-enum -M EXPN -u bin -t 202.38.xxx.xxxStarting smtp-user-enum v1.2 ( http://pentestmonkey.net/tools/smtp-user-enum ) ----------------------------------------------------------|                   Scan Information                       | ----------------------------------------------------------Mode ..................... EXPNWorker Processes ......... 5Target count ............. 1Username count ........... 1Target TCP port .......... 25Query timeout ............ 5 secsTarget domain ............ ######## Scan started at Fri Aug 24 09:37:53 2018 ################# Scan completed at Fri Aug 24 09:37:53 2018 #########0 results.1 queries in 1 seconds (1.0 queries / sec)
www.wnhack.com

无奈人生安全网

[1] [2] [3]  下一页 copyright 无奈人生

。 (责任编辑:admin)
【声明】:无奈人生安全网(http://www.wnhack.com)登载此文出于传递更多信息之目的,并不代表本站赞同其观点和对其真实性负责,仅适于网络安全技术爱好者学习研究使用,学习中请遵循国家相关法律法规。如有问题请联系我们,联系邮箱472701013@qq.com,我们会在最短的时间内进行处理。