一、Cobaltstrike上線方法——stager
1、stager的特點:
目標機器執行后,會向teamserver發起一個GET請求,從而用post下載真正的shell code。因此stager的體積一般比較小
2、EXE形式的stager:
這個是之前我們用的最多的
3、Server EXE形式的stager:
生成方式:
生成文件后放到目標機器上執行,發現什么變化都沒有。這是因為Server EXE是以服務的形式啟動的,因此,首先我們需要一個繞過UAC的管理員權限創建一個服務,然后啟動該服務來執行。
執行命令:
sc create "serever name" binpath="SERVER PATH" //創建一個服務
sc start "server name" //啟用一個服務
此時回到teamserver就可以看到多了一條session了
我們也可以將上傳的文件隱藏,否則太顯眼了
attrib +h server.exe //添加文件隱藏
attrib -h server.exe //取消文件隱藏
4、dll文件形式的stager:
dll文件生成方式:
dll文件的啟動需要用export導出函數。因此在Cobalt Strike和MSF都要用Start來啟動,注意Start首字母大寫。
這里我們用rundll32.exe啟動上傳的dll文件,別忘了在后面加上Start。此時teamserver就多出一條session了
5、powershell形式的stager:
Powershell是在win7之后才有的
啟動方式:
這里的url可以隨便設置,但建議設置的復雜一些,否則容易被安全廠商的設備發現
接着我們就可以把里面這一串復制出來,只要我們在目標機器上運行此代碼,即可上線成功。
6、bitsadmin形式的stager:
bitsadmin是Windows自帶的下載命令,使用方式與上面的poweshell相似
然后得到一串代碼,在目標機器上運行結束即可成功上線
7、python形式的stager:
與poweshell、bitsadmin的上線形式相似,這里不再贅述,只要目標機器上有python環境即可
8. regsvr32形式的stager
查了下資料,regsvr32有點怪,因為當能使用regsvr32命令時一般已經擁有了這台計算機的shell,此時如果沒有殺軟直接執行powershell上線cs的命令,如果有就做個免殺直接上傳木馬執行就好了。反正這東西我也沒成功過
二、Cobaltstrike上線方法——stagerless
1、stagerless的特點:
生成的文件是完全體,目標機器在執行文件后,無需向teamserver發起一個GET請求下載真正的shell code。因此stagerless無需下載,但它的體積一般比較大,且更有可能被殺軟發現,在不易出網的環境中可能有用。
2、powershell形式的stagerless:
①首先創建一個powershell文件,然后把文件扔上目標機器
②接着我們就開始在目標機器上運行powershell文件
運行命令:
powershell -f powershell_less.ps1 //執行powershell_less文件
powershell -ncp -exec bypass -f powershell_less.ps1 //遇到阻止策略時的執行方法
這里我們就遇到阻止的策略了,bypass繞過一下
回到teamserver這邊看看,成了。
此外,這個powershell文件還可以轉EXE格式。
3、其他形式的stagerless:
其他形式的與stager相似,這里就不再贅述了
三、Cobaltstrike上線方法——Bind+令牌偽造
1、tcp_bind的使用場景:
如果我們從web服務器用ms17-010或者找到了登陸憑證成功進入內網機器,可以執行一些命令或者上傳一些EXE等payload,但我們發現這台內網機開了防火牆,雖然可以我們關閉防火牆或者更改防火牆規則,但這樣一來就很容易被管理員發現,因此tcp_bind就派上用場了
2、使用tcp_bind的操作:
Port(C2) 選項為 TCP Beacon 將等待連接的端口
監聽建立完成后,從這里弄一個攻擊包:
然后把生成的文件發送到目標機器上執行,執行后這個機器會自動監聽剛剛我們配置的端口,這里就是4444
然后回到teamserver,打開web服務器的beacon,用connect命令連接目標機器,就能得到一個session了。當我們利用完工作結束之后,記得用unlink命令斷開連接(用法與connect相同),以免被管理員發現
connect <目標IP> //tcp_bind建立連接
unlink <目標IP> //tcp_bind斷開連接
3、使用smb_bind的操作:
實現條件:開放445端口或者關閉防火牆
先建立一個監聽器
然后利用這個監聽器生成一個文件上傳至目標機器:
由於是smb,所以不能直接用link命令,我們需要知道目標機器的賬號密碼,或者有目標機器的令牌。如果我們獲取到了對方的賬號密碼,可以用make_token來偽造令牌,然后再用link命令連接即可
make_token <目標機器賬號> <目標機器密碼> //偽造令牌
link <目標IP> <在創建監聽器時填寫的pipname> //smb_bind連接
此外,如果我們想清除令牌,可以用rev2self