冰蠍2,3及哥斯拉特征分析


一、冰蠍2

冰蠍是一款基於Java開發的動態加密通信流量的新型Webshell客戶端。

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

(1)第一階段:密鑰協商

攻擊者通過GET方式請求服務器密鑰:

 

這個是代碼:

 

這是服務端存儲的$_SESSION變量

 

 

 (2)服務器使用密鑰解密

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

當我們輸入命令操作后,請求方式就會變成POST

 

 

這個是代碼段:

因為我本地是有openssl擴展的,所以執行else里面的代碼段

可以看到服務端用之前生成的密鑰進行AES128解密請求的post數據

這個是我大概寫的一個輸出腳本:

 

 

base64解碼:

 1 @error_reporting(0);  2 function main($content)  3 {  4     $result = array();  5     $result["status"] = base64_encode("success");  6     $result["msg"] = base64_encode($content);  7     $key = $_SESSION['k'];  8     echo encrypt(json_encode($result),$key);  9 } 10 
11 function encrypt($data,$key) 12 { 13     if(!extension_loaded('openssl')) 14  { 15             for($i=0;$i<strlen($data);$i++) { 16                  $data[$i] = $data[$i]^$key[$i+1&15]; 17  } 18             return $data; 19  } 20     else
21  { 22             return openssl_encrypt($data, "AES128", $key); 23  } 24 }$content="713fd3e0-d2c2-4536-8391-ae12c124a44f"; 25 main($content);

然后服務端腳本繼續往下執行:

 

這幾行的代碼就十分好懂了,用分割線生成數組,然后取數組第1位元素的值,最后eval執行

顯然它將返回結果也加密了

(3)特征總結

a.ACCEPT字段

冰蠍2默認Accept字段的值很特殊,而且每個階段都一樣

Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2

b.UA字段

冰蠍內置了十余種 UserAgent ,每次連接 shell 會隨機選擇一個進行使用。但都是比較老的,容易被檢測到,但是可以在burp中修改ua頭。

c.Content-Length

Content-Length: 16, 16就是冰蠍2連接的特征

 

二、冰蠍3

對比冰蠍2,冰蠍3取消動態密鑰獲取,目前很多waf等設備都做了冰蠍2的流量特征分析,所以3取消了動態密鑰獲取;只有在無動態密鑰交互失敗后,才會進入常規的密鑰交互階段。

 

 

密鑰生成可以看出,使用密碼的md5結果的前16位。

特征分析:

1)Accept頭有application/xhtml+xmlapplication/xmlapplication/signed-exchange屬於弱特征

2)ua頭該特征屬於弱特征。通過burp可以修改,冰蠍3.0內置的默認16個userAgent都比較老。現實生活中很少有人使用,所以這個也可以作為waf規則特征。

 

數據包加密分析:

 

 

當我們去請求連接服務端的shell_bing3.0.php時,會在服務端的會話中存儲一個值為"e45e329feb5d925b"的$_SESSION變量,也就是密鑰$key

 

 

然后服務端用生成的密鑰去解密請求的POST數據包內容

這是我寫的小腳本(我其實就是想看看發送的POST數據包內容)

 

 

解密結果:

 

 

再次進行base64解密:

 1 @error_reporting(0);  2 function main($content)  3 {  4     $result = array();  5     $result["status"] = base64_encode("success");  6     $result["msg"] = base64_encode($content);  7     $key = $_SESSION['k'];  8     echo encrypt(json_encode($result),$key);  9 } 10 
11 function encrypt($data,$key) 12 { 13     if(!extension_loaded('openssl')) 14  { 15             for($i=0;$i<strlen($data);$i++) { 16                  $data[$i] = $data[$i]^$key[$i+1&15]; 17  } 18             return $data; 19  } 20     else
21  { 22             return openssl_encrypt($data, "AES128", $key); 23  } 24 }$content="Xg7QPeZL9pqCKhXs8Sug7C2Uxnoi39z7DQup7oysPVx60VpOEt2HgP1mGm95uA1b1xJ8tjz29YKZSHWDTFQ5MUbFDdzrx4buFBVj2taUJYTbHUq3fa763mSMOirkT9rs99vKdHEuHoZCqBpawjqQQUejU5aHE4FAHHcF24mOpPsL2TU9JgngUkPwPRJZRtXwF"; 25 main($content);
@error_reporting(0);
function main($content)
{
    $result = array();
    $result["status"] = base64_encode("success");
    $result["msg"] = base64_encode($content);
    $key = $_SESSION['k'];
    echo encrypt(json_encode($result),$key);
}

