吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2226|回复: 22
上一主题 下一主题
收起左侧

[PC样本分析] 反沙箱与杀软对抗双重利用,银狐新变种快速迭代

[复制链接]
跳转到指定楼层
楼主
火绒安全实验室 发表于 2024-9-29 18:32 回帖奖励
使用论坛附件上传样本压缩包时必须使用压缩密码保护,压缩密码:52pojie,否则会导致论坛被杀毒软件等误报,论坛有权随时删除相关附件和帖子!
病毒分析分区附件样本、网址谨慎下载点击,可能对计算机产生破坏,仅供安全人员在法律允许范围内研究,禁止非法用途!
禁止求非法渗透测试、非法网络攻击、获取隐私等违法内容,即使对方是非法内容,也应向警方求助!
本帖最后由 火绒安全实验室 于 2024-9-29 17:56 编辑

近期,火绒威胁情报中心监测到一批相对更加活跃的“银狐”系列变种木马,火绒安全工程师第一时间提取样本进行分析。分析中发现样本具有检测沙箱和杀毒软件的行为,还会下载 TrueSightKiller 驱动关闭杀软,同时下载创建计划任务的 Shellcode 实现持久化,最终下载后门模块实现远程控制。目前,火绒安全产品可对上述病毒进行拦截查杀,请广大用户及时更新病毒库以提高防御能力。
火绒查杀图

根据火绒威胁情报中心监测情况显示,该系列木马在9 月 14 日被截获处理,其传播量在 9 月 18 日达到顶峰,直至 9月 20 日不再活跃。
活跃趋势

样本执行流程如下所示:
流程图

一、样本分析
该样本最初通过分配内存,复制 0x14002EB20 处代码并调用。

复制内存

随后通过异或算法对 210002E 处代码进行解密。

解密

之后的具体逻辑如图所示,包含检测沙箱、检测安全软件、关闭安全软件、使函数失效、创建互斥体以及判断管理员权限等操作。

具体逻辑

其中创建互斥体的代码如下,此操作用来检测两个互斥体是否存在,若不存在,则先创建其中之一互斥体,后续创建另一个互斥体。
创建互斥体

检测管理员权限代码如下,如果没有权限则会重新用管理员权限打开。
管理员权限启动

反沙箱
该银狐样本中存在大量反沙箱操作。
通过生僻函数 VirtualAllocExNuma 进行分配内存,若成功则直接返回,并继续执行后续操作。

生僻函数

通过 HeapAlloc 分配相对大的内存—95MB来检测沙箱,并进行 for 循环加。猜测此过程可能是用于检测某些沙箱为了缩短检测时间直接跳过的情况。
检测沙箱

通过三个函数判断:
·时间是否被加速。
·CPU 速度是否过慢。
·rdtsc 是否被篡改使 frndint 计算周期数过小。
反沙箱

判断程序是否处于 Windows Defender 沙箱中:
·利用 NtCompressKey 特定句柄传入返回是否成功。
·利用 NtIsProcessInJob 传入特定值返回 STATUS_VOLSNAP_HIBERNATE_READY {卷影复制服务}系统现在处于休眠状态。
检测 Windows Defender 沙箱

如果不成功,则会检测 SxIn.dll 是否被加载。猜测是以此判断程序是否处于隔离沙箱中。

检测隔离沙箱

检测 CPU 核数大于等于 2 个以上。

CPU 数量

安全软件对抗
样本会通过 VirtualProtect 函数更改内存权限,然后将该函数第一个指令替换为 retn ,使 AmsiScanBuffer 和 NtTraceEvent 函数失效。

Hook 函数

检测是否存在 360tray.exe、360sd.exe、360safe.exe 进程名,若不存在,则进一步搜索相关窗口类名为 Q360SafeMonClass 的窗口。

检测安全软件

如果检测到类名为 Q360SafeMonClass 的窗口,则会利用 PostMessageA 函数将其关闭。

关闭窗口

其中 EnumWindow 遍历窗口时,通过 ChangeWindowMessageFilterEx 函数使该窗口允许接收 WM_QUIT 指令,随后利用发送消息的方式关闭该窗口。

关闭窗口

如果安全软件不存在,则会将 'C:\\','C:\\ProgramData','C:\\Users','C:\\Program Files (x86)' 路径添加到 Windows Defender 白名单中,以躲避检测。
添加白名单

下载 PACqpC.exe
完成上述一系列检查后,该样本会下载一些文件和 Shellcode ,比如:TrueSightKiller 驱动程序和用于创建计划任务的 Shellcode 等。
大致流程如下:解密链接,利用链接下载内容,并使用流密码进行解密,之后创建文件夹并隐藏文件夹。
具体流程

样本在此流程中,利用 InternetReadFile API 函数下载数据。

下载数据

其中,下载链接和下载的数据分别利用凯撒密码和简单流密码进行解密。

解密算法

解密后的 URL 数据如图所示,包含下载链接和相对应的文件名。

URL 数据

随后检查是否有安全软件。

检查安全软件是否存在

如果检查到安全软件,将保持之后下载到的数据解密并写入文件后的文件句柄处于开启状态,以此阻止安全软件的读取。

写入文件

下载后开始分析数据,并提取出异或秘钥和数据开头地址。

分析数据

开始下载 a.gif、b.gif、c.gif、d.gif ,它们分别对应 install.exe(即随机名 PACqpC.exe )、hccutils.dll、1.gif、2.jpg 。这些文件中的最后一个字节用作异或解密的秘钥,倒数第五个字节至倒数第二个字节用于计算出数据开头偏移,其中 b.gif 的最后四位会写入随机数。
整体逻辑

异或、随机数、获取秘钥和偏移

随后会读取自身内容,并利用 */& 定位,将 32 位随机数+*/&之后的 36 位数据写入到 C:\Users\InstallUP.ini 文件中。这些数据是被加密的 IP 和端口,用于下载后门模块后的动态替换 IP 和端口。

InstallUP.ini 文件

接着通过链接 https://197oss.oss-cn-beijing.aliyuncs.com/s.dat 下载 TrueSightKiller 驱动,并将此驱动写入到 C:\Users\TTruespanl.sys 中,同时保持文件句柄处于开启状态。该驱动用于关闭杀毒软件。

下载驱动

之后通过链接 https://197oss.oss-cn-beijing.aliyuncs.com/s.jpg 下载 Shellcode ,通过利用 VirtualProtect 设置执行权限并执行。

下载执行 Shellcode

Shellcode 中存在被压缩的 Dll ,对其进行解压缩后手动加载,并从中获取 RegisterTask 函数地址。

获取 RegisterTask 函数地址

随后调用 RegisterTask 函数,创建计划任务。具体方法是创建并配置一个 RPC 绑定句柄,利用 NdrClientCall3 函数进行客户端 RPC 调用来创建计划任务,其中 XML 数据是计划任务的配置信息。

创建计划任务

计划任务配置信息如图所示,它将实现登录、创建和修改功能,并且每分钟都会自动触发启动。此外,该任务的工作目录被设置为 C:\Users 目录。

计划任务配置信息

PACqpC.exe
PACqpC.exe 文件为白文件,会加载 hccutils.dll,该文件为 VMP 壳。

DLL 文件信息

加载 hccutils.dll 时,会先读取 1.gif 文件,对其进行解密,然后将解密后的内容写入到 PACqpC.exe 的入口点地址。接着读取 2.jpg 文件进行解密后手动加载并执行其中的KMDrvFaxGetJobStatusType 导出函数。

执行 KMDrvFaxGetJobStatusType 函数

之后开始遍历进程,查看是否存在安全软件。

进程名列表

随后通过 RPC 调用实现安装 TTruespanl.sys 驱动(实为 TrueSightKiller 驱动)。在管道通信过程中,有一次传入了驱动名和驱动文件路径,猜测这是用于加载驱动的。
管道通信

TTruespanl.sys 驱动

如果存在安全软件,则会利用 DeviceIoControl 函数传入进程 ID 关闭进程。

DeviceIoControl 函数

其中 0x22E044 是驱动中终止进程的指令。

终止进程

后门模块
完成上述操作后,该样本从 https://m39m.oss-cn-hangzhou.aliyuncs.com/drops.jpg 中下载 Shellcode ,该 Shellcode 用于下载后门模块加载器。这个 Shellcode 跟先前下载的相似,它会先下载 https://m39m.oss-cn-hangzhou.aliyuncs.com/f.dat ,这是 URL 数据,用于下载后门模块加载器的链接组合的数据。
下载 URL 数据

解密后的 URL 数据

之后该样本通过 URL 链接下载后门模块加载器,并将四个文件设置为隐藏的系统文件。然后会读取先前创建的 InstallUP.ini 文件并提取 IP 和端口( 47.76.238.83:8143 和 umxunw.net:8143 )写入 utils.vcxproj 文件,最后执行 wR0jS2.exe 。

下载后门模块加载器并执行

执行后,该样本将加载 tbcore3U.dll 。此时,它会读取 utils.vcxproj 和 log.src 并解密出其他代码和后门模块。其他代码中包含通过设置注册表 ConsentPromptBehaviorAdmin 绕过 UAC 、检测安全软件等操作。最后执行后门模块 Edge 导出函数。
Edge 函数

经对比分析,发现该模块执行逻辑与今年3月份火绒安全实验室发布的《成熟后门在野外“泛滥”,加载Rootkit对抗杀软》文章中提到的后门模块逻辑相同,具体细节可查看往期分析报告。


相似度


二、附录
C&C:


HASH:

免费评分

参与人数 12吾爱币 +13 热心值 +11 收起 理由
32154678925 + 1 + 1 热心回复!
xjxg + 1 + 1 用心讨论,共获提升!
kuigh + 1 + 1 用心讨论,共获提升!
wahx1314 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
story2016 + 1 + 1 用心讨论,共获提升!
mcbaiyun + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
gameyw + 1 + 1 用心讨论,共获提升!
cyylszsb + 1 + 1 热心回复!
locoman + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
GouKu + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
xiao73 + 2 + 1 我很赞同!
posheng + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
justwz 发表于 2024-9-29 20:33
大佬   这种一般怎么把逻辑整理出来的啊
3#
cdryre 发表于 2024-9-29 21:26
4#
lazhou 发表于 2024-9-29 21:54
大佬厉害,这么复杂的东西都能整理清楚,谢谢分享!
5#
wanhzou856144 发表于 2024-9-30 07:27
通过异或算法对 210002E 处代码进行解密后,如何将内容dump出来,然后使用IDA分析的呢?
6#
HA19683 发表于 2024-9-30 08:46
厉害,感谢分享
7#
leg2net 发表于 2024-9-30 08:47
感谢火绒保障我们的信息安全
8#
luochen6 发表于 2024-9-30 09:57
学到了,感谢分享
9#
cyylszsb 发表于 2024-9-30 10:11
看完感觉很牛批。这么复杂的东西都能分析出来。很牛啊
10#
swsjjdcs 发表于 2024-9-30 11:10
感谢分享、学习学习
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-10-7 11:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表