Zscaler威胁实验室ThreatLabz发现,自2024年9月开始活跃的CoffeeLoader恶意软件家族采用多种技术规避终端安全检测,以下载第二阶段有效载荷。该恶意软件运用的高级技术包括:基于GPU的加壳、调用栈欺骗、休眠混淆和Windows纤程技术。该恶意软件通过SmokeLoader传播,两者具有相似行为特征。
Zscaler在报告中指出:"CoffeeLoader实现了多项对抗终端安全软件的功能,包括调用栈欺骗、休眠混淆和Windows纤程技术。该加载器采用我们命名为Armoury的加壳程序,通过在系统GPU上执行代码来阻碍虚拟环境分析。"
恶意软件暂存组件创建挂起的dllhost.exe进程,通过NtAllocateVirtualMemory、NtProtectVirtualMemory和NtWriteVirtualMemory注入主模块。在终止前修改线程上下文执行注入代码。
主模块采用DJB2算法解析API函数,并运用调用栈欺骗、休眠混淆和Windows纤程等高级规避技术。报告补充说明:"主模块还通过哈希值解析API函数地址,但使用DJB2算法。该模块实施了多项规避杀毒软件(AV)和终端检测响应(EDR)的技术。"
CoffeeLoader支持多种命令,可注入执行shellcode、可执行文件和DLL。具体命令包括:休眠(0x58)、在指定进程注入运行shellcode(0x87)、更新休眠混淆方法和超时(0x89)、将可执行载荷写入临时目录并运行(0x91)、将DLL载荷写入临时目录并通过rundll32.exe执行(0x93)。
该恶意软件采用调用栈欺骗技术掩盖函数调用来源,规避分析堆栈跟踪的安全工具。通过建立合成堆栈帧和动态映射系统调用,避开用户模式钩子。在休眠混淆方面,CoffeeLoader在非活动状态加密内存,仅在执行时解密。还通过修改内存权限和为关键系统函数添加异常,绕过Windows控制流防护(CFG)。
ThreatLabz发现CoffeeLoader与SmokeLoader存在多项相似性,暗示两者可能有关联。两个恶意软件家族都使用暂存组件将主模块注入其他进程,基于系统详情生成僵尸ID,并创建与僵尸ID关联的互斥体名称。它们都采用哈希解析导入项,在全局结构中存储内部变量,使用硬编码RC4密钥加密网络流量。两者都重度依赖底层Windows API,并通过修改文件属性保持隐蔽。
在持久化机制方面,CoffeeLoader最新版本每10分钟运行计划任务(无需提权)。2024年12月据称出现新版SmokeLoader,与CoffeeLoader共享多项规避技术。但尚不确定CoffeeLoader是SmokeLoader的演进版本,还是巧合相似。
报告总结指出:"CoffeeLoader加入了竞争激烈的恶意软件加载器市场。开发者集成的红队攻防概念(如调用栈欺骗、休眠混淆和Windows纤程)使其具备竞争优势。虽然SmokeLoader传播CoffeeLoader且两者存在显著相似性,但确切关系仍有待厘清。"报告最后提供了完整的入侵指标(IOCs)。
原文始发于微信公众号(FreeBuf):CoffeeLoader恶意软件利用GPU加壳技术规避检测
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论