如何发送伪造的电子邮件
最近在看有关协议分析的资料,其中谈到了邮件传输协议(SMTP)的工作原理,深受感触。之后在网上又搜索了一些相关的资料,大概的整理了一下,希望对大家有帮助,有不对的地方请批评指正。
对照此方法可以检验你的邮件服务器是否有此方面的安全缺陷。对用此方法而引起的后果自负(如需转载,请注明信息来源)一、SMTP 邮件的传输QUIT (发送成功,执行退出命令)221 2.0.0 abc.cn closing connection (成功关闭与abc.cn的连接)题外话:
??? 为了体现所发邮件真实可性,注意上面加下划线的部分。需要在data中要包含from(伪造的邮件地址)、to(邮件的接收者地址)、subject(邮件的主题)、date(时间)这几个关键字。也就是我们在邮件中看到的“完整邮件头”下面是一个事例:
From: "admin" <admin@abc.cn> (你伪造的地址)
To: abc@abc.cn (邮件接收者的地址)
Subject: mail test (邮件的主题)
Date: Fri, 16 May 2010 12:45:39 +0800 (邮件的时间信息) 三、具体实现过程
?? 在我们了解了SMTP后,现在开始描述实现过程
第一步 进入字符模式,windows下是DOS:第二步 启动telnet程序:
??????? c:\telnet 172.17.1.1 25
???????? 注意:登录的是25端口,
登录成功后邮件服务器会反馈一个信息“RESPONSE:220 abc.cn ESMTP sendmail 8.14.2/8.14.2; Thu, 22 may 2010 23:30:60 +0800 (CST)” 第三步 注意此时的字符界面是没有任何提示,直接输入:
??????HELO abc.cn (想要伪造邮件的地址域名,比如SINA邮箱:sina.com.cn)
系统会反馈一个信息“Response: 250 abc.cn Hello [172.17.1.1],pleased to meet you”表示邮件系统认可 第四步 输入:
??????MAIL FROM:admin@abc.cn (不能缺少“:”号,下面同样,邮件发送者的地址)
系统反馈信息“Response: 250 2.1.0 <admin@abc.cn> …. Sender ok” 第五步 输入:
??????RCPT TO:abc@abc.cn (邮件接收者的地址)
系统反馈信息“Response: 250 2.1.0 <admin@abc.cn> …. Recipient ok” 第六步 输入:
??????DATA 回车
(开始输入邮件正文,完成后一定要“回车”之后输入“.”号)
.??????? (注意是英文状态下的“.”号,表示邮件输入完毕,最后再“回车”) 第七步 输入:
??????QUIT (邮件内容输入完成,退出)
系统反馈信息“Response: 221 2.0.0 ab.cn closing connection” 到此为止邮件发送完成最后说明:在使用此方法发送邮件的时候,不管如何伪造发件人的地址,但是在接收人的邮件中都会显示你的真实IP