安全分析与研究
专注于全球恶意软件的分析与研究
前言概述
原文首发出处:
https://xz.aliyun.com/t/14583
先知社区 作者:熊猫正正
WikiLoader是一款新型恶意软件,它于2022年12月首次被曝光,由TA544黑客组织进行传播,攻击者利用WikiLoader加载Ursnif恶意软件,攻击意大利组织。
该恶意软件一个非常复杂的下载器,包含多层ShellCode代码,同时通过加载和修改注入系统DLL模块来执行恶意ShellCode代码,笔者针对最新的版本样本进行详细分析,重点跟踪了它的攻击链攻击样本,以及它如何加载和修改注入系统DLL模块执行ShellCode代码的过程,供大家参考,相关样本感兴趣的读者可以从MalwareBazaar网站去下载学习,自己动手调试一遍,才能学到东西。
详细分析
1.样本初始文件是一个PDF恶意文档,如下所示:
2.点击下载按钮之后,会下载一个压缩包,压缩包解压之后是一个JS恶意脚本,如下所示:
3.去混淆之后的脚本内容,如下所示:
4.从网上下载另外一个JS脚本,如下所示:
5.下载的JS脚本,如下所示:
6.去混淆之后的脚本内容,如下所示:
7.从网上下载另外一个zip压缩包,如下所示:
8.压缩包解压缩之后是notepad程序,如下所示:
9.该程序目录下plugins包含一个名为mimeTools.dll的恶意模块文件,如下所示:
10.mimeTools.dll是Notepad++的默认插件,所以会在程序启动时自动加载该恶意模块文件,如下所示:
11.动态调试该恶意模块,获取相关函数地址,如下所示:
12.调用VirtualAlloc分配内存空间,如下所示:
13.创建线程,执行下面的代码,如下所示:
14.获取CreateFileA等函数地址,如下所示:
15.打开目录下的certificate.pem文件,如下所示:
16.读取certificate.pem文件到分配的内存空间当中,如下所示:
17.加载加密库模块Crypt32.dll,然后获取加解密相关函数,如下所示:
18.调用CryptStringToBinaryA解码读取到内存的数据,如下所示:
19.加载加密库模块bcrypt.dll,获取相关的加解密函数,如下所示:
20.设置AES解密算法模式,密钥为9rY6YT5dDI9LInMD8Ht2i0wZlS5k2Flg,如下所示:
21.解密得到第一阶段ShellCode代码,如下所示:
22.设置解密出来的ShellCode代码内存属性,如下所示:
23.然后跳转执行第一阶段ShellCode代码,如下所示:
24.通过LoadLibraryA动态加载bingmaps.dll,如下所示:
25.修改bingmaps.dll模块入口函数代码,修改之后,如下所示:
26.将ShellCode代码注入到bingmaps.dll模块GetBingsMapFactory 导出函数中,注入之后,如下所示:
27.注入之后bingmaps.dll模块之后,GetBingsMapFactory导出函数代码,如下所示:
最后跳转到修改注入bingmaps.dll模块之后的GetBingsMapFactory导出函数的ShellCode代码,到此整个利用系统DLL模块加载修改注入执行过程基本就分析完成了。
威胁情报
总结结尾
黑客组织利用各种恶意软件进行的各种攻击活动已经无处不在,防不胜防,很多系统可能已经被感染了各种恶意软件,全球各地每天都在发生各种恶意软件攻击活动,黑客组织一直在持续更新自己的攻击样本以及攻击技术,不断有企业被攻击,这些黑客组织从来没有停止过攻击活动,非常活跃,新的恶意软件层出不穷,旧的恶意软件又不断更新,需要时刻警惕,可能一不小心就被安装了某个恶意软件。
安全分析与研究,专注于全球恶意软件的分析与研究,追踪全球黑客组织攻击活动,欢迎大家关注,获取全球最新的黑客组织攻击事件威胁情报。
王正
笔名:熊猫正正
恶意软件研究员
长期专注于全球恶意软件的分析与研究,深度追踪全球黑客组织的攻击活动,擅长各种恶意软件逆向分析技术,具有丰富的样本分析实战经验,对勒索病毒、挖矿病毒、窃密、远控木马、银行木马、僵尸网络、高端APT样本都有深入的分析与研究