当前位置: 首页 > news >正文

常见webshell工具的流量特征

1、蚁剑

1.1、蚁剑webshell静态特征

  • 蚁剑中php使用assert、eval执行;
  • asp只有eval执行;
  • 在jsp使用的是Java类加载(ClassLoader),同时会带有base64编码解码等字符特征。

1.2、蚁剑webshell动态特征

查看流量分析会发现请求体存在以@ini_set("display_errors","0");@set_time_limit(0)开头。并且响应体的返回结果是base64编码发混淆字符,格式为:随机数 结果 随机数

2、冰蝎

2.1、冰蝎2.0

使用AES加密+base64编码,AES使用动态密钥对通信进行加密,进行请求时内置了十几个U-A头,每次请求时会随机选择其中一个。因此当发现一个IP的请求头中的u-a头在不断的发生变化,就有可能是冰蝎。

2.2、冰蝎3.0

使用AES加密+base64编码,取消了2.0的动态获取密钥,使用固定的连接密钥,AES加密的密钥为webshell连接密码的MD5的前16位,默认连接密码是“rebeyond”。
进行请求时内置了十几个User-Agent头,每次请求时会随机选择其中的一个。因此当发现一个ip的请求头中的u-a在频繁变换,就可能是冰蝎。
3.0连接jsp的webshell的请求数据包中的content-type字段常见为application/octet-stream。

2.3、冰蝎4.0

  • 提供了传输协议自定义的功能,让用户对流量的加密和解密进行自定义,实现流量加解密协议的去中心化。v4.0版本不再有连接密码的概念,自定义传输协议算法就是连接密码。
  • accept字段(弱特征),通常是Accept:application/json,text/javascript,/;q=0.01 意思是浏览器可接受任何文件,但是倾向application/json和text/javascript。
  • Content-Type字段(弱特征),通常是Content-Type:Application/x-www-form-urlencoded
  • 与冰蝎的前述版本相似,进行请求时内置了十几个User-Agent头,每次请求时会随机选择其中的一个。
  • 连接的端口有一定的特征,冰蝎与webshell建立连接的同时,java也与目的主机建立tcp连接,每次连接使用本地端口再49700左右(比较大的端口),每连接一次/每建立一次新的连接,端口就增加一次。
  • 使用长连接,避免了频繁的握手链接造成的资源开销。默认情况下,请求头和响应头里都会包含Connection:Keep-Alive
  • 有固定的请求头和响应头,请求字节头:dFAXQV1LORcHRQtLRlwMAhwFTAg/M,响应字节头:TxcWR1NNExZAD0ZaAWMIPAZjH1BFBFtHThcJSlUXWEd
  • 默认时,冰蝎 webshell都有“e45e329feb5d925b” 一串密钥,与冰蝎3.0相同。
    payload分析:
    php在代码中会存在eval或assert等字符特征

在asp中会在for循环进行一段异或处理
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

jsp利用java的反射,所以会存在getMethod(),getClass().getClassLoader()等字符特征
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

所有请求中Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
所有响应中Cache-Control: no-store, no-cache, must-revalidate,
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3、哥斯拉

哥斯拉支持多种加密方式,采用了和冰蝎 2.0 类似的密钥交换方式。它的webshell需要动态生成,可以根据需求选择不同的加密方式。

3.1、静态特征

  • jsp会出现xc,pass字符和Java反射(ClassLoader,getClass().getClassLoader()),base64加解码等特征 ;
  • php,asp则为普通的一句话木马

3.2、动态特征

  • U-A字段(弱特征),如果采用默认的情况,会暴露使用的jdk信息。哥斯拉支持自定义HTTP头部,这个默认特征是很容易去除的。
  • Accept字段(弱特征),默认是Accept:text/html, image/gif, image/jpeg, *; q=.2, /; q=.2。同上,这个也可修改,只能作为辅助检测的特征。
  • Cookie中有一个非常关键的特征,最后会有个分号。估计后续的版本会修复。
  • 响应体的数据有一定特征,哥斯拉会把一个32位的md5字符串按照一半拆分,分别放在base64编码的数据的前后两部分。整个响应包的结构体征为:md5前十六位+base64+md5后十六位。
    外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

4. 菜刀流量特征

4.1 菜刀静态特征

菜刀使用一句话木马,特征十分明显,在PHP、ASP、ASP.NET的网站都可以:

PHP:  <?php @eval([$_post['cmd']]); ?>
ASP:  <% eval request("cmd")%>
ASP.NET:  <%@ Page Language="Javascript"%><% eval(Request.Item["cmd"],"unsafe");%>

4.2 菜刀动态特征

payload在请求体中,采用url编码+base64编码,payload部分是明文传输。
payload中有eval或assert、base64_decode这样的字符。
payload中有默认固定的&z0=QGluaV9zZXQ...这样base64加密的攻击载荷,参数z0对应$_POST[z0]接收到的数据,且固定为QGluaV9zZXQ开头。进行base64解码后可看到代码:@ini_set("display_errors","0");@set_time_limit(0);@set_magic_quotes_runtime(0);这段意思是首先关闭报错和magic_quotes,接下来去获取主机的信息。

参考链接:
https://blog.csdn.net/qq_53577336/article/details/125048353
https://www.cnblogs.com/-andrea/p/17473499.html

相关文章:

  • 批量修改或设置 Word 标题、主题、标记、作者、总编辑时间等元数据
  • Leetcode 3474. Lexicographically Smallest Generated String
  • 掌握 findIndex、push 和 splice:打造微信小程序的灵活图片上传功能✨
  • windows环境执行composer install出错
  • mac上最好的Python开发环境之Anaconda+Pycharm
  • 关于高精度力扣66
  • HTTP 状态代码 501 502 问题
  • 深度学习神经网络分类原理
  • centOS 环境 安装redis方法
  • DeepSearchAcademic-基于舆情中文核心论文的deepsearch的个人项目
  • 常见的网络协议介绍
  • Linux中使用cpulimit 限制 cpu 占用率
  • windows 上删除 node_modules
  • Zookeeper 及 基于ZooKeeper实现的分布式锁
  • 设计模式说明
  • 基于Python的新闻采集与分析:新闻平台的全面数据采集实践
  • 【学习笔记】网络设备(华为交换机)基础知识 9 —— 堆叠配置
  • ADB、Appium 和 大模型融合开展移动端自动化测试
  • 什么是线程安全?并行计算
  • 用DeepSeek-R1-Distill-data-110k蒸馏中文数据集 微调Qwen2.5-7B-Instruct!
  • 怎么给网站做开场动画/seo外包
  • 淘客做网站/班级优化大师免费下载app
  • 广州建设网站专家/宣传推广方案模板
  • winserver2008上用iis发布网站/明星百度指数排行
  • 大型网站建设推荐/网站源码建站
  • 114网站做推广怎么样/竞价托管资讯