WMIC命令的通信过程是如何进行的
前言:作为WMIC工具通信过程的学习笔记
WMIC是什么
内网中,由于大多数 Windows 系统自带 wmic 命令, 所以 WMIC 是内网横向的常用方法之一,使用 WMI 的前置要求是,目标端口开放 135 端口,且允许随机一个高位端口进行通信。这是由于 WMI 是先通过 135 端口建立连接,而后通过随机的高位端口进行数据传输。
现在所有的Windows系统中都有这个工具,利用它包含的工具集,我们可以管理本地或远程的计算机。它不仅仅被系统管理员熟知,更因为Stuxnet利用WMI来进行攻击的原因而被广大安全人员所知。由于WMI能够提供系统信息收集,防病毒检测,代码执行,横向移动,持久化和盗取数据的能力而很受黑客的欢迎。
WMIC通信过程
win10: 192.168.0.108
win2012 192.168.4.139
win10 执行命令 wmic /node:192.168.4.139 /user:administrator /password:passQWE!@# OS get Version

首先先看到的当前主机会通过IOXIDResolver这么一个DOM接口对象来进行请求对方是否存活的一个操作

再接着,可以看到发送给对方的时候,跟net use中一样,都是通过NTLM来先进行协商,不过这里看起来好像是通过ISystemActivater实现的DCOM接口对象来进行通信的,但是这里通信还是进行了NTLM认证,这个是肯定的

上面的两步的通信过程中都是基于对方的135端口来进行通信的,下面继续来看,这里就是来到了第三波通信了,此时通信的已经不再是通过对方的135端口,而是在一个高位的端口中进行通信

这里的话后面开始就一直通过高位端口和通过相关DCOM接口来进行通信

特征:
1、其中通过NTLM进行认证的DCOM组件有三个,分别如下

2、自己在数据包中找不到相关的数据回显,应该是被加密了,不知道是不是这样子的
3、基于请求的机器名和请求地址都会出现在数据包中

4、WMI 是先通过 135 端口建立连接,而后通过随机的高位端口进行数据传输

浙公网安备 33010602011771号