记一次钓鱼邮件分析过程

今天打开邮件,无意中发现了一封全英文的报价信息邮件,附件是 html 的网页文件。NND,我们就一个破小公司充其量也就做几单本地业务哪来的国际大单呢,嘿嘿,既然人家给咱报价了,来而不忘非礼也。那就动手分析一下这个大单吧。 

图片

首先把这个钓鱼的网页复制到安全的 VM,用记事本打开看看什么内容吧,跟自己料想的差不多满篇的“小蝌蚪”,太正常不过了,如果钓鱼的话随随便便右键一下把裤衩都漏出来了,也有点太 low 了。 

图片

打开一下看看什么效果,网页界面做的较逼真,第一个框是我的邮件地址,第二框是用来欺骗输入密码提交查看文档的,到这就也大概理解了此钓鱼网页是用来钓用户邮件密码的。如图 

图片

好吧,那接下来看看它是如何实现钓鱼的,钓完之后的密码是通过什么路径收集的,下面开始网页的代码分析。 

图片

以上为正常网页内容,无需过多解释。 

图片

这里有个 src 的调用 pdf.JS 脚本,服务器还是阿里云看看是什么东东,打开后发现原来引用的是 jQery 脚本,对于天天在坛子的各位大虾这个脚本的作用就一掠而过,Query 是一个高效、精简并且功能丰富的 JavaScript 工具库。它提供的 API 易于使用且兼容众多浏览器,让诸如 HTML 文档遍历和操作、事件处理、动画和 Ajax 操作,说白了作者引用这就是所有的浏览器都可执行。

接着往下看,让我们看看这一坨是什么东东,

图片

JS 不用过多解释一看便知,加密方式是什么呢,在这忽然之间看到了 "unescape" 单词,那就简单多了,解密方法找到了,拿出我的站长工具解密一下看看什么鬼。

图片

NND 这多乱码竟然加密了三次,经过三次 unescape 解密,得到了三个链接的脚本,看看是啥功能。

图片

先看第一个 https://smtpjs.com/v3/smtp.js, 从脚本内容看应该是可以通过该脚本执行邮件发送哦 。

往前翻翻看看主站 smtpjs.com 是干哈的, 哦,果然被我猜中该网站可以帮助实现通过调用 smtp.js 来实现邮件发送。

图片

而且网站还为了安全还可以让使用用户通过 Token 的形式实现邮件发送。

图片

第二个 JS 的调用 https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js,就不分析了同调用阿里云的 jquery 脚本一样,略过。

看第三个 JS 的调用 http://api.ipify.org?format=jsonp&callback=getIP, 从该链接一看初步估计是获取被钓鱼的 IP 地址的,果然不错。

图片

到了这,大概了解该钓鱼网页的思路,利用网页钓鱼用户邮箱密码和 IP 地址,然后通过调用 smtp.js 实现密码和 IP 的收集,继续往下分析看看,还有什么可以挖掘的。

图片

接下来是这个链接,既然看到了明显的标志 type="image/png" href="data:image/png; base64就不用看了以下内容是经过 base64 加密的用于网页显示的图片,略过不看了。

图片

这段内容同 base64 加密的 stylesheet, 也略过了。 

图片

这段内容就在正常不过了,通过用户点击 "View Document" ,调用的按钮函数是 testbutton 事件进行文件查看, 估计这个文件查看也是蒙人的,那下面看看 testbutton 实现了哪些功能。

图片

废话不说了,核心的 testbutton 按钮功能实现肯定在这段加密的 JS 脚本,这段代码钓鱼者为了混淆代码把所有的变量通过 _0x3cf7 等定义混淆,简单整理一下,如下:

图片

通过简单整理后 testbutton() 函数的构成变量定义,常量定义已经非常清晰了。

图片

图片

然后大家再看以上的这个 Email.send 的函数和网站 smtpjs.com 是不是一模一样。好了下面拿出JS解密的利器

通过 https://tool.lu/js 揭秘一下庐山真面目。

图片

解密后的 JS 脚本内容全出来了,var _0x3cf7 作为一个数组包含了以上的内容,通过更换变量的名称我们再简单整理一下。这坨乱码所实现的功能可以全部被识别了,_0x3cf7 作为数组变量,里面包含了 26 个数组成员,不过多解释,如图

图片

$[_0x3cf7[2]] 函数其实对应的 _0x3cf7[2] ,即:getJSON,通过通过链接获取被钓鱼的 IP 地址:

https://api.ipify.org/?format=json

图片

解析后的代码如下:

图片

$[_0x3cf7[7]] 函数对应的 _0x3cf7[7] ,即:https://api.ipdata.co/?api-key=test 实现的功能通过链接 https://api.ipdata.co/?api-key=test 获取 JSON,然后截取 城市,国家字段,解析后代码:

图片

function testbutton() 函数通过利用 SMTP.JS 调用完成被钓鱼的邮箱地址,密码,IP,城市和国家的发送,解密后的代码如下:

图片

好了分析到这,该邮件钓鱼的内容差不多分析完毕。另外既然得到了该钓鱼者在 smtpjs.com 留下的 SecuriyToken,和邮箱地址,可以做的就有很多了,大家可以自己百度。同时为了保护国内的小白把该邮件钓鱼木马上传 360 杀毒团队,现在 360 病毒库已经更新,该钓鱼样本可以及时进行查杀了。 

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值