
文章目录写在前面一、为什么说它们是“隐蔽通道”1.1 “无文件”到底无的是什么1.2 攻击者爱它们的五个理由1.3 和本系列前文的关系二、WMI 速成蓝队必须懂的结构2.1 核心对象2.2 临时 vs 永久2.3 远程 WMI 怎么走路2.4 常用管理入口合法三、COM 速成为什么能成为“加载器”3.1 COM 是什么3.2 “合法程序加载非法逻辑”的魅力3.3 COM 与 WMI 的合流四、WMI 滥用面从执行到持久化4.1 远程/本地进程创建执行通道4.2 信息收集侦察通道4.3 永久事件订阅持久化通道4.4 把 WMI 当“数据库”藏配置4.5 横向移动中的 WMI五、COM 滥用面劫持、提升与远程激活5.1 COM 劫持用户级持久化/加载5.2 COM 与 UAC 边界概念5.3 远程 COM / DCOM 横向5.4 “COM 脚本宿主”的无文件执行六、一条典型杀伤链叙述复盘七、检测工程从“有没有开日志”开始7.1 Windows 侧建议开启的来源7.2 狩猎假说可写成规则7.3 误报治理7.4 取证检查单怀疑中招时八、加固与治理把隐蔽通道关回“管理通道”8.1 网络与身份8.2 主机策略8.3 WMI 专项8.4 COM 专项8.5 运营流程九、授权红队如何“负责任地”测十、常见误区十一、速查表11.1 攻击能力 ↔ 防御控制11.2 应急三句话十二、结语附录概念对照写在前面终端安全做久了会发现一个规律会“落盘”的恶意软件越来越好查不落盘、借系统组件说话的攻击越来越难缠。WMIWindows Management Instrumentation与 COMComponent Object Model正是这类攻击最爱的两条“正规军通道”——它们本是 Windows 管理与组件复用的基础设施权限高、能力强、日志默认不完整行为又常常与运维自动化长得 alike。于是红队与真实 APT 里反复出现同一类手法用 WMI 远程创建进程不需要先传一个木马 EXE用 WMI 永久事件订阅做持久化重启后仍在杀毒扫盘却扫不到“木马文件”用 COM 对象劫持/提升接口让系统高权进程加载攻击者逻辑把 PowerShell、脚本、shellcode 装进 WMI 类属性、命名空间当“远程配置库”用。本文从原理 → 滥用面 → 实战链条 → 检测狩猎 → 加固治理展开目标读者是蓝队、SOC、终端安全、授权红队与 Windows 域运维。文中只描述机制与识别特征不提供可直接武器化的完整后门实现或利用工程一切验证仅限自有靶场或书面授权范围。一、为什么说它们是“隐蔽通道”1.1 “无文件”到底无的是什么业界说的 fileless很少是字面意义“内存之外零字节”更准确是攻击载荷不以独立恶意 EXE/DLL 长期存在于磁盘为依赖而主要寄宿在内存、合法解释器、注册表、WMI 存储、计划任务、系统服务配置或已签名宿主中。WMI/COM 滥用的典型“无文件感”来自传统马WMI/COM 通道落地malware.exe调用Win32_Process.Create/ COM 接口写Run键指向 EXE永久事件订阅触发脚本自己实现远控协议复用 DCOM/WinRM/RPC易被哈希命中行为像管理员在管机器对只做“抽哈希、扫文件”的防护这类通道天然不公平。1.2 攻击者爱它们的五个理由原生存在从工作站到服务器都有 WMICOM 更是 Windows 的骨架。权限与能力强可查系统、启进程、改配置、碰服务与存储。远程友好配合 DCOM/RPC/WinRM横向时很“运维”。持久化隐蔽WMI 仓储里的订阅/类定义很多环境根本没人审计。混淆成本低一层 PowerShell/VBScript/JScript 包起来就能变种。1.3 和本系列前文的关系《PowerShell 攻防》里的下载摇篮、远程会话常通过 WMI/COM 触发或落地。《Windows 提权》里的 UAC 边界历史上与部分 COM 提升接口纠缠。《安全基线》若只开了杀软、不开 WMI 活动审计等于给隐蔽通道留灯。二、WMI 速成蓝队必须懂的结构2.1 核心对象把 WMI 理解成“Windows 的管理数据库 查询/事件引擎”命名空间Namespace如root\cimv2、root\subscription、root\default。类Class如Win32_Process、Win32_Service、Win32_OperatingSystem。实例Instance类的具体对象。方法Method如进程创建、服务变更。事件Event内在事件、外在事件、定时器等。消费者Consumer事件发生后干什么跑脚本、发命令、写日志。过滤器Filter订阅感兴趣的事件条件。绑定Binding把 Filter 与 Consumer 绑在一起。持久化滥用的关键三件套正是EventFilter EventConsumer FilterToConsumerBinding常被称为WMI 永久事件订阅Permanent Event Subscription。2.2 临时 vs 永久类型生命周期攻击用途临时订阅随进程结束短线监控、调试、部分驻留永久订阅写入 WMI 仓储重启仍在持久化、后门复活蓝队应急若只杀进程、不查 WMI 仓储会陷入“杀不完”的幻觉。2.3 远程 WMI 怎么走路经典路径攻击者主机 → RPC/DCOM135 动态高端口→ 目标 WMI → 方法调用或WinRM / WinRM over HTTPS → CIM/WMI cmdlets防火墙只拦 445 不够135 与 WMI/DCOM 相关动态端口、WinRM5985/5986都要纳入管理面管控。2.4 常用管理入口合法wmic ... (旧式逐渐弃用但仍可见) Get-WmiObject / Get-CimInstance Invoke-CimMethod wbemtest.exe wmimgmt.msc授权测试与排障会用它们入侵者也一样。差异在身份、来源主机、时间、随后行为。三、COM 速成为什么能成为“加载器”3.1 COM 是什么COM 让程序通过CLSID / ProgID创建对象、调用接口而不必静态链接对方代码。资源管理器、Office、浏览器、系统设置、大量提权与自动化都建立在 COM 上。关键概念CLSID对象的 GUID。InProcServer32 / LocalServer32DLL 内嵌或 EXE 外进程服务器路径。Elevation / 自动提升相关注册部分组件可在 UAC 体系下以更高完整性运行。COM 劫持通过可写注册表项把 CLSID 指到攻击者 DLL/EXE使合法程序加载恶意模块。3.2 “合法程序加载非法逻辑”的魅力攻击者不必让用户双击木马只需找到会启动的合法 COM 客户端用户登录、打开控制面板、系统服务在用户可写的注册表范围常见 HKCU重定向 CLSID下一次创建该 COM 对象时加载攻击者指定模块。这与 DLL 旁加载同构只是“导入表”换成了注册表里的 COM 类表。3.3 COM 与 WMI 的合流实战中二者常绑在一起WMI 消费者执行脚本 → 脚本创建 COM 对象远程 DCOM 激活 → 触发横向事件订阅触发 → COM 提升接口执行后续阶段。检测要按杀伤链看不能 WMI 一套规则、COM 一套规则各扫各的。四、WMI 滥用面从执行到持久化4.1 远程/本地进程创建执行通道攻击意图在目标上拉起命令解释器或下载器尽量少落盘。机制调用类似Win32_Process的创建方法指定命令行。效果近似“远程执行”但父进程链、审计字段与PsExec不同。蓝队识别特征安全/Sysmon 中出现 WMI 提供者宿主如WmiPrvSE.exe创建cmd.exe/powershell.exe/bitsadmin等父进程是WmiPrvSE.exe而不是用户资源管理器来源为远程地址的 WMI/DCOM 活动账户为域管或服务账命令行含编码 PowerShell、临时路径脚本、外连 URL。高置信组合远程登录/RPC 到 135 → WmiPrvSE 拉起 powershell -enc / IEX → 出站下载或改 Defender 排除4.2 信息收集侦察通道WMI 几乎能问遍硬件、软件、进程、服务、补丁、共享、用户。红队用它画地图蠕虫用它选脆弱点。检测单账户短时间海量Win32_*枚举工作站对多台服务器做相同查询扇出。减伤管理查询只许跳板对异常 LDAP/WMI 枚举做 UEBA。4.3 永久事件订阅持久化通道这是 WMI 滥用里最值得蓝队单独建专题的一块。逻辑系统出现某事件进程创建、定时器、服务变更、用户登录… → Filter 命中 → Consumer 执行ActiveScript / CommandLine 等 → 恶意逻辑复活攻击者喜欢它因为不一定要文件不一定要 Run 键很多主机安全产品默认不展示 WMI 订阅清理不彻底就会反复出现。应急必查授权环境只读枚举示例思路# 查看订阅相关命名空间中的过滤器/消费者/绑定示例思路Get-WmiObject-Namespace root\Subscription-Class__EventFilterGet-WmiObject-Namespace root\Subscription-Class__EventConsumerGet-WmiObject-Namespace root\Subscription-Class__FilterToConsumerBinding关注名称随机、无厂商前缀Consumer 指向powershell、cmd /c、用户 Temp、Base64Filter 条件过于宽泛几乎任何进程创建都触发非变更窗口新增的绑定。4.4 把 WMI 当“数据库”藏配置攻击者可创建自定义命名空间/类把脚本片段、密钥、C2 配置写入属性。磁盘上难见完整木马但 WMI 仓储本质上仍有系统存储文件被改过。检测监控 WMI 仓储文件变更、异常命名空间创建、非系统账号写入root\*。取证导出订阅与自定义类定义纳入证据包。4.5 横向移动中的 WMI常见叙事先凭据盗窃或票据对目标用 WMI/CIM 远程执行再写永久订阅保活清理部分日志。与 SMB 横向相比WMI 在只关注 445 的网络 IDS 上可能更“安静”但在打开进程树与管理面日志的环境里其实很吵——前提是你有日志。五、COM 滥用面劫持、提升与远程激活5.1 COM 劫持用户级持久化/加载前提对某 CLSID 的注册表项可写常见于 HKCU 覆盖 HKLM 搜索顺序的场景或权限过宽。效果用户登录或打开某应用时合法流程创建 COM 对象结果加载攻击者 DLL。蓝队特征HKCU 下Software\Classes\CLSID\{...}\InProcServer32指向用户目录、Temp、下载目录DLL 无合法签名或签名异常系统进程/常规应用加载了用户可写路径模块Sysmon Event 7。减伤限制软件随意写 HKCU 类表的场景配合 WDAC对 InProcServer32 指向非系统路径做持续狩猎标准用户本身不应有随意装系统组件的能力。5.2 COM 与 UAC 边界概念部分 COM 组件具备自动提升相关注册历史上出现过“经由提升 COM 接口完成高完整性执行”的研究与漏洞修复。对蓝队的正确姿势不是背某个 CLSID 名单而是保持 Windows 更新收回本地管理员降低 bypass 收益监控 Medium 完整性进程触发提升宿主后的异常子进程与用户目录模块加载对已知高风险管理 COM 的调用做行为关联。5.3 远程 COM / DCOM 横向DCOM 可远程激活对象。攻击者用已有凭据远程实例化对象并执行方法实现横向。网络135 动态端口。账户常为管理员。进程可能出现与 MMC、WMI、Office、脚本宿主相关的异常远程激活。减伤限制远程 DCOM 到管理网能关则关不必要的远程启动优先把管理面收敛到 WinRMJEA 或专用 PAM 方案并全面审计。5.4 “COM 脚本宿主”的无文件执行例如通过合法宿主创建对象、调用执行能力使恶意逻辑活在rundll32、mmhta、wscript、dllhost等进程里。这与纯 WMI 订阅相比落点不同但同属“系统组件当加载器”。检测要以宿主进程 网络 脚本内容 模块路径四元组看而不是单独杀某进程名。六、一条典型杀伤链叙述复盘以下为教学用合成链便于写检测不是操作手册。① 钓鱼文档 → 宏/模板拉起 PowerShell用户上下文 ② PowerShell 通过 WMI 查询杀软与权限决定是否提权 ③ 获本地管理员或服务账后对内网主机 Win32_Process.Create ④ 在目标写入 WMI 永久订阅定时或进程事件触发 ⑤ 订阅触发后反射加载后续阶段不落固定马文件 ⑥ 用 COM/HKCU 劫持做用户会话级双保险持久化 ⑦ 尝试 Set-MpPreference 排除或关 Tamper若未防护 ⑧ 凭据操作与横向扩展蓝队断链优先级建议断 ①ASR 宏策略 邮件沙箱断 ③管理面网络隔离 特权账号 PAW断 ④WMI 订阅监控与基线断 ⑥注册表 COM 路径狩猎全程脚本块日志 Sysmon 父进程树。七、检测工程从“有没有开日志”开始7.1 Windows 侧建议开启的来源来源用途Sysmon Process Create看WmiPrvSE父子关系Sysmon Image LoadCOM 劫持加载用户目录 DLLSysmon RegistryCLSID / InProcServer32 篡改Sysmon Network135/5985/5986 异常扇出PowerShell 4104消费者脚本与 CIM 调用内容WMI 活动日志若环境可开记录提供者/操作安全日志登录与特权远程管理账户异常Defender/EDR行为告警与 WMI persistence 模块微软与多家 EDR 对 “WMI Event Subscription” 已有专门信号若你还在只用默认系统日志优先补 Sysmon 转发。7.2 狩猎假说可写成规则假说 AWMI 远程执行WmiPrvSE.exe创建powershell.exe或cmd.exe且命令行含 bypass/enc/IEX/URL。假说 B永久订阅新增__FilterToConsumerBindingConsumer 为脚本/命令行消费者名称可疑。假说 CCOM 劫持InProcServer32默认值指向AppData、Temp、Downloads、Public。假说 D管理面扇出同一账户 10 分钟内对 N 台主机访问 TCP/135 或 WinRM。假说 E双通道保活同一主机既有可疑 WMI 订阅又有 HKCU CLSID 重定向。7.3 误报治理运维软件、监控探针、SCCM/Intune、备份代理也可能用 WMI。处理办法建立发布者 路径 账户 源主机白名单对“变更窗口内的包装脚本”单独标签永不对WmiPrvSE → powershell -enc无脑放行。7.4 取证检查单怀疑中招时导出 WMI 订阅三件套与自定义命名空间列表。对比 COM 关键项HKLM 与 HKCU 的 CLSID 差异。拉 Sysmon/EDR 中WmiPrvSE进程树 7–30 天。查服务、计划任务、Run 键是否双持久化。查 Defender 排除与 Tamper 状态。对可能被横向的主机做同样扫描以账户活动时间为轴。重置被盗用管理账轮换 LAPS必要时隔离重建。清理订阅后要重启验证并保留仓储副本防止“删了又被任务写回”。八、加固与治理把隐蔽通道关回“管理通道”8.1 网络与身份工作站默认不能随意对服务器打 135/DCOM只许跳板/PAW。WinRM 仅 HTTPS 限定监听引入 JEA。域管、服务器本地管不到处登录上 PAM/JIT。防火墙对动态 RPC 端口做受限范围配合注册表固定 RPC 端口范围需充分测试。8.2 主机策略开启 PowerShell 脚本块/模块日志并集中。部署 Sysmon 或等价 EDR 传感器。ASROffice 子进程、混淆脚本、PSExec/WMI 相关规则按兼容性推进。WDAC限制用户目录脚本与未签名模块被系统宿主加载。Tamper Protection 强制排除项中央化。8.3 WMI 专项定期基线枚举永久订阅diff 出新增。高价值服务器对 WMI 仓储文件做完整性监控。应用账户禁止持有不必要的远程启动能力。老旧wmic使用纳入监控并非禁绝一切管理而是看谁在用。8.4 COM 专项监控 HKCU 下 CLSID 指向非系统路径。保持补丁减少提升接口历史问题。收回本地管理员降低 COM 提升研究的实战价值。软件分发避免给 Everyone 写 Program 目录防 DLL/COM 搜索顺序问题。8.5 运营流程把下列变更设为需工单新增 WMI 永久订阅新增服务/SYSTEM 任务Defender 排除防火墙放行 135/5985/5986 到新网段无工单即告警比纯特征规则更抗绕过。九、授权红队如何“负责任地”测先确认规则允许使用 WMI/DCOM 横向。在靶机验证日志是否产生预期事件帮甲方证明可检测。持久化演示优先用易清理、有标记命名的订阅并在报告中写清理步骤。避免在生产写难以定位的多命名空间嵌套后门。报告根因写到“管理面无隔离 / 无订阅基线 / 无父进程检测”而不是只写工具名。红队价值是逼出检测与架构缺口不是比谁藏得更深。十、常见误区误区 1关掉 WMI 就安全了。很多合法软件依赖它生硬关闭会业务爆炸。应隔离与审计而非盲目卸载。误区 2有 EDR 就不用看 WMI 仓储。EDR 可能杀进程订阅仍在重启即复活。误区 3COM 劫持只存在于老系统。只要有可写重定向与会被激活的 CLSID原理就在。误区 4只监控 powershell.exe。消费者可能用 cscript、自带脚本引擎、其他宿主。误区 5认为无文件无法取证。WMI 仓储、注册表、事件日志、ETW、内存都有痕迹关键是你是否采集。十一、速查表11.1 攻击能力 ↔ 防御控制滥用能力关键控制远程进程创建管理网隔离、特权账号、进程树检测永久订阅订阅基线与变更告警、应急枚举WMI 藏配置仓储 FIM、异常命名空间COM 劫持注册表监控、模块路径、签名DCOM 横向限制远程激活、监控 135 扇出脚本消费者4104、AMSI、ASR、WDAC11.2 应急三句话先看WmiPrvSE生了谁。再看订阅绑定指向什么命令。最后看 HKCU CLSID 有没有指到用户目录。十二、结语WMI 与 COM 不是漏洞是 Windows 的能力无隔离的管理面、无基线的订阅、无父进程的检测才是把能力变成隐蔽通道的真正原因。无文件攻击吓人也老实它总要借一个“系统信任的嘴”说话。WMI 事件引擎与 COM 对象激活就是两张最常用的嘴。蓝队要做的不是禁止 Windows 说话而是规定谁可以在哪台机器上对谁说话身份与网络记录说了什么、叫了谁起来日志与进程树定期检查有没有人不经审批办了长期挂机订阅仓储基线防止挂号牌被换成假地址COM 路径与模块控制。建议你读完本文后立刻做三件实事在试点服务器枚举root\Subscription下过滤器/消费者/绑定建立第一份基线在 SIEM 加一条WmiPrvSE创建powershell/cmd的高优先级关联狩猎 HKCUInProcServer32指向AppData|Temp|Downloads的条目。这三件事做完隐蔽通道就从“传说”变成“可运营的检测对象”。再与本系列的 PowerShell 检测、提权路径治理、Defender/ASR 基线叠加Windows 主机上的无文件攻击才会真正变贵。附录概念对照名词一句话WMIWindows 管理查询/方法/事件框架永久订阅写入仓储、重启仍触发的事件→动作绑定WmiPrvSEWMI 提供者宿主进程常成异常父进程COM基于 CLSID 的组件复用模型COM 劫持篡改类注册使合法激活加载恶意模块DCOM远程激活 COM 的机制之一