对钓鱼邮件的深入安全分析过程分享




       今天打开邮件,偶然发现一份全英文的报价信息邮件,附件为html网页文件。NND,我们

一家破小公司最多做几单本地生意,哪有国际大单啊,嘿嘿,既然人家给咱报价,那就来不忘

非礼也。那么就开始分析这张大单吧。
 
 
 
先将此钓鱼网页复制到安全AS上,用记事本文件打开看一下有什么内容,和自己想象的差不多

满篇的“小蝌蚪”,太正常了,如果钓鱼随便点一下右键,就会把裤裆里的东西都漏出来,还有点

太low。看一看效果吧,网页界面做得比较逼真,第一个框是我的邮箱地址,第二个框是用来欺

骗输入密码提交查看文档的,到这里也大概明白这一个钓鱼网页是用来获取用户邮件密码的。


那么,接下来看一下它是如何实现钓鱼的,钓鱼结束后,通过什么路径收集密码,下面开始对网

页进行代码分析。上述是普通网页的内容,不需要过多的说明。这是一个src调用azw3.JS脚本,

服务器还是阿里云看上去,打开后发现原来引入的是jQery脚本,针对那些每天在社区论坛上发

帖的人来说,这一个脚本的作用不言而喻,Query是一个效率高、简化且功能丰富的java代码S

cript软件库。其提供的API很容易使用,并且与许多浏览器兼容,比如HTML文档解析xml和实际

操作,事件处理,动画片和Ajax实际操作,换句话说作者引入了所有浏览器都可以执行的API。
 
 
再往下看,我们一起看一下这一大块是什么东西,JS无需过多解释就了解了,加密算法有什么

,在这里突然间看到了"unescape"这个词,那就简单多了,找出解密的方法,拿出我的站长工

具来解密看一下有什么鬼。这一个多错码竟然加密了3次,经过3次unescape解密,获得三个

链接脚本,看一下有什么功能。首先看一下第一个/v3/smtp.js,从脚本内容来看,应该是可以

执行邮件的。翻阅一下主站smtpjs.com就了解了,哦,我猜这一个站点确实有助于实现通过调

用smtp.js实现邮件发送。另外,为了安全,网站也允许用户通过Token格式实现邮件发送。而

第二次JS的调用jquery/3.2.1/jquery.min.js,与调用阿里云的jquery脚本的调用没有区别。查看

http://api接口.ipiqn.org第三个JS调用?format=josn&soughtback=getlP,从这一个链接看来,

基本可能是获得了被钓鱼的IP地址,果然不错。
 
 
对此,大概了解这一个钓鱼网页的思路,利用这一个网页钓鱼用户的邮箱密码和IP地址,然后

通过调用smtp.js实现密码和lP的收集,继续往下分析,看一下还有什么可挖掘的。下面是这一

个链接,现在你可以看到一个明显的标志type="image/png"href="data:image/png;base64,而

不需要看下面的内容,它是base64加密的图片,只需稍微看一下就可以显示网页。此内容与

base64加密的stylesheet相同,但略有不同。一般情况下,这些内容都是通过用户点击ViewD

ocument,调用按钮函数testbutton事件来进行文件查看,可能这一个文件查看也是蒙人的,

那么看一下testbutton实现了什么。一言以蔽之,testbutton按钮的核心实现肯定是在这里段

加密的JS脚本中实现的,这段JS脚本是为了让代码中所有的变量混淆,比如_0x3cf7,对其

进行了简单的整理,如下:通过简单整理testbutton()函数的组成变量定义,常量定义已经很

清楚了。
 
 
接下来我们再来看看Email.send上面的功能,它与网站smtpjs.com是完全相同的。下面就是

JS解密的利器.JS脚本中解密的内容全部出来了,var_0x3cf7作为一个包含以上内容的数组,

通过替换变量的名称我们可以对其进行简单的整理。这种错码所实现的功能完全可以识别,

作为一个数组变量_0x3cf7,它包含26个数组成员,没有太多解释。
分享: