SMTP协议25端口渗透测试记录(邮件渗透)

匿名登录发送消息

telnet 192.168.165.55 25
helo smtp

lhale@victim
gesila@victim

Tharper@victim

mail from:rmurray@victim
rcpt to:Tharper@victim
data

subjcet:"urgent" and "patch"

send a phishing email from the IT person to the employee in sales that contains keywords "urgent" and "patch"

.    表示结束data发送消息

介绍:

SMTP为邮件协议,默认端口25,经常用来邮件伪造,钓鱼攻击。

经常SMTP帐号信息泄露,如github,oschinas的源码托管中的信息泄露。

建立TCP连接

知道了邮件服务器的地址,就可以与它建立TCP连接了SMTP协议的默认端口是25。使用Telneth或netcat命令,都可以连接该端口。

telnet xxxx.com 25 #windows下测试
或者
nc xxxx.com 25 #Linux下测试

服务器返回220状态码,就表示连接成功。

220 MAIL-SERVER Winmail Mail Server ESMTP ready

接下来,就可以使用 SMTP 协议各种命令与邮件服务器交互了。

HELO 命令和 EHLO 命令

SMTP 协议规定,连接成功后,必须向邮件服务器提供连接的域名,也就是邮件将从哪台服务器发来。

HELO xxxx.com

邮件服务器返回状态码250,表示响应成功。

250 MAIL-SERVER Winmail Mail Server

HELO 命令现在比较少用,一般都使用EHLO命令

邮件服务器收到EHLO命令以后,不仅会返回250状态码,还会返回自己支持的各种扩展的列表

250-MAIL-SERVER Winmail Mail Server

250-AUTH LOGIN PLAIN

250-SIZE 20971520

250 8BITMIME

MAIL FROM 命令

连接者要使用MAIL FROM 命令,向邮件服务器提供邮件的来源邮件

MAIL FROM:admin@xxxx.com #伪造管理员身份发邮件

上面代码表示,连接者将从admin@xxxx.com向邮件服务器发送邮件。邮件服务器返回250状态码,表示响应成功。

250 ok

RCPT TO 命令

使用RCPT TO 命令,验证邮件地址是否存在,如果查询的是一个真实的Email地址,邮件服务器就会返回250状态码,验证邮箱存在的话,还可以给这个接受者邮箱发送邮件。

RCPT TO:admin@xxxx.com

250 ok

一般来说,状态码250和251都表示邮箱存在,状态码5xx表示不存在,其它状态(4xx)则表示无法确定

DATA 伪造邮箱数据

使用DATA命令来伪造邮箱内容,客户端告诉服务器自己准备发送邮件正文

服务器返回码354,表示自己已经做好接受邮件的准备了

DATA

354 go ahead,end data with CRLF.CRLF

输入邮件伪造正文

用英文状态的双引号来修饰正文,正文结束后,发送结束符,表示正文结束

"这是一个test邮件"

.

250 ok message accepted for delivery

如果合理,服务端返回250状态码表示成功

退出 TCP 连接

邮件发送结束,客户端请求断开连接后,使用QUIT命令关闭TCP连接

服务器返回211,提示断开申请被采纳,并主动断开连接,整个邮件发送过程结束

QUIT

221 MAIL-SERVER Winmail Mail Server

Connection closed by foreign host.

完整的流程图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

墨痕诉清风

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值