绝了!VOID#GEIST木马深度拆解:利用合法Python运行时,玩转“套娃”式攻击

admin 2026-03-13 00:09:14 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

文章总结: 文档深度剖析VOID#GEIST木马多阶段攻击链。其通过钓鱼邮件投递伪造PDF分散注意力,利用合法Python运行时配合EarlyBirdAPC注入技术,在内存中解密并注入XWorm等恶意载荷至挂起的explorer.exe进程,有效绕过EDR检测。木马采用模块化设计且不尝试提权,通过启动目录持久化。建议防御方加强对进程注入行为的监控,警惕合规工具武器化趋势。 综合评分: 85 文章分类: 恶意软件,逆向分析,威胁情报


cover_image

绝了!VOID#GEIST木马深度拆解:利用合法Python运行时,玩转“套娃”式攻击

原创

Kit Chung Kit Chung

安全圈动向

2026年3月11日 08:06 广东

最近,安全圈出现了一个代号为 VOID#GEIST 的“狠角色”。不得不说,现在的木马作者真的越来越卷了,不再硬碰硬地搞什么暴力破解,而是玩起了“套娃”和“大变活人”。

今天我就带大家深度复盘一下这个多阶段攻击链路,看看它是如何利用合法的 Python 运行时,配合“早期异步调用(Early Bird APC)注入”技术,在受害者眼皮子底下把 XWorm、AsyncRAT 和 Xeno RAT 这“三大毒枭”送进系统的。干货满满,建议先码后看!


一、 障眼法:从一个“全屏”PDF开始

这波攻击的起点通常是一封钓鱼邮件,附件里藏着一个从 TryCloudflare 域名下载的批处理脚本(Batch Script)。

好家伙,这个脚本一运行,先不急着搞破坏,而是先给你来一招“声东击西”

  • 它会启动 Google Chrome 并进入全屏模式,显示一个伪造的财务账单或发票 PDF。
  • 当你还在盯着屏幕纳闷“这发票我没见过啊”的时候,后台已经通过 PowerShell 的 -WindowStyle Hidden 参数偷偷重启了原始脚本。

老哥们注意了: 这个木马非常贼,它完全不尝试提权。它就在当前用户权限下混,通过普通用户的“启动目录(Startup directory)”来实现持久化。这种操作虽然低端,但胜在“无公害”——不改注册表、不建计划任务,极大地降低了触发告警的概率。

二、 核心戏法:自带“运行环境”的木马

传统的木马往往依赖系统环境,万一系统没装特定的库就瞎了。但 VOID#GEIST 走的是“自带干粮”路线。

它会从 python.org 官方下载一个合法的 嵌入式 Python 运行时。为什么要这么做?

便携性: 不管你电脑装没装 Python,它都能跑。 隐蔽性: 运行的是官方正版二进制文件,很多杀毒软件一看是 Python 官方签名,可能就放行了。

下载完环境后,它会拉取一个压缩包,里面包含:

  • runn.py:负责解密和注入的核心 Loader。
  • new.bin/xn.bin/pul.bin:分别是 XWorm、Xeno RAT 和 AsyncRAT 的加密 Shellcode。
  • a.json/n.json/p.json:存放解密密钥。

这种模块化设计简直就是“木马界的乐高”,攻击者可以随时更换插件,灵活性拉满。

三、 技术高潮:Early Bird APC 注入

这是整篇文章最硬核的部分。VOID#GEIST 并不是简单地运行这些 RAT,而是使用了 Early Bird APC(早期异步过程调用)注入 技术。这一招在绕过 EDR(端点检测与响应)时非常有效。

它的技术路径是这样的:

  1. 创建挂起进程:

    木马会创建一个合法的 explorer.exe 实例,但让它处于“挂起(Suspended)”状态。

  2. 内存写入:

    runn.py 读取 .json 里的密钥,把加密的 .bin 文件解密成原始 Shellcode,然后通过 WriteProcessMemory 写入目标进程的内存空间。

  3. 排队 APC:

    使用 QueueUserAPC 函数,将 Shellcode 的入口地址排入目标进程主线程的 APC 队列中。

  4. 唤醒注入:

    当线程从挂起状态恢复并进入“可警告等待状态(Alertable State)”时,系统会自动执行 APC 队列里的代码。

为什么选这个时机? 因为在进程初始化早期,很多安全工具(EDR/监控钩子)可能还没完全“睡醒”或者还没来得及挂钩。这种在进程正式运行前就抢先执行代码的方式,隐蔽性极强。

四、 “三位一体”的反复横跳

最骚的操作来了。这个 Loader 并不只干一次活,它会反复利用这个机制:

  • 先用 runn.py 注入 XWorm
  • 再利用微软官方的 AppInstallerPythonRedirector.exe 配合 Python 注入 Xeno RAT
  • 最后再如法炮制送入 AsyncRAT

这种“分批分次、多次注入”的方法,把一个大木马拆成了零碎的小动作。从防御方视角看,你可能只看到 explorer.exe 在短时间内有几次不太寻常的动作,如果不做多维关联,很难发现这其实是一场精密的渗透。


我们能学到什么?

作为 IT 人,我们不能光看热闹。VOID#GEIST 的案例告诉我们:

  1. 文件潜行化(Fileless)是趋势:

    尽量不在磁盘上留下 PE 文件,直接在内存里“蹦迪”。

  2. 合规工具武器化:

    别以为官方签名的 Python 或微软工具就是绝对安全的,它们正成为攻击者的“肉盾”。

  3. 监控行为而非特征:

    针对 explorer.exe 短时间内密集的进程注入行为,应该建立高优先级的监控基线。

最后总结一句:技术的尽头是套路,防御的尽头是细节。

看完这篇深度拆解,你是不是对这种多阶段攻击有了更直观的认识?

如果你觉得这篇文章对你有启发,别忘了点个“赞”!


免责声明:

本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。

任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。

本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我

本文转载自:安全圈动向 Kit Chung Kit Chung《绝了!VOID#GEIST木马深度拆解:利用合法Python运行时,玩转“套娃”式攻击》

    评论:0   参与:  0