护网面试题
来看看下面蓝中的面试题你能答得上来不?
讲一下中国菜刀、蚁剑、冰蝎的流量特征详解及三者之间的区别?
1、中国菜刀(Cknife)流量特征
-
基础特征
-
静态特征:默认使用一句话木马,如PHP的
<?php @eval($_POST['z0']);?>
,请求体中参数名固定为z0
,且包含eval
或base64_decode
等敏感函数。 -
编码方式:早期版本明文传输,后续改用Base64编码,解码后常见
@ini_set("display_errors","0");
等关闭错误提示的代码。 -
UA伪装:请求头中User-Agent常伪装为百度爬虫或火狐浏览器。
-
-
动态特征
-
Payload结构:请求体中的Base64数据以
QGluaV9zZXQ
开头,解密后包含主机信息探测代码(如获取操作系统、磁盘目录)。 -
响应格式:明文返回结果以
->|
开头、|<-
结尾,如->|C:\Windows\ (Administrator)|<-
。
-
2、蚁剑(AntSword)流量特征
-
基础特征
-
静态特征:默认请求体开头为
@ini_set("display_errors","0");@set_time_limit(0);
,且使用eval
或assert
函数执行命令。 -
参数命名:混淆加密后参数名以
_0x
开头(如_0x1234=...
),成为显著标识。 -
编码方式:支持Base64、ROT13、ChR16等多种编码器,但默认编码仍易被检测。
-
-
动态特征
-
双请求机制:首次连接时发送两次HTTP请求,第一次获取基本信息,第二次列出目录。
-
响应混淆:返回结果被随机数包裹(如
随机数+Base64结果+随机数
),需解码后查看。
-
3、冰蝎(Behinder)流量特征
-
基础特征
-
加密方式:全流量使用AES对称加密(2.0动态密钥,3.0固定密钥),解密需密钥,隐蔽性极强。
-
UA随机化:内置十几种User-Agent头,每次请求随机切换,干扰检测。
-
协议特征:请求头中
Content-Type
多为application/octet-stream
,响应体为二进制数据。
-
-
版本差异
-
冰蝎2.0:动态密钥交换,首次请求生成随机密钥,后续通信基于此加密。
-
**冰蝎3.0+**:固定密钥(默认密码
rebeyond
的MD5前16位),且支持长连接(Connection: Keep-Alive
)。 -
**冰蝎4.0+**:允许用户自定义加密协议,彻底去中心化,检测难度倍增。
-
4、三者的核心区别
维度 | 中国菜刀 | 蚁剑 | 冰蝎 |
---|---|---|---|
加密强度 | Base64编码(易解码) | Base64/自定义编码(中等) | AES加密(强隐蔽性) |
流量特征 | 固定参数名z0 、明文关键字 | _0x 参数名、双请求机制 | 随机UA、固定Content-Type |
检测难度 | 极易被WAF识别 | 中等(可混淆但仍有特征) | 极难(需密钥解密) |
功能扩展 | 功能单一,仅基础操作 | 支持代理、插件扩展 | 支持长连接、自定义协议 |
适用场景 | 早期简单渗透 | 中阶攻击(需绕过基础防御) | 高阶持久化攻击(对抗深度检测) |
5、防御建议
-
菜刀检测:监控
eval
、base64_decode
等关键字及z0
参数名。 -
蚁剑防御:过滤
_0x
开头的参数,分析请求体中的随机数混淆模式。 -
冰蝎应对:识别频繁切换的User-Agent,结合流量解密(需密钥)或长连接行为分析。