反沙箱与杀软对抗双重利用,银狐新变种快速迭代

反沙箱与杀软对抗双重利用,银狐新变种快速迭代
免责声明
由于传播、利用本公众号听风安全所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,公众号听风安全及作者不为承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

公众号现在只对常读和星标的公众号才展示大图推送,

建议大家把听风安全设为星标,否则可能就看不到啦!

———————————————————————-

近期,火绒威胁情报中心监测到一批相对更加活跃的“银狐”系列变种木马,火绒安全工程师第一时间提取样本进行分析。分析中发现样本具有检测沙箱和杀毒软件的行为,还会下载 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:UsersInstallUP.ini 文件中。这些数据是被加密的 IP 和端口,用于下载后门模块后的动态替换 IP 和端口。

反沙箱与杀软对抗双重利用,银狐新变种快速迭代

InstallUP.ini 文件


接着通过链接 https://197oss.oss-cn-beijing.aliyuncs.com/s.dat 下载 TrueSightKiller 驱动,并将此驱动写入到 C:UsersTTruespanl.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:

反沙箱与杀软对抗双重利用,银狐新变种快速迭代


不可错过的往期推荐哦


反沙箱与杀软对抗双重利用,银狐新变种快速迭代

MSSQL绕过杀软上线

万字长文 | 零基础快速上手JAVA代码审计

“李鬼”软件暗设后门,对抗杀软侵蚀系统

浅谈如何让钓鱼攻击无所遁形

HW钓鱼佬思路全放送,拒绝空军!

后门病毒伪装PDF文档,利用钓鱼邮件实现远控

基于未授权的渗透测试技巧总结

点击下方名片,关注我们

觉得内容不错,就点下在看

如果不想错过新的内容推送可以设为星标反沙箱与杀软对抗双重利用,银狐新变种快速迭代




原文始发于微信公众号(听风安全):反沙箱与杀软对抗双重利用,银狐新变种快速迭代

版权声明:admin 发表于 2024年10月10日 下午8:56。
转载请注明:反沙箱与杀软对抗双重利用,银狐新变种快速迭代 | CTF导航

相关文章