前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >WMI攻击与安全防御

WMI攻击与安全防御

作者头像
C4rpeDime
发布2022-04-24 10:18:51
1K0
发布2022-04-24 10:18:51
举报
文章被收录于专栏:黑白安全

作者:夜影实验室(安全平台部)-Addddd

简介

WMI是一项windows管理技术,其全称是Windows Management Instrumentation,即Windows管理规范。大多数基于Windows的软件依赖于此服务。因此有些黑客会针对WMI进行攻击。本文介绍了 WMI 的攻击和安全防御方法,以供大家交流讨论。

每个WMI 对象都是代表着获取各种操作系统信息与进行相关操作的类实例,以ROOT\CIMV2 作为默认的命名空间,CIM为数据库,并以WQL 查询语句用于查询 WMI 对象实例、类和命名空间。

WMI 的主要交互方式

1、Powershell(Get-WmiObject、Set-WmiInstance、Invoke-WmiMethod等)

例如:Get-WmiObject-Namespace “ROOT” -Class __NAMESPACE

2、Wmic

例如:wmic/NAMESPACE:"\\root\CIMV2" PATH Win32_OperatingSystem

WMI事件

WMI事件会创建一个查询请求,请求中定义了我们需要执行的操作,一旦事件发生就会执行我们定义的操作,支持两种事件。

1、临时事件:要创建事件的进程处于活动状态,临时事件就会被激活(以当前权限运行)

例如:

WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具  第1张
WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具 第1张

每打开一个新进程就会输出进程名称:

WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具  第2张
WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具 第2张

2、持久事件:事件存储在CIM数据库中,并且会一直处于活动状态,直到从数据库中删除(以system权限运行,且重启保持不变)

持久事件与后门

利用持久事件来做后门(创建需要管理员权限)需要三个部分。

1、事件过滤器(Filter):用来定义触发的条件,包括系统启动、特定程序执行、特定时间间隔等,存储在ROOT\subscription的实例__ EventFilter对象中,多数事件使用WQL WITHIN子句指定轮询间隔。

2、事件消费者(Consumer):用来指定要执行的具体操作,包括执行命令(CommandLineEventConsumer)、运行脚本(ActiveScriptEventConsumer)、添加日志条目(NTEventLogEventConsumer)或者发送邮件(SMTPEventConsumer)。

3、绑定机制:将过滤器绑定到消费者(FilterToConsumerBinding类)

后门实例

不管是powershell,wmic还是mof文件,都由三个部分组成。

Powershell实现

WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具  第3张
WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具 第3张

效果:每60秒运行一次powershell命令。

Wmic实现

WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具  第4张
WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具 第4张
WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具  第5张
WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具 第5张

效果:定时触发反弹

现如今,WMI攻击在很多APT行为中也经常被利用:

WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具  第6张
WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具 第6张

Mof实现

WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具  第7张
WMI攻击与安全防御 安全工具 网络安全 Windows 安全工具 第7张

执行命令:

Mofcomp xx.mof

效果:每30分钟触发反弹。

也可以直接执行vbs脚本文件:

代码语言:javascript
复制
instance ofActiveScriptEventConsumer as $Cons
{
    Name = "ASEC";
    ScriptingEngine = "VBScript";
    ScriptFileName = "c:\\asec.vbs";
};

安全防御

查看:

代码语言:javascript
复制
#List EventFilters
Get-WMIObject-Namespace root\Subscription -Class __EventFilter
#List EventConsumers
Get-WMIObject-Namespace root\Subscription -Class __EventConsumer
#List EventBindings
Get-WMIObject-Namespace root\Subscription -Class __FilterToConsumerBinding

删除:

代码语言:javascript
复制
#Filter
Get-WMIObject-Namespace root\Subscription -Class __EventFilter -Filter"Name='BotFilter82'" | Remove-WmiObject -Verbose
#Consumer
Get-WMIObject-Namespace root\Subscription -Class CommandLineEventConsumer -Filter"Name='BotConsumer23'" | Remove-WmiObject -Verbose
#Binding
Get-WMIObject-Namespace root\Subscription -Class __FilterToConsumerBinding -Filter"__Path LIKE '%BotFilter82%'" | Remove-WmiObject -Verbose
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-26),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 作者:夜影实验室(安全平台部)-Addddd
  • 简介
    • WMI 的主要交互方式
      • WMI事件
        • 持久事件与后门
        • 后门实例
          • Powershell实现
            • Wmic实现
              • Mof实现
              • 安全防御
              相关产品与服务
              数据库
              云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档