SMTP,隐藏'rcpt to'值



收到一封来自垃圾邮件发送者的电子邮件,收件人是我的域名中不存在的用户,我们称其为example.com。显然,标题被欺骗了,但我必须假设"接收到"字段是合法的,因为它到达了我。我所有的邮件都是从我的域名sendmail转到我的gmail的。

麻烦是没有在邮件源在gmail显示我的合法电子邮件地址的垃圾邮件发送者指定达到我。我在消息来源中看到的都是假邮件。我也不能复制这个。这是第一个'received from'部分:

> Received: from SQSZJWGPY ([1.52.114.198]) 
> by example.com (8.14.4/8.14.4) with ESMTP id s5PEIUCI003583;
> Wed, 25 Jun 2014 10:18:31 -0400

在所有其他电子邮件的最后一行看起来像这样:

for me@example.com; Wed, 25 Jun 2014 10:32:11 -0400

显示了合法的电子邮件。我知道信封不包含在消息源中,但必须有一种方法来找出"接收到"的值是什么,而不需要进入sendmail日志记录和什么。垃圾邮件发送者如何隐藏他指定的电子邮件?

电子邮件消息的内容,特别是to, ccfrom头,并不一定对应于邮件的信封mail fromrcpt to。RFC 5321中指定的SMTP协议是发送信封数据的地方。

消息内容,在RFC 5322中指定,包含消息头和消息体。头是你找到to, ccfrom头的地方,我们通常使用它们来识别谁发送了消息以及谁收到了消息。

然而,没有要求from, tocc标头与信封mail fromrcpt to匹配,尽管行为良好的邮件软件通常会明确这种关联。我说"经常"。因为,例如,当您在邮件中盲目抄送(BCC)某人时,您的邮件客户端将不会在tocc标头中包含这些收件人。

在您的示例中,指定给sendmail的rcpt to默认情况下不会放入报头中,因此可能会丢失。如果您真的不想查看sendmail日志,那么对于这条消息,您可能就不走运了。

如果你希望你会继续收到类似的消息,你可以指示sendmail将信封的收件人添加到标头中。然后,在不查看sendmail日志的情况下,您将在X-Envelope-To标头中获得rcpt。

垃圾邮件发送者可能有一个SMTP服务器,他有一个配置为管理员的电子邮件帐户,那么他可能可以从不同的发件人发送电子邮件。SMTP服务器可能没有一些过滤器来控制输出和输入电子邮件,那么如果您是该服务器的管理员,即使您的域名不是yahoo.com,您也可以从发件人发送电子邮件,如"example@yahoo.com"。有一次,我和一些合作伙伴在一家公司(客户)做了一个测试,以证明他们的SMTP服务器可以成为网络钓鱼攻击的受害者,我们可以用不同的域名从不同的发件人发送电子邮件。

我希望这些信息对你有帮助。

好运。

经过多次测试和试错,我找到了自己问题的答案。请记住,我使用的是sendmail 8.14.4(5年前的),我没有对sendmail做太多调整。mc文件。

如果在SMTP会话期间,发送方在"接收到"行中指定了一个不存在的帐户,然后是一个有效的帐户,则接收方的地址在头中被屏蔽。例如

mail from: spammer@example.com
250 2.1.0 spammer@example.com... Sender ok
rcpt to: bad
550 5.1.1 bad... User unknown
rcpt to: good
250 2.1.5 good... Recipient ok
data
354 Enter mail, end with "." on a line by itself
looks good?
.
250 2.0.0 s5UHeBOj004847 Message accepted for delivery

消息到达用户'good',在消息头(或消息的其他地方)没有任何地方表明它被发送到'good'。

可能垃圾邮件发送者无意或故意这样做,但他们确实这样做了,并且每次使用上述方法都可以复制,至少对于我的sendmail版本。

最新更新