0%

Webshell流量特征

  • 菜刀

    • 2011&2014版

      • PHP

        body中流量默认使用 base64 加密,默认参数名 z0

      • jSP

        body中 i=A&z0=…

        i,z0默认参数名,i的参数值在 A~Q

      • ASP

        body中url解码后有:

          `Execute`:用于执行传递的攻击 `payload` ,相当于php的 `eval`
        
          `OnError ResumeNext`: 大部分ASP客户端必有的流量
        
          `Response.Write` 与 `Response.End`
        
    • 2016

      • PHP

        对body中特征进行打断混淆,能看到混淆后的 evalbase64

        1
        =array_map("ass"."ert",array("ev"."Al(\"\\\$xx%3D\\\"Ba"."SE6"."4_dEc"."OdE\\\";@ev"."al(\\\$xx('QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7JEQ9ZGlybmFtZShfX0ZJTEVfXyk7JFI9InskRH1cdCI7aWYoc3Vic3RyKCRELDAsMSkhPSIvIil7Zm9yZWFjaChyYW5nZSgiQSIsIloiKSBhcyAkTClpZihpc19kaXIoInskTH06IikpJFIuPSJ7JEx9OiI7fSRSLj0iXHQiOyR1PShmdW5jdGlvbl9leGlzdHMoJ3Bvc2l4X2dldGVnaWQnKSk%2FQHBvc2l4X2dldHB3dWlkKEBwb3NpeF9nZXRldWlkKCkpOicnOyR1c3I9KCR1KT8kdVsnbmFtZSddOkBnZXRfY3VycmVudF91c2VyKCk7JFIuPXBocF91bmFtZSgpOyRSLj0iKHskdXNyfSkiO3ByaW50ICRSOztlY2hvKCJYQFkiKTtkaWUoKTs%3D'));\");"));
      • JSP与之前相同

      • ASP

        部分字符被 unicode 编码混淆,解码后根据 2011 版特征判断

  • 蚁剑

    • 混淆加密后特征为参数名大多是 _0x=...

    • PHP

      最明显的是明文的 @ini_set("display_errors","0");

      所有webshell客户端都有,但只有蚁剑是明文

    • ASP

      与菜刀很像,都有Execute,OnError ResumeNextResponse.WriteResponse.End`

      而蚁剑的 execute 被打乱混淆了 Ex"&cHr(101)&"cute

  • 冰蝎

    • 2.0

      16个老旧的 UA 头,每次请求随机选择一个

      一个 IPUA 频繁变换是就可能是冰蝎

    • 3.0

      强特征 Content-Type: application/octet-stream

  • 哥斯拉

    所有请求中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中后面都存在分号