文章总结: sleepwalker是一款高度隐蔽的被动后门,通过DLL侧加载伪装成ESET管理代理的dpapi.dll,不主动外连,而是等待特定网络数据包触发。它采用自定义字节码指令集(23条指令),加密后仍不可读,支持VMCI、DNS隧道等隐蔽传输。研究者已公开IOC和检测工具,建议检查ESET目录异常文件及注册表项,并使用YARA规则扫描。 综合评分: 90 文章分类: 恶意软件,逆向分析,漏洞分析,红队,安全工具
内置自定义字节码的顶级被动式后门SLEEPWALKER
原创
黑鸟 黑鸟
黑鸟
2026年8月26日 23:30 广东
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
大家对后门病毒的普遍印象,大多是偷偷外联黑客服务器、定期发送心跳信号,或是在系统开个隐蔽端口等待连接。最近安全研究者(r136a1.dev)披露了一款完全反常规的恶意后门 SLEEPWALKER,它平时在内存里静默休眠,既不主动发起任何网络连接,也不开启监听端口,直到收到一枚精心构造的网络数据包才会 “苏醒” 执行指令。
更特别的是,它自带一套完全自定义的指令编程语言(一套专门用于后门控制的专用指令系统),哪怕破解了加密密钥,也读不懂它收到的命令。
SLEEPWALKER 本体是一个 64 位 Windows DLL 文件,大小不到 60KB。从外观上看,它伪装成了系统原生的 dpapi.dll,同时伪造了正版 ESET 管理代理的版本信息,从公司名、产品名到版本号都和正品高度相似。
MD5:
2318327b29bb1c0e2d2b5f0211fc7fac
它的入侵方式是 DLL 侧加载。Windows 程序调用外部功能时,会先在自身安装目录查找对应的 DLL 文件,找不到再去系统目录搜索。攻击者就是利用这个加载顺序,把同名的恶意 DLL 放到 ESET 管理代理的程序目录里,当宿主程序 ERAAgent.exe 启动时,就会优先加载这个恶意文件,而非系统里的正版 dpapi.dll。
整个过程看起来就像程序在调用正常的系统组件。
它还有一道严格的激活门槛。
DLL 启动后第一件事就是检查宿主进程名,只有进程名恰好是 ERAAgent.exe 时才会启动后门逻辑,如果是调试器、沙箱或是其他程序加载了它,就会全程保持静默,不会暴露任何恶意行为。它只校验进程名,不验证文件签名和路径,这也让它能稳定寄生在 ESET 管理代理的运行环境中。
绝大多数后门植入系统后,都会主动连接黑客的 C2 服务器上报上线,这类主动心跳行为也是检测恶意软件的重要特征。但 SLEEPWALKER 完全不走这条路,它的内置配置里没有任何固定服务器地址、域名或 URL,植入后不会主动发起任何外连。
它的工作模式是被动等待触发。启动后它会将网卡调整为混杂模式,嗅探经过网卡的所有网络数据包,逐包检查是否符合预设的 “魔法触发包” 格式。这个校验过程有多层门槛,任何一步不通过就直接丢弃数据包,不产生任何回应:
- 数据包长度至少 48 字节
- 通过尾部数值异或计算出候选长度
- 候选长度落在合法范围内
- 指定位置的字节和符合校验规则
- 数据块通过 CRC-32 校验
- 最后用 AES-256-CCM 解密并验证身份标签
整个校验发生在原始数据包层面,不区分 TCP、UDP 还是其他协议,也就是说触发包可以藏在任意类型的 IP 流量里,混在正常流量中极难被发现。
这种设计带来的隐蔽性极强。在没有收到触发包的时间里,系统不会产生任何异常的恶意流量,传统基于黑名单域名、异常外连的检测工具完全找不到它的痕迹。一台被植入的主机可以在完全静默的状态下被长期控制,网络监控几乎无法察觉。
SLEEPWALKER 最特别的设计:加密之上再加屏障,自带专属字节码指令集。
#
普通后门的指令要么是明文,要么加密后还原即可读懂,只要拿到密钥就能完全掌握攻击者的操作。
#
但 SLEEPWALKER 的指令解密之后,并不是可读的文本命令,而是一套它自己定义的字节码,相当于一门专属的编程语言。当然它不是我们日常开发用的通用编程语言,而是一套专门用于后门控制的专用指令系统,但核心的设计逻辑和编程语言是同源的。
#
简单来说,普通后门传的是写好的明文指令,加密只是把内容盖住,而 SLEEPWALKER 传的是只有它自己认识的暗号,就算掀开加密层,外人也看不懂内容。
这套指令集一共包含 23 条指令,覆盖了调度、数据传输、载荷投递、代码执行等全流程能力,所有指令都以单字节操作码开头,后续参数按紧凑格式编码,体积非常小巧。比如样本内置的唯一一条启动指令,总共只有 5 字节,功能是监听所有网卡,无限期等待触发包。
r136a1.dev/2026/08/24/sleepwalker-a-passive-backdoor-with-its-own-command-language/
这个地方有需要可以直接看原文,已经跑完AI分析了。
按照功能划分,23 条指令可以分为六大类:
1. 基础控制类
包含 EXIT 和 SPAWN_THREAD_SCRIPT 两条指令。EXIT 会设置全局停止标志,直接终止后门所有运行中的程序和监听线程,作用是彻底关停后门。SPAWN_THREAD_SCRIPT 可以启动一个新线程运行另一段子程序,让后门同时执行多个任务。
2. 定时调度类
这类指令用来控制执行时机,躲避基于行为规律的检测。SLEEP_SECONDS 可以固定休眠指定秒数,SLEEP_RANDOM_SECONDS 则会在 0 到设定上限之间随机休眠,加入时间抖动避免行为过于规律。CRON_SCHEDULE 是类 cron 的定时任务,可以按分钟、小时、日期、星期设置执行周期,嵌套在里面的子程序还会额外做异或加密,执行时临时解密,运行完立刻重新加密,内存中长时间保持密文状态。另外还有指定次数循环和无限循环指令。
3. 数据外发类
支持四种外发渠道,适应不同网络环境。TCP_SEND 和 UDP_SEND 对应常规的 TCP、UDP 协议发送数据,ICMP_SEND 可以把数据藏在 ICMP ping 包的载荷里发出,伪装成正常的 ping 探测。PIPE_SEND 通过 Windows 命名管道发送数据,还支持传入账号密码登录远程主机,用来在内网做横向移动。
4. 任务接收类
除了初始的嗅探触发,后门还支持多种渠道接收后续任务。可以主动向外连接指定地址接收任务,也可以开启本地 TCP、UDP 端口等待连接传入指令,还支持通过命名管道作为客户端或服务端接收任务。所有渠道收到的内容,都会交给同一个字节码解释器执行。
5. 程序构建与执行类
这部分是后门功能扩展的核心。STAGE_WRITE 支持分段写入载荷,把大程序拆成多个小块依次写入 128KB 的共享内存缓冲区,分块传输更隐蔽。STAGE_VERIFY_EXEC 会对缓冲区里的完整程序做 SHA-256 校验,哈希匹配才会执行,确保传输过程没有被篡改。 另外还有 DECOMPRESS_RUN,接收 LZMA 压缩后的程序,解压后再执行,进一步缩小传输体积。RUN_SHELLCODE 可以直接在内存中执行原生机器码,执行前会动态修改内存权限,避免同时出现可写可执行的风险特征。RUN_FILE_SCRIPT 则可以读取本地磁盘上的加密文件,解密后执行。
6. 触发检测类
包含两条指令,SNIFF_MAGIC_PACKET 只监听原始网络包触发,SNIFF_MAGIC_PACKET_DNS 则同时支持原始包和 DNS 两种触发方式。本次分析的样本默认使用前者,DNS 触发功能处于未启用状态。
除了常规的 TCP、UDP 协议,SLEEPWALKER 还支持多种非常规传输渠道,进一步提升隐蔽性。
第一种是 VMware VMCI 通道。
TCP、UDP 类的网络指令都会识别 vm: 前缀的地址,如果目标地址带这个前缀,就会改用 VMware 的虚拟机通信接口传输数据。这是虚拟机和宿主机之间的内部通信通道,流量完全不经过物理网卡,常规的网络抓包工具根本捕获不到。如果靶机运行在 VMware 环境中,攻击者可以通过这个通道在虚拟机与宿主机、虚拟机与虚拟机之间传递指令,全程不留网络痕迹。
第二种是 DNS 隧道触发。
启用 DNS 触发后,攻击者可以把加密后的指令用 Base32 编码,按照特定格式封装成域名标签,藏在正常的 DNS 查询请求里。多数网络对 DNS 流量的管控都相对宽松,这种方式可以轻松绕过严格的出站防火墙。每个带指令的 DNS 标签首尾都有校验标记,后门会自动识别并提取有效内容,解码解密后交给解释器执行。
为了配合命名管道的横向移动,后门还会主动修改系统配置。它会开启注册表项 EveryoneIncludesAnonymous,让匿名用户也能获得 Everyone 组的权限,同时把自身的命名管道加入 NullSessionPipes 列表,创建管道时授予所有人和匿名登录权限,这样攻击者无需账号密码就能访问目标的命名管道。
#
目前研究者已经公开了完整的失陷指标和检测工具,可以用来排查环境中是否存在 SLEEPWALKER。 文件层面需要重点关注 ESET 管理代理目录下是否出现异常的 dpapi.dll,是否存在名为 dpapisvc.dll 的文件,这个文件名不属于任何正版 Windows 组件。
注册表层面需要检查 HKLM\SYSTEM\CurrentControlSet\Control\Lsa 下的 EveryoneIncludesAnonymous 是否被设为 1,HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters 下的 NullSessionPipes 是否存在异常条目。
另外研究者也提供了专门的 YARA 检测规则和 PowerShell 扫描脚本,可以批量检测终端,快速定位受感染主机。
从设计上看,SLEEPWALKER 是一款针对性很强的定向攻击工具。它的被动触发模式要求攻击者具备一定的内网接入能力才能投递初始触发包,侧加载合法安全软件的方式也能绕过很多基础防护。自定义字节码、多隐蔽通道、无载荷本体这些设计,都体现出开发者较强的技术能力和明确的隐蔽需求。
目前研究者还无法将这款恶意软件归因到已知的攻击组织,本次披露的样本也可能只是早期版本,不排除后续存在功能更完善、隐蔽性更强的变种。
More👇
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:黑鸟 黑鸟 黑鸟《内置自定义字节码的顶级被动式后门SLEEPWALKER》
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。








评论