网络安全研究人员 Dominik Reichel 发现了一种名为 Sleepwalker 的新型 Windows 后门恶意软件。与常见的主动回连型木马不同,Sleepwalker 像一名等待激活的“潜伏特工”,在内存中静默休眠,仅通过嗅探特定的网络数据包(魔术包)来接收加密指令。其独特的自定义命令语言和极高的隐蔽性表明,这很可能是一次资源充足、针对性极强的攻击行动,而非 opportunistic(机会主义)的广泛传播。

核心特征:被动监听与自定义语言
- 零出站流量,极致隐蔽:
- Sleepwalker 从不主动发送任何数据,也不打开明显的监听端口。
- 它通过检查流经网卡的所有数据包来寻找特定的“魔术包”模式。这意味着传统的基于异常出站流量或已知恶意域名连接的检测工具完全无法发现它。
- 即使机器被完全入侵,网络监视器中也无任何可标记的异常内容。
- 23 条指令的私有语言:
- 唤醒后,Sleepwalker 执行的不是可读文本命令,而是用其内部设计的字节码语言编写的简短程序。
- 该语言包含 23 条指令,涵盖调度、数据传输、分阶段文件传递及内存代码执行等。
- 即使攻击者获取了 AES-256-CCM 解密密钥,若未逆向工程其指令集,仍无法理解命令内容。
- 高级伪装与侧加载:
- 伪装对象:伪装成微软合法的
dpapi.dll(数据保护 API),导出相同的 7 个函数。 - 宿主进程:通过 DLL 侧加载技术,注入到 ERAAgent.exe(ESET Management Agent)进程中。它会验证宿主进程名,确认后才进入休眠状态,以此逃避防病毒软件的启发式检测。
- 虚假版本信息:文件中包含伪造的 ESET Management Agent 版本资源,进一步混淆视听。
- 伪装对象:伪装成微软合法的
功能详解:从数据窃取到内存执行
Sleepwalker 的 23 条指令赋予了攻击者极大的控制权:
- 数据传输与隐藏:
- 支持通过 TCP 连接将数据块发送至远程主机(甚至支持 VMware VMCI 目标,而非仅限普通 IP)。
- 可将数据写入 Windows 命名管道,并支持使用用户名/密码登录以提权或横向移动。
- 指令接收与调度:
- 支持等待后续指令、动态打开 TCP/UDP 端口或创建/连接命名管道。
- 具备调度器功能,可包含网络侦听器,等待特定文件组装完成后才执行例程。
- 程序构建与执行:
- 包含 5 条专门用于在内存中构建并运行程序的指令,实现无文件攻击(Fileless Malware)。
- 支持启动与父进程同时运行的子程序,或彻底停止所有监听以“自毁”痕迹。
未知与风险
目前关于 Sleepwalker 仍有诸多未解之谜:
- 归因困难:未发现指向已知 APT 组织的代码特征。
- 传播路径不明:尚不清楚攻击者最初如何获得系统访问权限并投放该 DLL。
- 受害范围未知:暂未关联到具体的入侵事件、行业或国家。
检测与缓解建议
鉴于其极高的隐蔽性,传统杀毒软件可能失效。研究人员 Dominik Reichel 提供了以下应对措施:
- 使用专用工具包:Reichel 发布了一个工具包,可用于解码 Sleepwalker 的字节码、检查加密工件、总结行为指标,并在不执行命令的前提下安全重现其接收管道。
- 关注异常 DLL 加载:监控
ERAAgent.exe是否加载了非标准的dpapi.dll或尝试调用不存在的dpapisvc.dll。 - 网络层深度包检测 (DPI):虽然它不产生出站流量,但可以通过分析入站数据包中的特定“魔术包”模式进行识别(需掌握其解密后的特征)。
- 应用缓解脚本:一旦确认感染,使用研究人员提供的修复脚本进行清理。



0条评论