基于WMI的横向移动
WMI 介绍
WMI
的全称是 Windows Management Instrumentation
,它出现在所有的 Windows
操作系统中,并由一组强大的工具集合组成,用于管理本地或远程的Windows
系统,攻击者使用wmi
来进行攻击,但 Windows
系统默认不会在日志中记录这些操作,可以做到无日志,攻击脚本无需写入到磁盘,增加了隐蔽性。推荐使用wmic
进行远程执行命令。
WMI 利用条件
远程服务器启动Windows Management Instrumentation
服务(默认开启)
135
端口未被过滤 [默认配置下目标主机防火墙开启将无法连接]
连接失败常见错误号:
1 |
1.开启防火墙时,允许共享例外 |
利用 wmic 进行横向移动
常用系统自带命令
1 |
1.列出远程主机进程 |
批量爆破
wmi的爆破经过实践,错误次数3次以上,360会拦截【无杀软时没有测试】,记录日志为远程rdp爆破,并暂时限制wmi的连接。
※以下为单密码爆破,有爆破多个密码爆破的需求的话,可以根据ipc横向移动那篇自行修改
坑点:需注意特殊字符,如密码中有 %
需要用 %
来转义,例 :123#$%
应转化为 123#$%%
1 |
@echo off |
利用工具
wmiexec.vbs
没有使用过,暂未测试
wmiexec.vbs
是为了解决wmic
无法回显命令而开发的一个工具,原理就是把数据先存到一个临时文件中,在每次读取完执行结果后就自动删除。可以用来回显 ”执行命令的结果“ 和获取 ”半交互式的 shell“ 。
1 |
cscript wmiexec.vbs /cmd 192.168.1.1 administrator test@123 whoami |
impacket-wmiexec
优点:支持pth
缺点:他的使用需要调用wmi服务,占用目标的445、135和另一个随机端口。
使用参考:域渗透——Pass The Hash的实现 (3gstudent.github.io)
sharpwmi
这是一个基于135
端口来进行横向移动的工具,具有执行命令和上传文件功能,通过wmi
来执行命令,通过调用来进行数据传输。
优点:只依赖135
端口,不依赖139
和445
端口
缺点:目前只支持上传512kb以下的文件,因为重置每个值的长度不能超过512kb。执行命令和上传文件都依赖powershell(被360拦截了)
https://github.com/QAX-A-Team/sharpwmi
sharpwmi(修改版)
https://github.com/idiotc4t/sharpwmi
这是一个基于135端口来进行横向移动的工具,具有执行命令和上传文件功能,通过wmi来执行命令,通过注册表来进行数据传输。
WMIHACKER(推荐)
免杀横向渗透远程命令执行,常见的WMIEXEC
、PSEXEC
执行命令是创建服务或调用Win32_Process.create
执行命令,这些方式都已经被杀软100%拦截,通过改造出WMIHACKER
免杀横向移动测试工具。(只依赖135
端口,不依赖139
和445
端口)
重要:支持pth -> https://github.com/360-Linton-Lab/WMIHACKER/issues/1
主要功能:1、命令执行;2、文件上传;3、文件下载
https://github.com/360-Linton-Lab/WMIHACKER
Ladon
模块功能 | 目标端口 | 目标系统 | 使用教程 |
---|---|---|---|
WMI爆破 | 135端口 | Windows | http://k8gege.org/Ladon/WmiScan.html |
WMI-NtlmHash爆破 | 135端口 | Windows | http://k8gege.org/Ladon/WmiHashScan.html |
WmiExec(推荐) | 135端口 | Windows | 只需135端口通过注册表回显,不像Impacket或其它工具还依赖445,不依赖PowerShell,适用于任意目标 |
WmiExec2 | 135端口 | Windows | 和WmiExec一样只需135端口通过注册表回显,但依赖PowerShell,无PowerShell的目标可能不适用 |
Sharp-WMIExec
没有使用过,暂未测试
https://github.com/checkymander/Sharp-WMIExec
WMIcmd
没有使用过,暂未测试
https://github.com/nccgroup/WMIcmd
- source:se7ensec.cn
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论