冰蝎Behinder_v4.0


一、冰蝎4.0☕️

 冰蝎是一款基于Java开发的动态加密通信流量的新型Webshell客户端,由于通信流量被加密,传统的WAF、IDS 设备难以检测,给威胁狩猎带来较大挑战。冰蝎其最大特点就是对交互流量进行对称加密,且加密密钥是由随机数函数动态生成,因此该客户端的流量几乎无法检测

 同时冰蝎v4.0相对于3.0版本,更新了较多内容,其中包括了开放了传输协议的自定义功能

下载地址:https://github.com/rebeyond/Behinder/releases

二、流量特征问题☕️

 在流量层,冰蝎的aes特征一直是厂商查杀的重点,在主机层,aes相关的API也是一个强特征。既然是特征,那就一定存在一个一成不变的常量,那我们就把这个特征泛化一下,让他成为变量。为了一劳永逸解决这个问题,v4.0版本提供了传输协议自定义功能,让用户对流量的加密和解密进行自定义,实现流量加解密协议的去中心化。v4.0版本不再有连接密码的概念,你的自定义传输协议的算法就是连接密码

三、工作流程☕️

看一下冰蝎Payload流转的流程图:

在这里插入图片描述

1、本地对Payload进行加密,然后通过POST请求发送给远程服务端;
2、服务端收到Payload密文后,利用解密算法进行解密;
3、服务端执行解密后的Payload,并获取执行结果;
4、服务端对Payload执行结果进行加密,然后返回给本地客户端;
5、客户端收到响应密文后,利用解密算法解密,得到响应内容明文。

 由上述流程可知,一个完整的传输协议由两部分组成,本地协议和远程协议。由于客户端使用Java开发,因此本地协议的加解密算法需要用Java实现。远程协议根据服务端语言类型,可能为Java、PHP、C#、ASP。无论用哪种语言,同一个名称的传输协议,本地和远程的加解密逻辑应该是一致的,这样才能实现本地加密后,远程可以成功解密,远程加密后,本地同样也可以解密(因此如果修改默认的aes协议的key,则需要同时修改本地和远程的加密函数和加密函数中的key)

一个传输协议必须包含一对本地加解密函数,至少包含一对远程加解密函数(Java、PHP、C#、ASP中的一个或者多个)

如下是传输协议中的本地加解密函数与远程加解密函数:

在这里插入图片描述

传输协议的加解密函数名称分别为EncryptDecrypt,且都只有一个入参,参数类型为二进制字节流。在函加密数体内可以对字节流做任何加密,比如aes、rsa或者各种封装、拼接、自定义算法等等,最终将加密结果返回。在解密函数中利用对称算法将加密函数的结果进行解密,并将解密结果返回

四、演示过程☕️

 可以注意到,冰蝎v4.0版本没有再附带server端代码,因为加解密函数是不固定的,因此服务端也是动态生成的

命令行环境运行冰蝎

java -jar Behinder.jar

在这里插入图片描述

打开如下的GUI界面

在这里插入图片描述

生成木马,点击左上角的传输协议,然后选择default_aes协议,点击生成服务端,即可创建server服务端文件,同时生成木马文件

为了方便加解密一致性校验,冰蝎提供了即时加解密验证功能,输入加解密函数以后,可直接在窗口下方进行验证

在这里插入图片描述
生成server服务端文件里面的木马

在这里插入图片描述

将生成的PHP木马文件上传到PHP环境的网站,然后在工具页面,鼠标右击新增shell,确定木马文件上传的URL、上传的脚本类型、生成脚本的协议,保存即可

在这里插入图片描述
成功连接则显示已连接

在这里插入图片描述
这里新增的功能,认为也是比较好的,平行空间,同时也有一些扩展功能

在这里插入图片描述

五、流量检测☕️

1、Accept字段
流量特征
Accept: application/json, text/javascript, */*; q=0.01

在这里插入图片描述
检测思路:
 浏览器可接受任何文件,但最倾向application/json 和 text/javascript

2、Content-Type
流量特征

Content-type: Application/x-www-form-urlencoded

检测思路:
 可以把这个字段作为一个弱特征,辅助其他特征来检测

3、User-agent 字段
流量特征

冰蝎设置了10种User-Agent,每次连接shell时会随机选择一个进行使用
在这里插入图片描述
检测思路:
 在较短较简单的content字段后加上fast_pattern关键字则会优先匹配这个content,避免浪费太长时间在匹配user-agent上

snort编写可以用content:“User-Agent”;content:“浏览器版本”,来匹配相应的十个浏览器

4、端口
流量特征

 冰蝎与webshell建立连接的同时,javaw也与目的主机建立tcp连接,每次连接使用本地端口在49700左右(就是比较大的端口),每连接一次,每建立一次新的连接,端口就依次增加

检测思路:
 可以对符合该范围内的端口告警

5、PHP webshell 中存在固定代码
流量特征

$post=Decrypt(file_get_contents("php://input"));
eval($post);

检测思路:
 content字段中,将eval($post)作为流量特征纳入

6、长连接
流量特征

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

Connection: Keep-Alive

在这里插入图片描述
检测思路:
 可以作为辅助的流量特征

7、连接密码
流量特征:

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

8、webshell特征
JSP webshell代码特征

在这里插入图片描述
PHP webshell代码特征

在这里插入图片描述

9、请求和响应
流量特征
在这里插入图片描述

☕️参考文章:

1、冰蝎v4.0传输协议详解
2、冰蝎4.0特征分析及流量检测思路

<think>好的,用户想了解冰蝎Behinder)与反序列化漏洞利用工具的相关信息。首先,我需要确认冰蝎是什么,以及它如何与反序列化漏洞结合使用。冰蝎是一个知名的渗透测试工具,主要用于Webshell管理和远程控制,支持多种加密协议,能够绕过安全设备的检测。反序列化漏洞则是由于程序在反序列化数据时未进行充分验证,导致攻击者可以执行恶意代码。常见的反序列化漏洞包括Shiro、Hessian等,用户提到的引用[1]和[2]也涉及这些漏洞。 接下来,我需要整理冰蝎如何利用反序列化漏洞。通常,冰蝎会生成恶意序列化数据,利用目标系统的漏洞(如Shiro的RememberMe功能)发送请求,触发反序列化执行代码,从而建立加密隧道。例如,Shiro漏洞利用需要AES密钥,一旦密钥泄露,冰蝎可以构造有效的payload。 用户可能需要的信息包括冰蝎的功能、支持的漏洞类型、利用流程以及防护措施。同时,生成相关问题需要考虑用户可能的进一步疑问,比如漏洞检测、防护方法、与其他工具对比等。需要确保回答准确,引用相关来源,如用户提供的Shiro和Hessian漏洞资料,并正确标注引用。 最后,确保使用中文,结构清晰,分点说明,并添加相关问题。注意使用正确的LaTeX格式,不过用户问题中没有涉及数学公式,可能不需要使用。但根据系统级指令,如果有相关内容需按格式处理。</think>### 冰蝎Behinder)与反序列化漏洞利用工具解析 #### 1. 冰蝎工具简介 冰蝎Behinder)是一款基于Java开发的渗透测试工具,主要用于Webshell的加密通信和管理。其核心特性包括: - 支持动态加密传输协议(如AES、RSA),可绕过传统WAF/IDS检测 - 提供文件管理、命令执行、数据库操作等模块 - 支持HTTP/HTTPS隧道穿透 - 可集成反序列化漏洞利用模块[^2] #### 2. 反序列化漏洞利用原理 反序列化漏洞产生于未安全处理序列化数据时,典型利用流程: $$漏洞触发点 \rightarrow 恶意序列化数据注入 \rightarrow 对象反序列化 \rightarrow 代码执行$$ 冰蝎通过构造特定协议的序列化payload(如Shiro的RememberMe Cookie)实现漏洞利用,流程如下: 1. 检测目标是否存在反序列化漏洞(如Shiro框架) 2. 利用已知密钥生成加密payload 3. 通过HTTP请求发送恶意序列化数据 4. 触发漏洞建立加密通信隧道 #### 3. 冰蝎与Shiro反序列化漏洞结合案例 ```java // Shiro RememberMe漏洞利用伪代码 byte[] payload = generatePayload("冰蝎内存马"); // 生成恶意字节码 ByteSource ciphertext = encrypt(payload, AES_KEY); // AES加密 cookie.setValue(ciphertext.toString()); // 设置RememberMe Cookie ``` 当Shiro使用默认AES密钥且未更新时,冰蝎可通过此方式植入Webshell[^1] #### 4. 防御建议 - 及时更新Shiro至最新版本并更换加密密钥 - 对反序列化操作进行白名单控制 - 部署RASP(运行时应用自我保护)检测异常行为 - 监控异常HTTP请求特征(如长连接保活机制)
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值