Sangfor华东天勇战队:PHP大马分析
字数 1039 2025-08-11 21:26:12

PHP大马分析与解密实战教程

一、PHP大马概述

PHP大马(Webshell)是一种常见的网站后门程序,通常被黑客用于控制被入侵的网站服务器。本文档将详细分析一个多层加密的PHP大马,并演示完整的解密过程。

二、分析准备

  1. 测试环境搭建

    • PHP运行环境(建议使用虚拟机或隔离环境)
    • 文本编辑器(支持代码高亮)
    • 网络抓包工具(如Wireshark)
  2. 初始观察

    • 大马代码通常经过多层加密
    • 使用Base64编码和字符串替换是常见手法
    • 网上下载的大马往往包含后门

三、第一层解密

1. 变量定义分析

$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");

解码后得到字符串:
n1zb/m5a\vt0i928-pxuqy*6lrkdg9_ehcswo4+f37j

2. 关键变量提取

echo '$O00O0O='.$O00O0O=$O00OO0{3}.$O00OO0{6}.$O00OO0{33}.$O00OO0{30}; // base
echo '<br>';
echo '$O0OO00='.$O0OO00=$O00OO0{33}.$O00OO0{10}.$O00OO0{24}.$O00OO0{10}.$O00OO0{24}; // strtr
echo '<br>';
echo '$OO0O00='.$OO0O00=$O0OO00{0}.$O00OO0{18}.$O00OO0{3}.$O0OO00{0}.$O0OO00{1}.$O00OO0{24}; // substr
echo '<br>';
echo '$OO0000='.$OO0000=$O00OO0{7}.$O00OO0{13}; // 52
echo '<br>';
echo '$O00O0O='.$O00O0O.=$O00OO0{22}.$O00OO0{36}.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30}; // base64_decode

提取出的关键函数和值:

  • $O00O0O = "base64_decode"
  • $O0OO00 = "strtr"
  • $OO0O00 = "substr"
  • $OO0000 = "52"

3. 第一层解密代码

eval('?>'.$O00O0O($O0OO00($OO0O00($O0O000,$OO0000*2),$OO0O00($O0O000,$OO0000,$OO0000),$OO0O00($O0O000,0,$OO0000))));

替换变量后:

eval('?>'.base64_decode(strtr(substr($O0O000,104),substr($O0O000,52,52),substr($O0O000,0,52))));

四、第二层解密

1. 解密算法解析

base64_decode(
    strtr(
        substr($O0O000, 104), // 从位置104开始截取
        substr($O0O000, 52, 52), // 从位置52开始截取52个字符(替换源)
        substr($O0O000, 0, 52) // 从开始截取52个字符(替换目标)
    )
)

2. 解密实现代码

$a = base64_decode(strtr(substr($O0O000,104),substr($O0O000,52,52),substr($O0O000,0,52)));
$myfile = fopen("target.php", "w") or die("Unable to open file!");
fwrite($myfile, $a);

五、后门分析

1. 后门特征检测

在解密后的代码中搜索以下关键词:

  • http/https
  • base64_decode
  • eval/assert
  • file_get_contents
  • curl

2. 发现的后门

发现两处可疑的Base64加密字符串,解密后得到一个URL地址:

  • 该URL解析到新加坡的阿里云服务器
  • 页面使用iframe加载阿里云页面

3. 威胁分析

  1. 数据泄露:大马可能将服务器信息发送到远程地址
  2. 持久化访问:攻击者可随时连接服务器
  3. 横向移动:可能用于攻击内网其他系统

六、防御措施

1. 检测方法

  1. 文件监控:监控网站目录的.php文件变更
  2. 行为分析:检测异常的PHP函数调用
  3. 日志分析:检查异常的HTTP请求

2. 防护建议

  1. 文件权限:限制网站目录的写入权限
  2. 输入过滤:对所有用户输入进行严格过滤
  3. 定期扫描:使用Webshell扫描工具定期检查
  4. 代码审计:对上传的PHP文件进行人工审计

七、总结

本教程详细分析了一个多层加密的PHP大马,演示了从初始混淆代码到完全解密的完整过程。关键点包括:

  1. 识别并解码URL编码的字符串
  2. 提取关键变量和函数名
  3. 理解并逆向字符串替换算法
  4. 最终获取可读的PHP源代码
  5. 识别隐藏的后门功能

通过这种分析方法,安全研究人员可以更好地理解恶意Webshell的工作原理,并开发更有效的检测和防御方法。

PHP大马分析与解密实战教程 一、PHP大马概述 PHP大马(Webshell)是一种常见的网站后门程序,通常被黑客用于控制被入侵的网站服务器。本文档将详细分析一个多层加密的PHP大马,并演示完整的解密过程。 二、分析准备 测试环境搭建 : PHP运行环境(建议使用虚拟机或隔离环境) 文本编辑器(支持代码高亮) 网络抓包工具(如Wireshark) 初始观察 : 大马代码通常经过多层加密 使用Base64编码和字符串替换是常见手法 网上下载的大马往往包含后门 三、第一层解密 1. 变量定义分析 解码后得到字符串: n1zb/m5a\vt0i928-pxuqy*6lrkdg9_ehcswo4+f37j 2. 关键变量提取 提取出的关键函数和值: $O00O0O = "base64_ decode" $O0OO00 = "strtr" $OO0O00 = "substr" $OO0000 = "52" 3. 第一层解密代码 替换变量后: 四、第二层解密 1. 解密算法解析 2. 解密实现代码 五、后门分析 1. 后门特征检测 在解密后的代码中搜索以下关键词: http / https base64_decode eval / assert file_get_contents curl 2. 发现的后门 发现两处可疑的Base64加密字符串,解密后得到一个URL地址: 该URL解析到新加坡的阿里云服务器 页面使用iframe加载阿里云页面 3. 威胁分析 数据泄露 :大马可能将服务器信息发送到远程地址 持久化访问 :攻击者可随时连接服务器 横向移动 :可能用于攻击内网其他系统 六、防御措施 1. 检测方法 文件监控 :监控网站目录的.php文件变更 行为分析 :检测异常的PHP函数调用 日志分析 :检查异常的HTTP请求 2. 防护建议 文件权限 :限制网站目录的写入权限 输入过滤 :对所有用户输入进行严格过滤 定期扫描 :使用Webshell扫描工具定期检查 代码审计 :对上传的PHP文件进行人工审计 七、总结 本教程详细分析了一个多层加密的PHP大马,演示了从初始混淆代码到完全解密的完整过程。关键点包括: 识别并解码URL编码的字符串 提取关键变量和函数名 理解并逆向字符串替换算法 最终获取可读的PHP源代码 识别隐藏的后门功能 通过这种分析方法,安全研究人员可以更好地理解恶意Webshell的工作原理,并开发更有效的检测和防御方法。