記一次解密wireshark抓取的冰蠍通信流量

一、關於冰蠍

 1.1 簡單介紹

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

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

 1.2 關於冰蠍通信 

  冰蠍通信大致分爲兩個階段

第一階段:

  Attacker通過GET方法或者POST方法形如下圖這樣請求服務器密鑰

 

 

 服務器使用隨機數MD5的高16位作爲密鑰,存儲到會話的SESSIONID中,並返回密鑰給attacker。密鑰可通過wireshark抓包看到,見下圖。

 

 

 

第二階段:

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

2.服務端接受密文後進行AES解密或者XOR運算解密,執行解密後的命令

3.執行結果通過AES加密後返回給attacker

關於上述內容和抓包詳情和可繞過字段的具體詳情可看下面鏈接大佬寫的文章,本人在此就不CV了

  https://cloud.tencent.com/developer/article/1621021

 

1.3 解密思路

  在服務器開啓 PHP OpenSSL 擴展腳本的情況下,冰蠍密文采用對稱加密算法AES加密,加密後還會進行 base64 編碼。在客戶端發起密鑰協商後,會返回16位明文隨機密鑰。在安全監控設備採集流量較全的情況下,可截獲密文流量和密鑰,通過解密解碼平臺即可獲取冰蠍密文詳情。 

  大體也是根據shell.php代碼審計得出來的,關於冰蠍簡單的協商加密部分代碼審計可以看下面的鏈接

  https://www.freesion.com/article/2118538292/

 

二、冰蠍解密詳細步驟

  這次主要還是奔着解密數據包內容去的,之前有一次搞了好久沒搞出來就擱置了,這次正好又看到了兩個大佬的文章就抓回來重新搞一次,詳細的解密還原報文步驟如下

 

2.1 環境

 

  物理機  作爲attacker使用冰蠍連接shell.php

 

  Win2003 server   作爲 attacked 在DVWA-master目錄下提前放置了shell.php

 

2.2 總體步驟

  打開wireshark 監聽虛擬網卡(我用的NAT模式也就是VM8)

 

  首先attacker連接了http://192.168.124.139:81/DVWA-master/shell.php

 

  並隨意執行兩個命令

 

  打開wireshark頁面停止監聽 在頭部就可以看到4個http的包  追蹤流查看

 

  因爲冰蠍是動態二進制協商加密 數據包可看作被進行了2次加密

 

  

  第一層加密爲AES128加密

 

    AES解密時需要一個16位的key,而冰蠍的腳本會進行與attacked協商一個key保存在SESSIONID中,如下圖這個16位的數據就是解密所需的key

 

 

 

   

  接下來需要一個在線解密AES的網站。(一開始我用的是CaptfEncoder這個工具,但是在AES解密時總是報錯不知道爲什麼,通過查閱網上大佬的資料get了這個站)

http://tools.bugscaner.com/cryptoaes/

PS:本人之前也找過很多的站包括CaptfEncoder這個工具,只有用上面這個站解密成功了。(不知道是本人操作問題還是臉黑 Orz)

 

請求密文就是類似於下圖的紅字部分

 

 

 

進行解密:

 

 

 

將解密之後base64_decode()中的內容丟去base64解密就好了,可以網上找個在線的站。我用的是CaptfEncoder

 

 

 

這時就可以看到冰蠍加密前的內容是什麼了

同樣響應內容也可以進行解密:

 

 

 

 將響應密文丟到剛纔AES解密的站,還是原先的16位key

 

 

 

 

{"status":"c3VjY2Vzcw==","msg":"DQ0KV2luZG93cyBJUCBDb25maWd1cmF0aW9uDQ0KDQ0KDQ0KRXRoZXJuZXQgYWRhcHRlciDmnKzlnLDov57mjqUgMjoNDQoNDQogICBDb25uZWN0aW9uLXNwZWNpZmljIEROUyBTdWZmaXggIC4gOiBsb2NhbGRvbWFpbg0NCiAgIElQIEFkZHJlc3MuIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA6IDE5Mi4xNjguMTI0LjEzOQ0NCiAgIFN1Ym5ldCBNYXNrIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA6IDI1NS4yNTUuMjU1LjANDQogICBEZWZhdWx0IEdhdGV3YXkgLiAuIC4gLiAuIC4gLiAuIC4gOiAxOTIuMTY4LjEyNC4yDQ0KDQ0KRXRoZXJuZXQgYWRhcHRlciDmnKzlnLDov57mjqU6DQ0KDQ0KICAgQ29ubmVjdGlvbi1zcGVjaWZpYyBETlMgU3VmZml4ICAuIDogREhDUCBIT1NUDQ0KICAgSVAgQWRkcmVzcy4gLiAuIC4gLiAuIC4gLiAuIC4gLiAuIDogMTkyLjE2OC4wLjEwNQ0NCiAgIFN1Ym5ldCBNYXNrIC4gLiAuIC4gLiAuIC4gLiAuIC4gLiA6IDI1NS4yNTUuMjU1LjANDQogICBEZWZhdWx0IEdhdGV3YXkgLiAuIC4gLiAuIC4gLiAuIC4gOiAxOTIuMTY4LjAuMQ0NCg=="}

 

 上面經過AES解密後的紅體字還需要丟到base64解密一下

 

 

成功獲得響應報文

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章