基于Tor网络的钓鱼邮件分析

2018-07-30 17:29:20 浏览数 (2)

一、背景

五月十一日,我们的蜜罐系统捕获到来自xxxxxxxxx@uscourtsgov.com邮箱的钓鱼邮件。其中uscourtsgov就已经是一个很唬人的服务器名称了。邮件伪装美国法院的传票,并会要求受害者打开邮件的附件(一个加密的word文档)了解详细的信息。

这个钓鱼邮件很有意思,作者对文档进行加密,可以有效的防止各个邮件服务器的拦截,并且会给受害者营造一个神秘的氛围,让人忍不住就想打开瞧一瞧。我们输入文档密码,word提示我们是否启用宏。

当我们启用宏后,会看到一个提示信息。大体的意思是,“本文档无法打开,请更换一台计算机试试“。看到这里读者们是不是很奇怪,我们明明打开了文档,为什么还会出现类似兼容性的提示呢?其实这个提示信息应该是宏产生,作者的目的是想让受害者在多个计算机中打开这个文档。作者的小心思可见一斑啊。

点击确定后显示给我们的是word的文本内容,文档模仿成一个微软的信息提示。内容的大体意思是提示受害者这个文档要在pc上使用MS打开,并且要允许宏运行。作者这么做的目的是为了防止此文档在web或其他应用中打开,导致宏无法运行

我们可以看出此钓鱼邮件是经过精心设计的,既然花了这么大的心思,作者对于后续的攻击也肯定是付出了很大的努力。这次钓鱼邮件的分析也将是一场有趣的旅程。

二、攻击流程

我们在执行完word文档后,发现系统出现了一些可疑的网络行为,所以在进行详细分析之前,我们先总体上对钓鱼邮件的攻击流程进行跟踪,从宏观上掌握此次事件的整体流程,随后再对具体的步骤进行详细的分析。大体的分析出了以下的攻击步骤:

  1. 受害者接收钓鱼邮件,打开邮件附件的word文档,并执行宏脚本。
  2. 宏脚本下载执行一个名为background的恶意文件,并弹出系统不兼容的提示框。
  3. background下载一个名为taskwgr.exe的自解压文件,解压生成两个文件install.sql和svchost.exe。4. taskwgr.exe执行svchost.exe。svchost.exe文件将install.sql解密,执行。
  4. install.sql会连接tor网络,然后加密受害者计算机的文件,弹出勒索信息。

攻击流程图:

三、word宏分析

如果允许宏运行,很遗憾,受害者的计算机很有可能会受到后续的一系列攻击。

那么宏到底做了什么?就让我们一起来研究一下。我们先将word文档密码去掉,另存为一个新的文档。

我们查看宏的内容,此时会发现文档中宏及VB工程都是空的。

好吧,看来我们没那么容易获取到宏代码。攻击者还算是想的比较周密,将代码隐藏了起来。

在word中启用文档宏,点击确定时,按住SHIFT,阻止宏自动执行。再次打开VB编辑器,现在文档中的VB工程出现了,打开时会发现工程被加了密码。

不过VB工程的密码可以通过破坏工程文件加密结构的方法将其破坏,我们还是可以获取到代码的。首先将文档另存为docm格式,因为新版office文件是zip格式。

然后再将保存出来的docm扩展名修改为zip,解压。

在解压出来的目录中,可以找到word/vbaProject.bin,该文件就是word文档的VB工程文件。

用16进制编辑器打开,找到“CMG=”和“DPB=”,这里就是VB文档的加密结构,因为word的处理机制问题,只需要将DPB改为DPx即可使密码失效。

找到“DPB=”字符串,直接将DPB改为DPx,这样密码就失效了。

将之前解压出来的目录重新打包成zip格式的docm文件

现在打开保存出来的docm文件,启用宏,word会提示DPx无效,点击“是”的时候需要按住shift阻止代码自动执行。

再次打开VB编辑器,就可以看到文档的VB宏内容了。

我们成功获取到了宏代码,这段VB的实际操作为比较简单,具体行为如下:

1从http://185.189.58.xxx/~filehost/ background.png下载一个PE文件

2、将文件保存/svchost.exe

3、执行该文件

4、弹出消息框,大致意思为:“系统不支持该加密文档,请尝试在其他机器上打开”

5、关闭word文档

四、background行为分析

