首页 > 系统相关 >webshell工具流量特征

webshell工具流量特征

时间:2023-07-20 12:13:30浏览次数:45  
标签:webshell 加密 特征 Accept 字段 流量 密钥 工具 冰蝎

常见的webshell管理工具及流量特征

菜刀

作为老牌 Webshell 管理神器,中国菜刀的攻击流量特征明显,容易被各类安全设备检测,实际场景中越来越少使用,加密 Webshell 正变得日趋流行。

最开始使用明文传输,后来采用base64加密

UA字段

通常为百度,火狐

存在特征字符

请求体中存在eavl,base64等特征字符

payload编码

请求体中传递的payload为base64编码,并且存在固定的数值,z0=

QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7J

image

image

image

蚁剑

中国蚁剑是一款开源的跨平台网站管理工具,它主要面向于合法授权的渗透测试安全人员以及进行常规操作的网站管理员。

将蚁剑的正文内容进行URL解码后,流量最中明显的特征为@ini_set("display_errors","0");这段代码基本是所有WebShell客户端链接PHP类WebShell都有的一种代码,同时蚁剑也有eval这种明显的特征。

蚁剑中包含了很多加密、绕过插件,所以导致很多流量被加密后无法识别,但是蚁剑混淆加密后还有一个比较明显的特征,参数名大多以“_0x.....=”这种形式(下划线可替换为其他)所以,以_0x开头的参数名,后面为加密数据的数据包也可识别为蚁剑的流量特征。

====================================================================

image

解码后的数据包ini_set

image

冰蝎

冰蝎是一款基于Java开发的动态加密通信流量的新型Webshell客户端

冰蝎的通信过程可以分为两个阶段:

一、密钥协商

1)通过 GET 或者 POST 方法请求服务器密钥;

2)服务器使用随机数 MD5 的高16位作为密钥,存储到会话的 $_SESSION 变量中,并返回密钥

二、加密传输

1)客户端把待执行命令作为输入,利用AES或 XOR 运算进行加密,并发送至服务端;

2)服务端接受密文后进行 AES 或 XOR 运算解密,执行相应的命令;

3)执行结果通过AES加密后返回给攻击者。

====================================================================

冰蝎2.0

1、ACCEPT字段

​ 冰蝎2默认Accept字段的值很特殊,而且每个阶段都一样

Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
2、UA字段

冰蝎内置了十余种 UserAgent ,每次连接 shell 会随机选择一个进行使用。但都是比较老的,容易被检测到,但是可以在burp中修改ua头。

3、Content-Length

Content-Length: 16, 16就是冰蝎2连接的特征

====================================================================

冰蝎3.0

相比较冰蝎2,冰蝎3取消动态密钥获取,目前很多waf等设备都做了冰蝎2的流量特征分析,所以3取消了动态密钥获取;只有在无动态密钥交互失败后,才会进入常规的密钥交互阶段。

<?php@error_reporting(0);session_start();$key="e45e329feb5d925b"; //该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond$_SESSION['k']=$key;

从密钥的生成可以看出,使用密码的md5结果的前16位。

1、content-type

在冰蝎3.0 的服务端,是通过如下代码读取post请求

request.getReader().readLine()

代码的意思是,直接读取post请求中body的内容。所以请求的http中,content-type一定为application/octet-stream

2、内置16个ua头

冰蝎3.0 每次请求都会在16个默认的UA头中随机选择一个作为user-Agent,当然,普通用户很容易就可以修改

3、content-length 请求长度

在冰蝎中,任何请求,最终都会调用Utils.getData函数,对请求的参数加密。对于上传文件,命令执行来讲,加密的参数不定长。但是对于密钥交互,获取基本信息来讲,payload都为定长,且无随机padding。

====================================================================

冰蝎4.0

Accept字段

通信过程中会携带以下Accept字段,在进行数据通讯中会携带Accept字段
Accept: application/json, text/javascript, /; q=0.01

Content-Type字段

PHP站点:Application/x-www-form-urlencoded
ASP站点:Application/octet-stream

User-agent 字段

冰蝎4.0设置了10种User-Agent,每次连接shell时会随机选择一个进行使用

特征长连接

通讯默认使用长连接,避免了频繁的握手造成的资源开销。默认情况下,请求头和响应头里会带有 Connection。
Connection: Keep-Alive

PHP webshell 中存在固定代码
JSP webshell 中存在固定代码
连接密码

默认时,所有冰蝎4.* webshell都有“e45e329feb5d925b” 一串密钥。该密钥为连接密码32位md5值的前16位,默认连接密码rebeyond

哥斯拉

哥斯拉是一款继冰蝎之后又一款于Java开发的加密通信流量的新型Webshell客户端,内置了3种有效载荷以及6种加密器,6种支持脚本后缀,20个内置插件,也是目前在HVV中使用较多的一款工具。

cookie字段

最后一个Cookie的值出现;(结尾处通常会出现分号)

image

User-Agent (弱特征)

