webshell工具-冰蝎流量特征和加密方式

一、冰蝎原理

1.1 简介

冰蝎是一款基于Java开发的动态加密通信流量的新型Webshell客户端,由于通信流量被加密,传统的WAF、IDS 设备难以检测,给威胁狩猎带来较大挑战。冰蝎其最大特点就是对交互流量进行对称加密,且加密密钥是由随机数函数动态生成,因此该客户端的流量几乎无法检测。而老牌的如中国菜刀因为其流量特征太过明显,从而使用的场景越来越少。

1.2 冰蝎的加密原理

以PHP版本为例,"冰蝎"在服务端支持open_ssl时,使用AES加密算法,密钥长度16位,也可称为AES-16。此在软件及硬件(英特尔处理器的AES指令集包含六条指令)上都能快速地加解密,内存需求低,非常适合流量加密。

流程

1、首先客户端以Get形式发起带密码的请求。(根据实际情况也有POST的请求方式)

2、服务端产生随机密钥,将密钥写入Session并将密钥返回客户端。

3、客户端获取密钥后,将payload用AES算法加密,用POST形式发送请求。

4、服务端收到请求,用Session中的密钥解密请求的Body部分,之后执行Payload,将直接结果返回到客户端。

5、客户端获取返回结果,显示到UI界面上。

1.3 冰蝎流量特征

1、Accept字段

Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7

这个基本是固定的

2、Content-Type

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

这个基本也是固定的

3、冰蝎生成的服务端webshell中存在固定代码

以php为例:

(file_get_contents(“php://input”));

4、固定的请求头和响应头

请求: 3Mn1yNMtoZViV5wotQHPJtwwj (每个连接请求头和响应头都不一样的,但是本次连接以后的请求头和响应头都是固定的) 响应: mAUYLzmqn5QPDkyI5lvSp0fjiBu1e7047Yj

5、连接密码

默认时,所有冰蝎4.0 webshell都有“e45e329feb5d925b” 一串密钥。该密钥为连接密码32位md5值的 前16位,默认连接密码rebeyond(自己使用是可以更改密码的)

### 蚁剑、冰蝎哥斯拉 WebShell 工具的网络通信流量特征 #### 蚁剑 (AntSword) 蚁剑采用静态加密方式处理其WebShell通信,这使得其流量具有一定的可识别性。然而,随着版本更新,蚁剑引入了更复杂的加密机制来规避安全软件的检测[^2]。 对于蚁剑而言,主要通过HTTP(S)协议进行通信,并且会利用多种技术手段隐藏恶意行为: - **请求头**:通常包含特定User-Agent字符串以及自定义Cookie字段。 - **POST参数**:使用Base64编码或其他形式的数据混淆方法传递命令或脚本代码。 - **响应内容**:返回的结果同样经过编码处理,增加了直接解析难度。 ```python import base64 def encode_payload(data): """模拟蚁剑对有效负载进行简单编码""" encoded_data = base64.b64encode(data.encode()).decode() return f"{encoded_data}" ``` #### 冰蝎 (BingChen) 冰蝎3代相比前一代进行了改进,取消了动态密钥获取功能,转而采取其他措施增强隐蔽性抗分析能力[^3]。具体表现在以下几个方面: - **传输层协议**:依旧依赖于HTTPS/TLS通道确保数据安全性的同时减少被拦截风险。 - **应用层伪装**:模仿正常网页浏览活动模式发送请求并接收回复;例如设置合理的`Accept-Language`, `Referer`等头部信息。 - **内部逻辑优化**:简化了一些不必要的交互流程,降低了异常行为暴露的可能性。 ```bash curl -X POST \ https://example.com/shell.php \ -H 'Content-Type: application/x-www-form-urlencoded' \ -d 'cmd=id' ``` #### 哥斯拉 (Godzilla) 哥斯拉以其高度定制化的特性著称,在实际运用过程中展现出极强的适应能力灵活性[^4]。以下是该工具的一些典型特点: - **特殊标志符**:所有发出的数据包均以关键字"godzilla"作为起始标记,便于后续操作确认身份合法性。 - **ICMP隧道构建**:不同于传统基于TCP/UDP的应用程序,哥斯拉能够创建基于ICMP Echo Request & Reply的消息交换路径完成远程控制指令下发。 - **固定长度载荷**:每次传输的有效载荷大小保持一致(如92字节),有助于进一步掩盖真实意图。 ```csharp using System.Net.NetworkInformation; public static void SendPing(string targetIp, string payload) { Ping pingSender = new Ping(); byte[] buffer = Encoding.ASCII.GetBytes($"godzilla{payload}"); // Ensure the length of data is fixed to 92 bytes. Array.Resize(ref buffer, 92); var reply = pingSender.Send(targetIp, 120, buffer); } ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值