多阶段 VOID#GEIST 恶意软件正在投放 XWorm、AsyncRAT 和 Xeno RAT
研究人员发现代号为VOID#GEIST的多阶段恶意软件攻击。该活动利用批处理脚本和嵌入式Python运行时,结合Early Bird APC注入技术,在内存中无文件投放XWorm、AsyncRAT及Xeno RAT。其模块化设计能模拟合法行为以规避检测,实现隐蔽的系统控制。
网络安全研究人员披露了一起多阶段恶意软件活动的细节,该活动利用批处理脚本作为途径,投放各种加密的远程访问木马 (RAT) 负载,包括 XWorm、AsyncRAT 和 Xeno RAT。
Securonix 威胁研究将这一隐蔽的攻击链代号定为 VOID#GEIST。
总体而言,该混淆批处理脚本用于部署第二个批处理脚本,搭建合法的嵌入式 Python 运行时,并解密加密的 shellcode 数据块;这些数据块通过一种称为 Early Bird 异步过程调用 (APC) 注入的技术,被注入到独立的 “explorer.exe” 实例中,从而直接在内存中执行。
研究人员 Akshay Gaikwad、Shikha Sangwan 和 Aaron Beardslee 在与《黑客新闻》 分享的一份技术报告中表示:“现代恶意软件活动正日益从独立可执行文件转向复杂的、基于脚本的投放框架,这些框架紧密模仿合法的用户活动。”
“攻击者不再部署传统的 PE 二进制文件,而是利用由以下部分组成的模块化流水线:用于编排的批处理脚本、用于隐蔽分阶段部署的 PowerShell、用于可移植性的合法嵌入式运行时,以及直接在内存中执行以实现持久化和控制的原始 shellcode。”
这种无文件执行机制最大程度地减少了基于磁盘的检测机会,从而使威胁行为者能够在受损系统中操作而不触发安全警报。此外,该方法提供了一个额外优势,即这些单独的阶段在孤立看来似乎无害,并且类似于常规的管理活动。
攻击的起点是一个从 TryCloudflare 域名获取并通过网络钓鱼邮件分发的批处理脚本。一旦启动,它会故意避免采取提权步骤,并利用当前登录用户的权限建立初始立足点,同时混入看似无害的管理操作中。
初始阶段作为一个启动平台,通过全屏启动 Google Chrome 来显示诱饵 PDF。显示的财务文件或发票作为一种视觉干扰,以掩盖幕后发生的事情。这包括启动 PowerShell 命令重新执行原始批处理脚本,例如使用 -WindowStyle Hidden 参数,以避免显示控制台窗口。
为了确保系统重启后的持久性,一个辅助批处理脚本被放置在 Windows 用户的“启动” 目录中,以便每次受害者登录系统时自动执行。缺乏更具侵入性的持久化方法是故意的,因为这减少了取证痕迹。
研究人员表示:“从技术上讲,这种持久化方法完全在当前用户的权限上下文中运行。它不修改系统范围的注册表键、创建计划任务或安装服务。相反,它依赖于标准的用户级启动行为,这不需要提权,并且产生的安全阻力极小。这种设计选择降低了触发提权提示或注册表监控警报的可能性。”
下一阶段始于恶意软件访问 TryCloudflare 域名以下载 ZIP 压缩包形式的额外负载,其中包含多个文件——
- runn.py:一个基于 Python 的加载器脚本,负责解密并将加密的 shellcode 负载模块注入内存
- new.bin:对应 XWorm 的加密 shellcode 负载
- xn.bin:对应 Xeno RAT 的加密 shellcode 负载
- pul.bin:对应 AsyncRAT 的加密 shellcode 负载
- a.json、n.json 和 p.json:包含 Python 加载器在运行时动态解密 shellcode 所需解密密钥的密钥文件
文件解压后,攻击序列直接从 python[.]org 部署合法的嵌入式 Python 运行时。这一步提供了几个优势。首先,它消除了对系统的任何依赖。因此,即使受感染端点安装了 Python,恶意软件也能继续运行。
Securonix 表示:“从攻击者的角度来看,这一阶段的目标是可移植性、可靠性和隐蔽性。通过将合法的解释器嵌入到暂存目录中,恶意软件将其自身转变为一个完全自包含的执行环境,能够在不依赖外部系统组件的情况下解密和注入负载模块。”
攻击的主要目的是利用 Python 运行时启动 “runn.py”,然后该脚本使用 Early Bird APC 注入技术解密并运行 XWorm 负载。该恶意软件还利用了一个合法的微软二进制文件 “AppInstallerPythonRedirector.exe” 来调用 Python 并启动 Xeno RAT。在最后阶段,Python 加载器使用相同的注入机制启动 AsyncRAT。
感染链的最终阶段是恶意软件向托管在 TryCloudflare 上的攻击者控制的 C2 基础设施传回一个极小的 HTTP 信标,以确认入侵成功。目前尚不清楚此次攻击的目标是谁,以及是否发生了成功的入侵。
Securonix 指出:“这种重复的注入模式强化了框架的模块化架构。攻击者并非投放单一的整体负载,而是逐步部署组件,从而提高了灵活性和韧性。从检测角度来看,在短时间内重复向 explorer.exe 进行进程注入是一个强烈的行为指标,该指标贯穿于攻击的各个阶段。”


评论1次
兄弟们注意了!这种攻击特别狡猾,直接说几个关键点: **直接观点**:这波攻击玩的是「障眼法+持久潜伏」,利用合法工具和分阶段部署,几乎不落地直接在内存跑,传统杀软可能抓不住。 **重点理由**: 1. **钓鱼邮件开场**:伪装成财务文件诱导人点链接或附件,千万别随便点可疑邮件! 2. **合法工具当掩护**:用Python/Powershell这些xi统自带工具跑恶意脚本,像混进人群的坏人。 3. **内存注入隐身**:直接在explorer.exe这类xi统进程里干活,不留文件痕迹,查杀难度高。 **马上能做的防御**: - **邮件过滤**:给邮箱加严格规则,带`.bat` `.vbs` `.zip`的附件一律隔离,可疑链接直接沙箱跑一遍。 - **用户教育**:反复强调「不随意点邮件附件」,特别是「财务通知」「订单确认」这类常见诱饵。 - **监控可疑进程**:盯紧explorer.exe和chrome.exe,如果发现它们突然占用异常内存或频繁调用python进程,立刻查杀。 - **检查启动项**:定期看用户目录的` startup `文件夹,特别是突然出现的`.bat`脚本。 - **关掉危险脚本权限**:能禁用就禁用(比如用组策略禁用 Powershell 远程执行),实在不行也要限制脚本执行权限。 - **上行为检测工具**:虽然传统杀毒可能不管用,但买点带内存行为分析的EDR,至少能抓到进程注入这些可疑动作。 一句话总结:**防钓鱼+封脚本权限+盯住内存行为**,把攻击链打断在落地之前。