SLOW#TEMPEST黑客采用新型规避技术绕过检测系统

安全研究人员发现SLOW#TEMPEST恶意软件活动采用创新混淆方法,包括DLL侧加载、控制流图混淆和动态跳转,以逃避检测并阻碍分析。这些技术利用合法签名二进制文件和运行时地址解析,增强隐蔽性。

SLOW#TEMPEST黑客采用新型规避技术绕过检测系统

安全研究人员发现SLOW#TEMPEST恶意软件活动出现复杂演变,威胁行为者部署创新的混淆方法以逃避检测并增加分析难度。

该变体通过包含良性和恶意组件的ISO文件分发,利用合法签名二进制文件DingTalk.exe进行DLL侧加载,以加载名为zlibwapi.dll的恶意DLL。此加载器DLL解密并执行附加到另一个文件ipc_core.dll的嵌入式有效载荷,确保仅当两个元素都存在时才执行恶意操作。

该活动的战术,包括通过动态跳转和混淆函数调用进行的控制流图(CFG)混淆,显著阻碍静态和动态分析,迫使安全从业者采用高级仿真和脚本来剖析代码。

高级混淆技术

在CFG混淆领域,恶意软件采用动态跳转,例如JMP RAX指令,其中目标地址在运行时基于寄存器值、内存内容以及CPU标志(如零标志(ZF)和进位标志(CF))计算。

这些跳转破坏了可预测的执行路径,使得传统反编译器(如Hex-Rays)产生不完整的伪代码而失效。分析师通过使用IDAPython脚本来识别调度器序列(每个跳转前的九条指令)来应对此问题,这些指令通过条件移动(例如CMOVNZ)或设置(例如SETNL)实现双向分支。

通过使用Unicorn框架仿真这些调度器,研究人员提取字节码,并为每个调度器模拟两次执行,以揭示真和假分支目标。根据报告,通过直接跳转修补IDA Pro数据库恢复了原始控制流,实现了完全反编译并暴露了进一步的规避层。

在此基础上,混淆函数调用通过在运行时动态解析地址进一步掩盖恶意软件的意图,通常通过CALL RAX调用,掩盖了如GlobalMemoryStatusEx的Windows API调用。此技术防止在静态分析期间立即识别恶意行为。

采用类似的仿真策略,脚本解析这些调用目标并在IDA Pro中设置被调用者地址,允许自动标记函数参数和重命名变量。去混淆后,加载器DLL的核心功能清晰出现:它执行反沙箱检查,仅在系统具有至少6 GB RAM时继续,然后在内存中解包并执行有效载荷。此类检查利用分析环境和真实目标之间的资源差异,增强隐蔽性。

对网络安全的影响

SLOW#TEMPEST活动强调了恶意软件开发中不断升级的军备竞赛,其中动态规避战术挑战基于签名的检测,并需要混合静态-动态方法。通过通过网络威胁联盟分享这些见解,组织可以加强保护,例如Palo Alto Networks的Advanced WildFire通过行为分析检测样本,Cortex XDR/XSIAM通过机器学习和shellcode AI模块防止执行。

对于潜在的泄露事件,建议立即联系事件响应团队。此分析不仅揭示了恶意软件的反分析武器库,还为防御者提供了可操作的方法(如仿真脚本),以在日益复杂的网络攻击时代应对类似威胁。

泄露指标(IOCs)

SHA256哈希 文件大小 描述
a05882750f7caac48a5b5ddf4a1392aa704e6e584699fe915c6766306dae72cc 7.42 MB SLOW#TEMPEST活动中分发的ISO文件
3d3837eb69c3b072fdfc915468cbc8a83bb0db7babd5f7863bdf81213045023c 1.64 MB 用于加载和执行有效载荷的DLL
3583cc881cb077f97422b9729075c9465f0f8f94647b746ee7fa049c4970a978 1.64 MB 在覆盖段中包含加密有效载荷的DLL
comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计