哥斯拉客户端使用JAVA语言编写,在默认的情况下,如果不修改User-Agent,User-Agent会类似于Java/1.8.0_121(具体什么版本取决于JDK环境版本)。但是哥斯拉支持自定义HTTP头部,这个默认特征是可以很容易去除的。

Accept(弱特征)

Accept为text/html, image/gif, image/jpeg, *; q=.2, /; q=.2

冰蝎也出现过同样的Accept,这个是JDK引入的一个特征,并不是作者自定义的Accept,同样的这个默认特征也可以通过自定义头部去除

image

响应体

如果请求体采用base64编码,响应体返回的也是base64编码的数据。在使用base64编码时,响应体会出现一个很明显的固定特征。这个特征是客户端和服务端编写的时候引入的。他会把一个32位的md5字符串按照一半拆分,分别放在base64编码的数据的前后两部分。整个响应包的结构体征为:md5前十六位+base64+md5后十六位。从响应数据包可以明显看到这个特征

需要注意的是md5需要同时匹配字母大小写两种情况,因为在JAVA版webshell响应中为大写字母,在PHP版中为小写字母。

image

标签:webshell,加密,特征,Accept,字段,流量,密钥,工具,冰蝎
From: https://www.cnblogs.com/2210z/p/17567953.html

相关文章

  • 使用图形化工具tortoiseGit上传代码至gitte仓库
    以前对gitte的操作也就是向上面的OpenHarmony仓库提一些轻量级pr。现在要经常向自己的gitte仓库上传代码,但是笔者不想记那些git命令。于是网上冲浪,找了一个windows平台tortoiseGit图形化工具管理gitte仓库的代码。(目录)1.使用环境搭建1.1安装TortoiseGit首先先在window......
  • SAFe大规模敏捷管理工具有哪些?
    什么是SAFe?SAFe(ScaledAgileFramework)是全球运用最广泛的大规模敏捷框架。SAFe融合了精益、敏捷和DevOps,它是一个知识库,囊括了大量已被证明的精益敏捷实践和能力。SAFe诞生于2011年,短短12时间,全球已经有超过120万SAFe认证专业人士,并且持续保持快速增长,得到了全球越来越多专人人士......
  • Java开发工具MyEclipse发布v2023.1.2,今年第二个修复版!
    MyEclipse一次性提供了巨量的Eclipse插件库,无需学习任何新的开发语言和工具,便可在一体化的IDE下进行JavaEE、Web和PhoneGap移动应用的开发;强大的智能代码补齐功能,让企业开发化繁为简。MyEclipsev2023.1.2官方正式版下载更新日志如下:v2023.1.2是MyEclipse2023的一个小错误修......
  • 什么是规模化敏捷SAFe?SAFe大规模敏捷管理工具
    ​什么是SAFe?SAFe(ScaledAgileFramework)是全球运用最广泛的大规模敏捷框架。SAFe融合了精益、敏捷和DevOps,它是一个知识库,囊括了大量已被证明的精益敏捷实践和能力。SAFe诞生于2011年,短短12时间,全球已经有超过120万SAFe认证专业人士,并且持续保持快速增长,得到了全球越来越多专人......
  • 将json格式的数据快速转换为excel,使用在线工具轻松搞定
    标准的json数据是可以转成excel表格方便阅读的,excel是行列的数据表格也可以转换成json格式数据。 https://uutool.cn/json2excel/ 只要把需要转换的json复制到工具框内,点击转换按钮即可秒转成excel文件。 本篇文章如有帮助到您,请给「翎野君」点个赞,感谢您的支持。首发......
  • 代码管理工具git的使用
    1.git概述git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是LinusTorvalds为了帮助管理Linux内核开发而开发的一个开放源码的版本控制软件。2. git工作流程图工作流程图如图所示,黄色部分为工作区,index为暂存区,Repository为......
  • 产品FAQ设计方法论,使用FAQ制作工具真的可以事半功倍?
    很多在线产品开发者都会设置一份产品使用答疑FAQ,帮助同事/客户更好地了解自己的产品,并快速解决产品应用过程中的问题。 产品FAQFAQ的意思为常见问题的解答,是一种在线的帮助文档。因科技发展的迅速,很多新的技术脱颖而出,各种技术在不同的行业中穿插使用,越来越多的新名词出现,新的技术......
  • 工具
    工具1.谷歌浏览器翻译插件:Traduzir-paginas-webhttps://github.com/FilipePS/Traduzir-paginas-web......
  • 抖音平台数据分析工具
    抖音平台数据分析工具实现步骤1.概述抖音是一家非常流行的短视频平台,对于开发者来说,分析抖音平台上的数据是非常有价值的。本文将介绍如何实现一个抖音平台数据分析工具,帮助你快速获取和分析抖音平台上的数据。2.实现步骤步骤描述步骤一安装必要的开发工具和库......
  • 使用fossa工具扫描Android配置
    使用fossa工具扫描Android配置教程作为一名经验丰富的开发者,你可以帮助那些刚入行的小白们解决问题和指导他们。这篇文章将教会你如何使用fossa工具来扫描Android配置。让我们一起来看看整个流程吧!整个流程以下是使用fossa工具扫描Android配置的步骤。我们将使用表格来展示每个......