function encrypt($data,$key)
{
    if(!extension_loaded('openssl'))
        {
            for($i=0;$i<strlen($data);$i++) {
                 $data[$i] = $data[$i]^$key[$i+1&15]; 
                }
            return $data;
        }
    else
        {
            return openssl_encrypt($data, "AES128", $key);
        }
}$content="Xg7QPeZL9pqCKhXs8Sug7C2Uxnoi39z7DQup7oysPVx60VpOEt2HgP1mGm95uA1b1xJ8tjz29YKZSHWDTFQ5MUbFDdzrx4buFBVj2taUJYTbHUq3fa763mSMOirkT9rs99vKdHEuHoZCqBpawjqQQUejU5aHE4FAHHcF24mOpPsL2TU9JgngUkPwPRJZRtXwF";
main($con

后面的執行代碼其實跟冰蠍2類似

 

 

三、哥斯拉

介紹

哥斯拉是一個基於流量、HTTP全加密的webshell管理工具相對於蟻劍,冰蠍;哥斯拉具有以下優點。

全部類型的shell均過市面所有靜態查殺

流量加密過市面全部流量waf

Godzilla自帶的插件是冰蠍、蟻劍不能比擬的

使用

(1)Godzilla的運行需要java環境,win下直接雙擊就可,linux下java -jar Godzilla.jar

此時會在同目錄下生成data.db數據庫存放數據

(2)Godzilla的webshell可以自定義生成操作方法:管理-生成所需的webshell,哥斯拉支持jsp、php、aspx等多種載荷java和c#的載荷原生實現AES加密

java使用AES加密

 

 

php使用異或加密

 

(3)將生成的webshell上傳到目標機器,然后在Godzilla目標欄添加相應的url

PHP連接特征

(1)php_XOR_BASE64

設置代理,用burp抓包。截取到特征發現請求都含有"pass="第一個包

POST /hackable/uploads/base.php HTTP/1.1 User-Agent: Java/1.8.0_131 Host: 192.168.0.132:777 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-type: application/x-www-form-urlencoded Content-Length: 23275 Connection: close ​ pass=KX4nWAFVJ005aWdeUVosCjpuL0k7YApWKGVGfHFTUXg5WDNFOwszSQEDAVVRWjdGKHU3RwBgLEkGRgV5e3cgVCpxP0YBVVBRB3d3WlFZJ0c5bjdcAVEGUgB2BEh%2BXQJeMGMdQAMKN2M BAmALeE1UWjpuK1wsUjN%2FAVx7RGhzNFwpBFRcBn9YTylIXkJ9Q1F4J2cKVyt7IF4CZmxVeXczVTYGM2Q3CA1pN11GW2taDUQ6bitKOgpYTjlmAFRrWSdJOWE3QAFRK10zZQQCUVo3XyhuFn4hUSBeKnJ0VXt3IFQycS8FAX8nQwAADERRczdGOwQvWAEKN1ICaXxdeW ASfSBfJFcreyMAJ2BafHFdIFQqdSdJOGAzCABcAVVrWSdJOWI8ADBvVFMBA2deeXM3ATphHXcGb1RTKHJeQn1DUXgFZ1V7JmkRVAdmAFhWcw1FAV8nWQdgI1EAAntUUAcjXwFaXFk7YC9VOXZZS3l3DQQnZwp XK3sgXgJmbF17YSNeAmEdXDoKNw0CaXsCUU0GXTpYCUc7YC9DOwMMRWhjVFU6WyNKOG8zSQBYVkJ5bBJ9IF8kVyt7IF4qcnRVY3NQQTlxCUkpewVQBml3WlE

第二個包

POST /hackable/uploads/base.php HTTP/1.1 User-Agent: Java/1.8.0_131 Host: 192.168.0.132:777 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-type: application/x-www-form-urlencoded Content-Length: 51 Connection: close ​ pass=AWEzAAN%2FWFI3XHNGaGBQWDEHPwY4fSQAM2AIDw%3D%3D

(2)php_XOR_RAW

執行ls和cat命令,命令雖然不同,但是發現請求中都含有一樣的

:•T[6• L9e

ls命令的包

POST /hackable/uploads/g.php HTTP/1.1 Cookie: PHPSESSID=oo9hn9d3uqq7661o3oldu0ojo7; User-Agent: Java/1.8.0_131 Host: 192.168.0.132:777 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-type: application/x-www-form-urlencoded Content-Length: 56 Connection: close ​ :•T[6• L9e•[aqP•)[T\••O9t

cat命令的包

POST /hackable/uploads/g.php HTTP/1.1 Cookie: PHPSESSID=oo9hn9d3uqq7661o3oldu0ojo7; User-Agent: Java/1.8.0_131 Host: 192.168.0.132:777 Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-type: application/x-www-form-urlencoded Content-Length: 72 Connection: close ​ :•T[6• L9e•h•_8D0c+r•}•L6[gYccY )[T\••O9t

當以為這就是特征時就大錯特錯了,這只是這一次連接所含有的特征

內存馬

內存shell模塊實現了在tomcat中上傳一個哥斯拉的馬或者冰蠍、菜刀的馬。甚至是上傳regeorg建立http隧道。

 

在這里我選擇上傳一個冰蠍馬。

 

然后在冰蠍連接,成功連接。

 

內存shell 無日志,會在tomcat重啟后消失。

 

ps:哥斯拉避免被查殺技巧:

1.不使用默認密碼(pass)

2.修改ua頭

3.填充垃圾數據(post的左右)

 

參考:https://www.freebuf.com/articles/web/257956.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM