這篇文章將為大家詳細講解有關(guān)常見WebShell客戶端的流量特征及檢測思路有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
創(chuàng)新互聯(lián)建站專注于企業(yè)成都全網(wǎng)營銷、網(wǎng)站重做改版、建寧網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、H5技術(shù)、成都做商城網(wǎng)站、集團公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為建寧等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
開始之前先明確什么是webshell客戶端?先問個問題,什么是客戶端,什么是服務(wù)端?
很簡單,提供服務(wù)的就是服務(wù)端,要求被服務(wù)的就是客戶端。那么回到我們的場景中,如果已經(jīng)種了后門,用于連接后門的程序是要求被服務(wù)的,比如執(zhí)行個ps,目的是為了得到后門所在主機的進程列表,是“被服務(wù)“的,所以稱之為客戶端。本文將在后續(xù)介紹一系列有關(guān)webshell客戶端的流量監(jiān)測手法。
WebShell客戶端是一種用于服務(wù)器上WebShell后門與攻擊客戶端之間進行通信的程序,我們通常可以根據(jù)WebShell客戶端的流量來判斷服務(wù)器上是否存在WebShell后門。
如今國內(nèi)外常用的WebShell客戶端有如下幾種:
中國菜刀(使用量最大,適用范圍最廣的WebShell客戶端);
蟻劍(一種常用的WebShell客戶端);
冰蝎(流量加密客戶端);
Cknife(C刀,使用Java語言編寫)
Weevely(kali中的中國菜刀)。
接下來分別介紹其流量特征。
中國菜刀自誕生以來已經(jīng)歷了多個版本的更新,其功能、隱秘性也隨著更新得到很大提升。菜刀現(xiàn)在主流有三個版本在使用,分別為2011版、2014版、2016版,這三個版本中從2011版本到2014版本是功能性上進行了增強,從2014版本到2016版本是在隱秘性上進行了增強,2016版本的菜刀流量加入了混淆,使其鏈接流量更具有混淆性。
中國菜刀基本支持PHP、JSP、ASP這三種WebShell的連接,這三種語言所對應(yīng)的流量各有差異,各個版本也有不用。下面將按照不同版本不同語言組合進行分析。其中2011版和2014版菜刀流量特征基本一致,所以放在一起分析。
中國菜刀2011版本及2014版本各語言WebShell鏈接流量特征
(1)PHP類WebShell鏈接流量
其中特征主要在body中,將body中流量進行url解碼后如下:
其中特征點有如下三部分,
第一:“eval”,eval函數(shù)用于執(zhí)行傳遞的攻擊payload,這是必不可少的;
第二:(base64_decode($_POST[z0])),(base64_decode($_POST[z0]))將攻擊payload進行Base64解碼,因為菜刀默認是將攻擊載荷使用Base64編碼,以避免被檢測;
第三:&z0=QGluaV9zZXQ...,該部分是傳遞攻擊payload,此參數(shù)z0對應(yīng)$_POST[z0]接收到的數(shù)據(jù),該參數(shù)值是使用Base64編碼的,所以可以利用base64解碼可以看到攻擊明文。
注:
1.有少數(shù)時候eval方法會被assert方法替代。
2.$_POST也會被$_GET、$_REQUEST替代。
3.z0是菜刀默認的參數(shù),這個地方也有可能被修改為其他參數(shù)名。
(2)JSP類WebShell鏈接流量:
該流量是WebShell鏈接流量的第一段鏈接流量,其中特征主要在i=A&z0=GB2312,菜刀鏈接JSP木馬時,第一個參數(shù)定義操作,其中參數(shù)值為A-Q,如i=A,第二個參數(shù)指定編碼,其參數(shù)值為編碼,如z0=GB2312,有時候z0后面還會接著又z1=參數(shù)用來加入攻擊載荷。
注:其中參數(shù)名i、z0、z1這種參數(shù)名是會變的,但是其參數(shù)值以及這種形式是不會變得,最主要就是第一個參數(shù)值在A-Q,這種是不變的。
(3)ASP類WebShell鏈接流量:
其中body流量進行URL解碼后
其中特征點有如下三部分,
第一:“Execute”,Execute函數(shù)用于執(zhí)行傳遞的攻擊payload,這是必不可少的,這個等同于php類中eval函數(shù);
第二:OnError ResumeNext,這部分是大部分ASP客戶端中必有的流量,能保證不管前面出任何錯,繼續(xù)執(zhí)行以下代碼。
第三:Response.Write和Response.End是必有的,是來完善整個操作的。
這種流量主要識別這幾部分特征,在正常流量中基本沒有。
注:OnError Resume Next這個特征在大部分流量中存在,極少數(shù)情況沒有。
中國菜刀2016版本各語言WebShell鏈接流量特征
PHP類WebShell鏈接流量
其中特征主要在body中,將body中部分如下:
這個版本中流量最大的改變就是將特征進行打斷混淆,這也給我們識別特征提供一種思路。
其中特征點有如下三部分,
第一:“"Ba"."SE6"."4_dEc"."OdE”,這部分是將base64解碼打斷使用.來連接。
第二:@ev"."al,這部分也是將@eval這部分進行打斷連接,可以識別這段代碼即可。
第三:QGluaV9zZXQoImRpc3BsYXlf...,該部分是傳遞攻擊payload,payload依舊使用Base64編碼的,所以可以利用base64解碼可以看到攻擊明文來識別。
注:1.有少數(shù)時候eval方法會被assert方法替代。
JSP類WebShell鏈接流量:
該版本JSPwebshell流量與之前版本一樣,
所以分析如上:該流量是WebShell鏈接流量的第一段鏈接流量,其中特征主要在i=A&z0=GB2312,菜刀鏈接JSP木馬時,第一個參數(shù)定義操作,其中參數(shù)值為A-Q,如i=A,第二個參數(shù)指定編碼,其參數(shù)值為編碼,如z0=GB2312,有時候z0后面還會接著又z1=、z2=參數(shù)用來加入攻擊載荷。
注:其中參數(shù)名i、z0、z1這種參數(shù)名是會變的,但是其參數(shù)值以及這種形式是不會變得,最主要就是第一個參數(shù)值在A-Q,這種是不變的。
ASP類WebShell鏈接流量:
其中body流量為:
2016版本流量這鏈接流量最大的變化在于body中部分字符被unicode編碼替換混淆,所以這種特征需要提取出一種形式來,匹配這個混淆特征,比如“字符+%u0000+字符+%u0000”這種形式來判斷該流量。
或者直接將這部分代碼直接進行unicode解碼,可以獲取到如2011或2014版本的asp所示的流量??梢愿鶕?jù)上一段特征來進行判斷。
這種流量主要識別這幾部分特征,在正常流量中基本沒有。
蟻劍的很多代碼源于中國菜刀,所以他的鏈接流量與中國菜刀很相似,但是蟻劍可以擴充性很好,可以對進行加密、混淆等繞過處理。蟻劍默認支持ASP以及PHP的webshell鏈接。
蟻劍PHP類WebShell鏈接流量
其中body流量進行URL解碼后為:
其中流量最中明顯的特征為@ini_set("display_errors","0");這段代碼基本是所有WebShell客戶端鏈接PHP類WebShell都有的一種代碼,但是有的客戶端會將這段編碼或者加密,而蟻劍是明文,所以較好發(fā)現(xiàn)。
蟻劍ASP類WebShell鏈接流量
其中body流量進行URL解碼后為:
我們可以看出蟻劍針對ASP類的WebShell流量與菜刀的流量很像,其中特征也是相同,如OnError ResumeNext、Response.End、Response.Write,其中execute在蟻劍中被打斷混淆了,變成了拼接形式Ex"&cHr(101)&"cute,同時該流量中也使用了eval參數(shù),可以被認為明顯特征。
蟻劍繞過特征流量
由于蟻劍中包含了很多加密、繞過插件,所以導(dǎo)致很多流量被加密后無法識別,但是蟻劍混淆加密后還有一個比較明顯的特征,即為參數(shù)名大多以“_0x......=”這種形式(下劃線可替換為其他),如下圖:
所以,以_0x開頭的參數(shù)名,后面為加密數(shù)據(jù)的數(shù)據(jù)包也可識別為蟻劍的流量特征。
其中冰蝎是近幾年出現(xiàn)的一種WebShell客戶端,該鏈接器最大的特點就是流量進行加密,且加密秘鑰是由使用者來設(shè)定,但是該攔截器對WebShell的需求比較高,無法連接一句話木馬,綜上,該客戶端的流量無法檢測。
Cknife流量的特征就是在body部分的參數(shù)值均為base64編碼,將該部分進行base64解碼后,其流量特征同中國菜刀一致,所以不再另行展開分析
Weevely是kail中自帶的一款功能強大的WebShell客戶端,該鏈接器首先自己生成webshell,在將該webshell上傳至目的服務(wù)器后,通過Weevely進行鏈接,該鏈接流量屬于加密流量,但是在該流量中還可以發(fā)現(xiàn)特征,進行區(qū)分。
該流量中的攻擊載荷存在于Referer中,其中Referer中的路徑中php的查詢參數(shù)有以下參數(shù)名或值,即sa=、source=web、cd=數(shù)字、url=、ei=,即可確定該流量為客戶端流量。
關(guān)于“常見WebShell客戶端的流量特征及檢測思路有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
網(wǎng)頁題目:常見WebShell客戶端的流量特征及檢測思路有哪些
文章位置:http://aaarwkj.com/article28/gdcjjp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、商城網(wǎng)站、App設(shè)計、做網(wǎng)站、網(wǎng)站設(shè)計、品牌網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)