word宏的目的是下载一个PE文件,那么我们接下来需要对该PE文件进行分析。我们针对样本关键的内容进行讨论,为了叙述方便,我们下文都将样本称之为background。

1.background是由NSIS制作的安装程序。background会获取临时路径,这将是background接下来的工作路径。

2.在临时目录创建一个文件夹,用于存放释放的文件。

3.接下来background会释放出一个用于加密解密的动态链接库wpoke.dll。

4.background加载wpoke.dll,使用其中导出的DecryptSymmetric函数进行数据解密。

解密两段加密数据,其中第一段为访问下载的URL。

第二段为文件名称svchost.exe 。

5.接下来释放用于下载的INetC.dll。其中释放代码与wpoke.dll代码相同。然后加载INetC.dll,调用其中的get函数进行下载。

6. 将下载文件保存为用户的ApplicationData目录下taskwgr.exe,启动taskwgr.exe

至此我们已经清楚background的主要行为了。background是个下载器,主要目的是下载taskwgr.exe文件,并运行。

五、taskwgr.exe行为分析

分析taskwgr.exe可以发现taskwgr.exe并不是一个PE文件,而是个加密的winrar自解压文件。我们通过捕获background的CreateProcess可以截取到taskwgr.exe的解压密码。

使用密码解压taskwgr.exe文件,释放出install.sql和svchost.exe。从扩展名上看install.sql是个数据文件。我们先分析svchost.exe,会发现svchost.exe加壳了,脱壳后的主要代码如下图。

svchost.exe读取install.sql文件(解密后实际上是一个新的PE可执行文件),创建一个自身的子进程,将解密后PE内容直接写入子进程的进程中,达到执行并隐藏该行为的目的

六、install.sql行为分析

解密的install.sql是一个勒索病毒,主要流程为:

1.检测系统信息,获取了系统版本、用户名、机器名,访问http://ip-api.com/json获取本地 IP信息

2.下载Tor

https://archive.torproject.org/tor-package-archive/torbrowser/7.0/tor-win32-0.3.0.7.zip

下载了tor,保存在

AppDataRoamingMicrosoftB284A9B11BD4B45CDAF4B8CF39A4B97BSystem.zip

3.当下载完成后,解压,并将tor.exe重命名为svchost.exe,然后执行。(tor原本被以隐藏方式执行,手动将其改为正常显示)

可以发现作者在程序中设置了tor代理,之后将通过tor发送网络请求

4.然后样本根据系统信息,补上了连接的参数部分,连接自己的服务器

http://lzt4y6qj7azyldq2.onion/control.php?uid=B284A9B11BD4B45CDAF4B8CF39A4B97B&uname=Fate&os=Windows7&pcname=WIN-UBAA1MQALH9&total=8970&country=China&network=yes&subid=1595.

在加密完系统中的文件后,会放出勒索信息,同时向服务端发送相应的信息

勒索信息

七、后续和总结

我们将此次涉及到的恶意ip在我们自有的恶意情报平台进行查询。搜集到一些关于此次钓鱼邮件事件的信息:

相关病毒文件

URLs Date scanned Detections URL 2018-05-14 5/67http://185.189.58.xxx/~filehost/scan_05_05_2018.doc?VGZbmiGdjdbrXrDCozJxbSTL 2018-05-14 5/67http://185.189.58.xxx/~filehost/scan_05_05_2018.doc?ckeRwnnATifPUAVXIKGUg 2018-05-14 3/67http://185.189.58.xxx/~filehost/1/scan_05_07_2018.doc?UwtmZfooHBtFn 2018-05-13 4/67http://185.189.58.xxx/~filehost/message.gif?iLbhFrEfVgEtV 2018-05-12 12/68http://185.189.58.xxx/~filehost/background.png

从相关病毒文件可以看出来,样本最初出现的时间在五月份初。攻击者通过伪造法院的传票,发送钓鱼邮件来传播勒索病毒。邮件通常是发给目标的企业员工,攻击其文件加密,从而进行勒索。虽说勒索病毒需要连接到tor网络,国内的小伙伴并不需要过分担心。但还是要提醒各位读者,不要随便点击来路不明的邮件附件,请使及时对计算机中的重要资料进行备份,防止不必要的损失。

我们会对此次事件进行持续追踪和关注。

* 本文作者:水滴安全实验室,转载请注明来自FreeBuf.COM

0 人点赞