基本情况概述
最近,我们关注到一起APT攻击事件,攻击者通过钓鱼邮件的方式投递含有恶意代码的附件,此附件包含一个名叫“Kaskitya”的木马。
我们对木马进行深入分析后,发现此木马主要针对中国区(包括繁体用户等)用户攻击。该木马除了常规的数据窃取功能外,还会对特定文档进行破坏。
攻击过程还原
该样本使用office图标伪装自己,并将自己命名为“京卡-互助服务卡”的介绍文档,欺骗用户点击。
此样本被点击运行后,会释放恶意DLL后门,通过解密配置文件,回连远程服务器并等待接受黑客指令。
主要样本分析
我们分析该样本,发现它是使用NSIS进行打包的可执行程序,并使用了Word图标的进行伪装。
双击运行后,它会在“前台”打开一个《京卡•互助服务卡简介》的文档欺骗用户。
实际上,它还会在后台偷偷的加载一个叫“zbquq.dll’的恶意dll文件,通过安恒APT攻击预警平台自动化分析结果,可以清晰的发现其运行流程:
通过上图,我们可以发现它是通过Rundll32.exe加载恶意Dll文件中的输出函数DLLEntry。
我们观察该DLL文件,可发现它包含多个输出函数供其他程序调用:
通过分析后,可确定每个输出表函数大概功能如下:
由此发现大部分操作都和LNK文件有关系,最核心的功能全在DllEntry函数里面。
解密机制分析
该DLL文件大部分字符串都是加密存储,内部有2套解密机制。
通过分析,发现2套解密算法类似,解密代码如下:
解密效果如下:
自启动机制分析:
该样本没有直接写启动行为(例如:写自启动注册表或自启动目录),而是采取迂回的方式,修改正常LNK文件的指向。
具体功能的实现在输出表函数DllInstall(备注:DllUninstall和DllInstall相同代码)中,它会查找如下目录中包含的LNK文件:
并写入批处理文件“aecom.bat”,批处理文件是通过调用输出函数DllSetClassObject进行LNK修改:
具体实现是调用com接口感染LNK文件的 “Command Line”字段:
由于被感染的目录是我们日常办公时习惯使用的目录,当日常办公时,我们习惯点击相关快捷方式,从而导致恶意DLL被动加载。
回连指令分析
主恶意程序会从自身释放加密的配置文件“aecom.dat”,它会第4个字节开始读取6个字节长度与密钥“\x7c\x18\x95\x47\x69\x13\x68”进行异或。
再经过2次解密算法后得到回连地址:45.79.81.116
通过安恒威胁分析平台可以分析,该IP属于vps服务商Llinode所有。
虽然远程黑客C&C服务器暂时不能连接,但我们通过分析还是能确认回连的功能。当恶意软件接收到恶意服务器反馈的“!HELLO”指令后,会进入接收控制指令阶段。
其接收的指令具体含义如下:
数据搜集主要来自“!CAB”功能函数,通过构造ddf配置文件后,使用系统自带的makecab程序进行压缩:
除了搜集数据功能,它还具有破坏功能。
它会从C盘到Z盘进行文件遍历,查找固定硬盘和可移动硬盘中包含特定文件后缀名(后缀列表为:doc、docx、ppt、pptx、xls、xlsx、txt)的文件,并按照指定的时间查找删除。
另外样本还会调用del命令删除WPS升级相关程序:
总结
从目前的情况来看,该样本能通过恶意后门加载插件运行,后续可通过插件可以实现任意功能。
建议措施:
相关IOC
文件hash:
daf8c5c5160196f8d49e6116937c83e1
57f903ccd4fdfe3bdaab4008379ab66e
461e41c760806995bfa59265875a5ddd
回连地址:
45.79.81.116