关于SMTP服务的渗透测试
针对smtp服务的25端口
作渗透性测试时,可使用 smtp_enum进行用户名枚举和进行telnet IP 25(port)
连接
用户枚举 metasploit
metasploit有辅助模块smtp_enum,也可以用来枚举smtp用户名。1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23直接在kali终端输入: msfconsole
msf > use auxiliary/scanner/smtp/smtp_enum
msf auxiliary(scanner/smtp/smtp_enum) > show options
Module options (auxiliary/scanner/smtp/smtp_enum):
Name Current Setting Required Description
---- --------------- -------- -----------
RHOSTS yes The target address range or CIDR identifier
RPORT 25 yes The target port (TCP)
THREADS 1 yes The number of concurrent threads
UNIXONLY true yes Skip Microsoft bannered servers when testing unix users
USER_FILE /usr/share/metasploit-framework/data/wordlists/unix_users.txt yes The file that contains a list of probable users accounts.
msf auxiliary(scanner/smtp/smtp_enum) > set rhosts 202.xx.xx.xx
rhosts => 202.xx.xx.xx
msf auxiliary(scanner/smtp/smtp_enum) > run
[*] 202.xx.xx.xx - 202.xx.xx.xx25 Banner: 220 mxt.scut.edu.cn ESMTP Postfix
[+] 202.xx.xx.xx - 202.xx.xx.xx:25 Users found: adm, avahi, avahi-autoipd, bin, daemon, fax, ftp, games, gdm, gopher, haldaemon, halt, lp, mail, news, nobody, operator, postgres, postmaster, root, sshd, sync, uucp, webmaster, www
[*] Scanned 1 of 1 hosts (100% complete)
[*] Auxiliary module execution completed
爆破出以上用户名
smtp-user-enum是kali自带的枚举工具,也可以通过以下命令来枚举SMTP服务的用户帐户(sendmail)。
1 | smtp-user-enum -M VRFY -u root -t IP #验证root用户是否存在 |
telnet连接
1 | telnet IP Port(一般用25) |
若不须登录即可发送邮件,则存在伪造邮件(钓鱼邮件)漏洞
邮件服务返回代码含义
500 格式错误,命令不可识别(此错误也包括命令行过长)
501 参数格式错误
502 命令不可实现
503 错误的命令序列
504 命令参数不可实现
211 系统状态或系统帮助响应
214 帮助信息
220 服务就绪
221 服务关闭传输信道
421 服务未就绪,关闭传输信道(当必须关闭时,此应答可以作为对任何命令的响应)
250 要求的邮件操作完成
251 用户非本地,将转发向
450 要求的邮件操作未完成,邮箱不可用(例如,邮箱忙)
550 要求的邮件操作未完成,邮箱不可用(例如,邮箱未找到,或不可访问)
- 451 放弃要求的操作;处理过程中出错
551 用户非本地,请尝试
452 系统存储不足,要求的操作未执行
552 过量的存储分配,要求的操作未执行
553 邮箱名不可用,要求的操作未执行(例如邮箱格式错误)
354 开始邮件输入,以. 结束
554 操作失败
535 用户验证失败
235 用户验证成功
334 等待用户输入验证信息 for next connection
[微软关于SMTP服务的命令和定义](https://docs.microsoft.com/zh-cn/previous-versions/exchange-server/exchange-server-2000//aa996114(v=exchg.65))