当前位置: 首页 > news >正文

伪装成华硕游戏辅助软件的ArmouryLoader:突破系统安全防护的恶意代码注入器

image

恶意软件伪装成华硕官方工具

ArmouryLoader于2024年底首次出现在威胁领域,它通过劫持华硕Armoury Crate工具的导出表,将这个可信的游戏辅助软件变成了高级恶意软件活动的初始入口点。

隐蔽的加载机制

此后,安全团队发现相关事件持续增加。该加载器能悄无声息地绕过终端遥测技术,在GPU内存中解密有效载荷,并直接加载从CoffeeLoader到SmokeLoader等各种恶意软件,而无需在磁盘上留下任何文件。

该加载器能够选择支持OpenCL的设备,将权限提升与高级混淆技术相结合,并伪造调用栈,因此成为针对消费级和企业环境的金融动机威胁行为者的首选工具。

多阶段攻击流程

攻击者通常通过鱼叉式网络钓鱼压缩包或被入侵的软件存储库来分发被篡改的ArmouryA.dll文件。一旦恶意DLL被旁加载,执行就会进入第一阶段——大量可逆算术运算旨在填充反汇编列表,同时保持寄存器不变。

ArmouryLoader添加的无用指令

几秒钟内,第二阶段会生成一个新线程,解密下一个PE存根并将执行交给第三阶段。在第三阶段,OpenCL内核完全在GPU上对密文块执行异或运算,从而规避监控CPU相关API调用的沙箱钩子。

Armoury自解密代码

广泛的攻击影响

4hou分析师指出,该加载器对GPU的依赖迫使许多自动化沙箱进入死路径,因为它们提供的是虚拟化、非加速的图形适配器。该加载器的影响范围广泛:远程办公终端接收第二阶段木马,安全运营中心(SOC)难以处理不透明的调用痕迹,事件响应人员则面临每次重启后都会重新安装freeBuffer劫持的持久性任务。

恶意DLL中嵌入的数字签名带有合法的"ASUSTeK COMPUTER INC."发布者字段,这进一步帮助了针对信任可见证书的非技术用户的社会工程攻击。

持久化策略:无法删除的定时任务

虽然混淆和GPU端解密获得了最多的关注,但ArmouryLoader的持久化层才是确保长期访问的隐形力量。

第五阶段首先查询TokenElevationTypeCheckTokenMembership来判断当前上下文是否具有管理员权限。如果是,加载器会将自己复制到%PROGRAMDATA%\ArmouryAIOSDK.dll,设置系统、隐藏和只读属性,并修改文件的ACL,使即使是本地管理员也会收到"拒绝删除"条目。

以下代码片段摘自第五阶段PE,展示了这些权限是如何被强制执行的:

pList.grfAccessPermissions =DELETE | FILE_WRITE_DATA | FILE_APPEND_DATA |FILE_WRITE_EA | FILE_WRITE_ATTRIBUTES;
pList.grfAccessMode  = DENY_ACCESS;
SetEntriesInAclW(1, &pList, NULL, &newAcl);
SetNamedSecurityInfoW(L"%ProgramData%\\ArmouryAIOSDK.dll",SE_FILE_OBJECT, DACL_SECURITY_INFORMATION,NULL, NULL, newAcl, NULL);

如果没有高完整性权限,第五阶段会优雅降级,将DLL放入%LOCALAPPDATA%,但仍应用相同的属性强化。无论路径如何,它都会调用schtasks.exe(或在较新版本中调用任务计划程序COM API)来创建一个"AsusUpdateServiceUA"任务。

在提升的上下文中,任务会在登录时以/RL HIGHEST标志运行;否则会在当前用户下每30分钟重复一次。原始报告中的图2-5("AsusUpdateServiceUA Properties.png")描述了配置为每次登录时触发的任务,从而巩固了立足点。

后续变种完全绕过schtasks.exe,调用ITaskDefinition::RegisterTaskDefinition,使得监视命令行工件的EDR规则看不到任何异常。最后一个隐蔽措施是:ArmouryLoader在使用CMLuaUtil以完全管理员权限重新启动自身之前,会重写PEB的ImagePathName和相应的LDR_DATA_TABLE_ENTRY字符串为"explorer.exe"。

因此,任何执行表面进程名称检查的安全产品都会认为权限提升源自Windows shell。通过结合篡改的数字签名、加密的GPU工作负载和ACL强化的计划任务,ArmouryLoader提供了一个持久、低噪声的交付渠道,在防御者加强GPU遥测并限制全系统范围内的任务注册API之前,这一渠道很可能仍对攻击者具有吸引力。

http://www.lryc.cn/news/604551.html

相关文章:

  • 什么是云原生?
  • Netty的Http解码器源码分析
  • 【解决方案】frida-ps -Ua报错unable to perform ptrace pokedata: I/O error
  • cgroups测试cpu bug
  • 达芬奇速成班-面板介绍
  • 什么是CHO细胞?
  • 深入剖析 StarRocks 与 Hive 的区别、使用场景及协同方案实践
  • Spring Cloud Gateway静态路由实战:Maven多模块高效配置指南
  • 安全和AI方向的学习路线
  • docker常用命令集(6)
  • Shopify Draggable + Vue 3 完整指南:打造现代化拖拽交互体验
  • Apache Ignite 与 Spring Data 集成
  • 人工智能与安全:智能安防的创新与伦理边界
  • 把Java程序部署到本地Docker
  • 常见CMS
  • NVIDIA Isaac平台推动医疗AI机器人发展研究
  • Hyperchain 的分级权限体系如何应对潜在的安全威胁和攻击?
  • 关于Docker【常见问题解决方案】
  • 【问题未解决-寻求帮助】VS Code 中使用 Conda 环境,运行 Python 后 PowerShell 终端输出内容立即消失
  • 随笔之TDengine基准测试示例
  • 【开源】一款开源、跨平台的.NET WPF 通用权限开发框架 (ABP) ,功能全面、界面美观
  • 基于 Flask 和 MySQL 的期货数据分析系统
  • 【NLP舆情分析】基于python微博舆情分析可视化系统(flask+pandas+echarts) 视频教程 - 微博评论IP地图可视化分析实现
  • Vue + Flask 管理系统开发方案
  • 【Flask 基础 ①】 | 路由、参数与模板渲染
  • [Agent开发平台] API网关 | 业务领域 | DTO格式 | 分页令牌
  • FPGA实现CameraLink视频解码转SRIO与DSP交互,FPGA+DSP多核异构图像处理架构,提供2套工程源码和技术支持
  • 分布式搜索和分析引擎Elasticsearch实战指南
  • 图像处理中级篇 [1]—— 彩色照相机的效果与预处理
  • RAG实战指南 Day 28:RAG系统缓存与性能优化