Webshell工具的流量特征分析(菜刀,蟻劍,冰蝎,哥斯拉)
0x00 前言
使用各種的shell工具獲取到目標權限,即可進行數據操作,今天來簡要分析一下目前常使用的各類shell管理工具的流量特診,幫助藍隊同學在風險識別上快速初值
0x01 中國菜刀流量分析
payload特征:
PHP: <?php @eval($_POST['caidao']);?>ASP: <%eval request(“caidao”)%>
ASP.NET: <%@ Page
Language=“Jscript”%><%eval(Request.Item[“caidao”],“unsafe”);%>
數據包流量特征:
1,請求包中:ua頭為百度,火狐
2,請求體中存在eavl,base64等特征字符
3,請求體中傳遞的payload為base64編碼,并且存在固定的QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7J
0x02 螞蟻寶劍流量分析
payload特征:
Php中使用assert,eval執行,
asp 使用eval
在jsp使用的是Java類加載(ClassLoader),同時會帶有base64編碼解碼等字符特征
數據包流量特征:
使用普通的一句話都存在以下特征:
每個請求體都存在@ini_set(“display_errors”, “0”);@set_time_limit(0)開頭。并且后面存在base64等字符
響應包的結果返回格式為:
隨機數
響應內容
隨機數
使用base64加密的payload,數據包存在以下base加密的eval命令執行,數據包的payload內容存在幾個分段內容,分別都使用base加密,解密后可以看到相關的路徑,命令等
響應包的結果返回格式為:
隨機數
編碼后的結果
隨機數
0x03 冰蝎流量分析
paylaod分析:
php在代碼中同樣會存在eval或assert等字符特征
在aps中會在for循環進行一段異或處理
在jsp中則利用java的反射,所以會存在ClassLoader,getClass().getClassLoader()等字符特征
冰蝎2.0流量特征:
第一階段請求中返回包狀態碼為200,返回內容必定是16位的密鑰
請求包存在:Accept: text/html, image/gif, image/jpeg, ; q=.2, /; q=.2
建立連接后的cookie存在特征字符
所有請求 Cookie的格式都為: Cookie: PHPSESSID=; path=/;
冰蝎3.0流量特征:
請求包中content-length 為5740或5720(可能會根據Java版本而改變)
每一個請求頭中存在
Pragma: no-cache,Cache-Control: no-cache
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,/*;q=0.8,application/signed-exchange;v=b3;q=0.9
0x04 哥斯拉流量特征
payload特征:
jsp會出現xc,pass字符和Java反射(ClassLoader,getClass().getClassLoader()),base64加解碼等特征
php,asp則為普通的一句話木馬
哥斯拉流量分析:
作為參考:
所有請求中Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
所有響應中Cache-Control: no-store, no-cache, must-revalidate,
同時在所有請求中Cookie中后面都存在;特征