hacktricks/network-services-pentesting/pentesting-smtp/smtp-smuggling.md

4.5 KiB
Raw Blame History

SMTP走私

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式

基本信息

这种类型的漏洞最初是在这篇文章中发现的文章中解释了当结束电子邮件时可以利用SMTP协议解释的差异来走私更多的电子邮件使攻击者能够在合法电子邮件的正文中走私更多的电子邮件从而可以冒充受影响域的其他用户例如admin@outlook.com绕过SPF等防御措施。

为什么

这是因为在SMTP协议中要发送的电子邮件的消息数据由用户(攻击者)控制,攻击者可以发送经过特殊设计的数据,滥用解析器中的差异,从而在接收端走私额外的电子邮件。看一下原始文章中的这个示例:

https://sec-consult.com/fileadmin/user_upload/sec-consult/Dynamisch/Blogartikel/2023_12/SMTP_Smuggling-Overview__09_.png

如何

为了利用这个漏洞,攻击者需要发送一些数据,使出站SMTP服务器认为只有1封电子邮件而入站SMTP服务器认为有多封电子邮件

研究人员发现,不同的入站服务器将不同的字符视为电子邮件消息的结束,而出站服务器则不会。
例如,常规的数据结尾是\r\n.\r\n。但是如果入站SMTP服务器还支持\n.\n,攻击者可以在他的电子邮件中添加该数据并开始指示新的SMTP命令,就像在前面的图像中一样走私。

当然,这只有在出站SMTP服务器不将这些数据视为消息数据的结尾时才能起作用因为在这种情况下它将看到2封电子邮件而不是1封因此最终这就是在这个漏洞中被滥用的不同步。

潜在的不同步数据:

  • \n.\n
  • \n.\r\n

还要注意,由于如果您从user@outlook.com的电子邮件中走私admin@outlook.com的电子邮件,发件人仍然是outlook.com因此绕过了SPF。

参考资料

从零开始学习AWS黑客技术成为专家 htARTEHackTricks AWS红队专家

支持HackTricks的其他方式