close

01.
冰蠍4.0介紹

冰蠍是一款基於Java開發的動態加密通信流量的新型Webshell客戶端。老牌Webshell管理神器——中國菜刀的攻擊流量特徵明顯,容易被各類安全設備檢測,實際場景中越來越少使用,加密 Webshell 正變得日趨流行。

由於通信流量被加密,傳統的 WAF、IDS 設備難以檢測,給威脅狩獵帶來較大挑戰。冰蠍其最大特點就是對交互流量進行對稱加密,且加密密鑰是由隨機數函數動態生成,因此該客戶端的流量幾乎無法檢測。

1、新版本
修復問題:
1.修復了在zimbra環境下的兼容性問題;
2.修復了在exchange環境下的兼容性問題;
3.修復了Linux環境下打開文件失敗的問題;
4.修復了命令執行中輸入反斜槓導致後續無法輸入新命令的問題;
5.修復了列目錄時目錄跳動的問題;
6.修復JDK18+執行命令亂碼的問題;
7.修復內網穿透模塊的幾個影響隧道穩定性的幾個問題;
8.修復了代碼編輯框的複製粘貼問題;
9.其他一些優化。

新增功能:

1.新增支持多線程超大文件上傳、下載;
2.新增文件打包壓縮;
3.新增數據庫連接配置可保存;
4.取消硬編碼通信協議,傳輸協議完全自定義,並支持即時在線校驗測試。
5.新增平行世界模塊,可對目標內網資產進行管理;
6.新增主機掃描、端口掃描、服務識別模塊;
7.新增支持Java9~java15+版本Agent內存馬一鍵注入;
8.新增支持Java Agent無文件落地注入內存馬;
9.新增多層網絡子Shell穿透模塊,實現多層」蠍中蠍」;
10.新增離線模式,自動緩存數據,如shell丟失,可離線查看已緩存內容;
11.開放插件開發模塊,可開發自定義插件,內置多款插件;
12.支持二進制服務端,服務端不再依賴web。
2、工具通信原理

冰蠍的通信過程可以分為兩個階段:密鑰協商和加密傳輸

第一階段-密鑰協商

1.攻擊者通過 GET 或者 POST 方法,形如 http://127.0.0.1/shell.aspx?pass=645的請求服務器密鑰;

2.服務器使用隨機數 MD5 的高16位作為密鑰,存儲到會話的 $_SESSION 變量中,並返回密鑰給攻擊者。

第二階段-加密傳輸

1)客戶端把待執行命令作為輸入,利用 AES 算法或 XOR 運算進行加密,並發送至服務端;

2)服務端接受密文後進行 AES 或 XOR 運算解密,執行相應的命令;

3)執行結果通過AES加密後返回給攻擊者。

02.
特徵檢測
1、Accept字段

流量特徵

Accept: application/json, text/javascript, */*; q=0.01

檢測思路

瀏覽器可接受任何文件,但最傾向application/json和 text/javascript

規則

file_data的作用和http_server_body差不多,都是使content匹配response body中的內容,唯一不同的是使用了file_data關鍵字的規則,其在file_data之後的content都會受到它的影響。file_data之後的content都必須在response body里匹配。。

2、Content-Type

流量特徵

Content-type: Application/x-www-form-urlencoded

檢測思路

可以把這個字段作為一個弱特徵,輔助其他特徵來檢測

3、User-agent 字段

流量特徵

冰蠍設置了10種User-Agent,每次連接shell時會隨機選擇一個進行使用。

檢測思路

在較短較簡單的content字段後加上fast_pattern關鍵字則會優先匹配這個content。避免浪費太長時間在匹配user-agent上。

snort編寫可以用content:「User-Agent」;content:「瀏覽器版本」。來匹配相應的十個瀏覽器。

4、端口

流量特徵

冰蠍與webshell建立連接的同時,javaw也與目的主機建立tcp連接,每次連接使用本地端口在49700左右,每連接一次,每建立一次新的連接,端口就依次增加。

檢測思路

可以對符合該範圍內的端口告警。

5、PHP webshell 中存在固定代碼

流量特徵

$post=Decrypt(file_get_contents("php://input"));

eval($post);

檢測思路

content字段中,將eval($post)作為流量特徵納入。

6、長連接

流量特徵

冰蠍通訊默認使用長連接,避免了頻繁的握手造成的資源開銷。默認情況下,請求頭和響應頭裡會帶有 Connection。

Connection: Keep-Alive

檢測思路

可以作為輔助的流量特徵。

7、固定的請求頭和響應頭

流量特徵

請求字節頭:

dFAXQV1LORcHRQtLRlwMAhwFTAg/M

響應字節頭:

TxcWR1NNExZAD0ZaAWMIPAZjH1BFBFtHThcJSlUXWEd

解密報文:

通過webshell腳本,逆向分析揭秘算法:

得到報文內容:

將報文base64解密得到:

可以獲取到目錄信息

8、連接密碼

流量特徵:

默認時,所有冰蠍4.0 webshell都有「e45e329feb5d925b」 一串密鑰。該密鑰為連接密碼32位md5值的前16位,默認連接密碼rebeyond

9、webshell特徵
JSP webshell代碼特徵

PHP webshell代碼特徵

10、請求和響應

冰蠍連接時不用輸入密碼,根據對冰蠍的使用分析,冰蠍4.0可以在初始時自定義連接密碼。

要設置自定義密碼,需要在本地和遠程加解密函數中都保存$key。

這樣的話,如果對方更換密碼,初始字符串經過密鑰加密,那麼它的請求頭和響應頭都會發生變化,這就需要針對webshell中的$key動態改變解密函數才能得到解密後固定的請求頭和響應頭

另外,每次發起連接時都會發出兩次http請求,默認連接密鑰下,所有響應頭都相同,第二次請求頭比較特殊,初次之外,所有的請求頭都相同。

第一次請求解密

dFAXQV1LORcHRQtLRlwMAhwFTAg/M

@error_reporting(0);\r

第二次請求解密

OT8AQUBWFDoQUBRWQEELC1MdVRoJNGwDF1sHTVtaDEVZVAxdGh0RDQNBAU9X

error_reporting(0);\r

—【 THE END 】—

加個好友進技術交流群

請備註:進群
推薦閱讀

歡迎在看丨留言丨分享至朋友圈三連


好文推薦


實戰殺豬盤滲透測試
實戰|一次不太成功的反詐騙滲透測試
CTF常用腳本工具(附下載地址)
實戰|一次對BC網站的滲透測試
實戰|文件上傳繞過的一次思路總結學習(兩個上傳點組合Getshell)
AppScan10.0.8(附下載地址)
BurpSuite_pro_v2022.8(附下載地址)
一款強大的紅隊資產測繪工具
紅隊必備-防蜜罐抓到被打斷腿
HVV之內存馬檢測工具
HVV中一種針對紅隊的新型溯源手段
HVV|藍隊防猝死手冊
藍隊/紅隊釣魚項目(附分析報告)
紅隊防猝死手冊
乾貨|紅隊全流程學習資料(附下載地址)
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()