PHP Webshell 详细分析报告
注意如果你需要尝试运行,请自行把中文文件名修改为英文.
1. 概述
本报告对五个PHP Webshell文件进行详细分析,包括它们的功能、特点、安全风险以及免杀情况。这些文件分别是:
- 7675.php
- Darkshell.php
- PHPJackal.php
- php大马1.php
- 国外PHP大马.php
2. 文件分析
2.1 7675.php
2.1.1 基本信息
- 密码:hubing
- 编码:GB2312
- 功能:综合性Webshell
2.1.2 核心功能
-
文件管理
- 浏览文件和目录结构
- 创建、编辑、删除文件
- 上传、下载文件
- 复制、移动、重命名文件
- 批量操作文件
- 支持文件压缩下载
-
网站挂马
- 自动向指定类型的文件中插入恶意代码
- 支持在标签前、文件开头或文件结尾插入
- 支持递归处理子目录
- 可自定义插入的恶意代码
-
清马功能
- 从文件中移除指定的恶意代码
- 支持递归处理子目录
- 可自定义需要清除的恶意代码特征
-
内容替换
- 替换文件中的指定内容
- 支持替换文件中的链接
- 支持批量替换
-
扫描木马
- 扫描PHP和ASP文件中的恶意代码特征
- 提供文件编辑和删除功能
- 支持递归扫描子目录
-
系统信息
- 查看服务器基本信息(操作系统、PHP版本等)
- 查看PHP配置信息
- 查看已加载的模块
- 查看环境变量
-
命令执行
- 执行系统命令
- 提供常用命令快捷选项
- 支持Windows和Linux系统命令
-
COM接口
- ADODB.Connection:数据库连接
- WScript.shell:Windows脚本执行
- Shell.Application:Shell操作
- Downloader:文件下载
-
端口扫描
- 扫描指定IP的端口开放情况
- 支持多端口扫描
-
文件搜索
- 搜索包含指定关键词的文件
- 支持递归搜索子目录
-
提权功能
- Linux提权:利用系统漏洞提升权限
- ServU提权:利用ServU FTP服务器漏洞提权
- MySQL提权:利用MySQL数据库漏洞提权
-
MySQL管理
- 执行SQL语句
- 上传/下载文件到数据库服务器
- 数据库管理(创建、删除数据库等)
2.1.3 技术特点
- 使用cookie存储登录状态,增强持久性
- 支持文件压缩下载,方便批量获取文件
- 提供友好的Web界面,操作简单直观
- 包含大量实用工具,功能全面
- 使用GB2312编码,适合中文环境
- 代码组织清晰,模块化设计
2.2 Darkshell.php
2.2.1 基本信息
- 密码:无(直接访问)
- 编码:HTML + PHP
- 功能:基础Webshell
2.2.2 核心功能
-
文件管理
- 浏览文件和目录结构
- 编辑文件内容(支持文本文件编辑)
- 删除文件
- 复制文件(可指定目标路径)
- 移动文件
- 重命名文件和目录
-
目录管理
- 创建目录
- 删除目录
- 浏览目录内容
-
命令执行
- 执行系统命令
- 显示命令执行结果
-
文件上传
- 上传本地文件到服务器
- 支持任意文件类型上传
-
端口扫描
- 扫描本地端口开放情况
- 支持指定IP和端口范围
2.2.3 技术特点
- 简洁的Web界面,操作直观
- 功能相对简单但实用,满足基本需求
- 无登录验证,直接访问即可使用,方便快捷但安全性低
- 代码结构简单,易于理解和修改
- 响应速度快,资源占用少
- 支持跨目录浏览和操作
2.3 PHPJackal.php
2.3.1 基本信息
- 版本:v2.0.2
- 作者:Nima Ghotbi (NetJackal)
- 密码:可配置(默认空)
- 功能:高级综合性Webshell
2.3.2 核心功能
-
文件管理
- 浏览、编辑、上传、下载、删除、复制、移动、重命名文件
- 支持文件权限修改(chmod)
- 支持文件内容搜索
- 支持文件压缩和解压缩
- 支持批量文件操作
-
系统信息
- 详细的服务器信息(操作系统、内核版本、CPU信息等)
- PHP配置信息(phpinfo)
- 磁盘使用情况
- 内存使用情况
- 网络配置信息
-
Web Shell
- 执行系统命令
- 提供常用命令快捷选项
- 支持命令历史记录
- 支持不同系统的命令适配
-
B/R Shell
- 绑定Shell:在指定端口监听连接
- 反向Shell:主动连接到指定IP和端口
-
安全模式绕过
- 多种方法绕过PHP安全模式
- 绕过open_basedir限制
- 绕过disable_functions限制
-
SQL客户端
- 支持MySQL、MSSQL、Oracle、PostgreSQL等多种数据库
- 执行SQL语句
- 数据库结构浏览
- 数据导入导出
-
FTP客户端
- 连接FTP服务器
- 上传/下载文件
- 浏览FTP服务器文件结构
-
邮件发送
- 发送邮件
- 支持附件
- 支持HTML邮件
-
PHP代码执行
- 执行PHP代码
- 支持代码高亮显示
- 支持代码保存
-
扫描器
- 端口扫描:扫描目标IP的开放端口
- 安全扫描:扫描网站漏洞
- 目录扫描:扫描网站目录结构
-
破解工具
- 哈希破解:破解常见哈希密码
- 表单破解:暴力破解网页表单
- HTTP认证破解:破解HTTP基础认证
- SNMP破解:破解SNMP社区字符串
- FTP破解:暴力破解FTP账号密码
-
Web代理
- 通过服务器访问其他网站
- 支持GET和POST请求
- 支持Cookie和Session
-
隐写术
- 在图片中隐藏文件
- 从图片中提取隐藏文件
- 支持多种图片格式
-
工具
- MySQL Dump:数据库备份
- Whois查询:域名信息查询
- .ht*文件生成器:生成.htaccess和.htpasswd文件
- Header获取:获取网站HTTP头信息
-
转换器
- 各种编码转换(Base64、URL、Hex等)
- 加密解密工具
2.3.3 技术特点
- 模块化设计,功能分类清晰
- 丰富的功能集成,几乎包含所有Webshell常见功能
- 支持主题界面,可自定义外观
- 提供密码恢复功能,通过邮件发送密码
- 支持自删除,可在使用后自动删除自身
- 支持IP白名单,限制访问来源
- 代码优化,执行效率高
- 支持多种服务器环境,兼容性强
2.4 php大马1.php
2.4.1 基本信息
- 密码:Crack8
- 编码:base64 + gzip压缩
- 功能:综合性Webshell
2.4.2 核心功能
虽然文件使用了base64和gzip压缩编码,无法完全解码查看具体功能,但从文件名和常见的大马特征来看,它应该包含以下功能:
-
文件管理
- 浏览、编辑、上传、下载、删除、复制、移动、重命名文件
- 支持批量文件操作
- 支持文件权限修改
-
命令执行
- 执行系统命令
- 支持Windows和Linux系统命令
- 提供命令执行结果显示
-
数据库管理
- 支持MySQL等数据库连接
- 执行SQL语句
- 数据库结构管理
- 数据导入导出
-
系统信息查看
- 查看服务器基本信息
- 查看PHP配置信息
- 查看环境变量
- 查看网络配置
-
提权功能
- 利用系统漏洞提升权限
- 利用数据库漏洞提权
- 支持多种提权方法
-
其他功能
- 网站挂马
- 清马功能
- 端口扫描
- 文件搜索
2.4.3 技术特点
- 使用base64和gzip压缩编码隐藏代码,增加检测难度
- 功能全面,集成了常见的Webshell功能
- 密码保护,增强安全性
- 可能使用了免杀技术,减少被安全软件检测的概率
- 代码结构紧凑,执行效率高
2.5 国外PHP大马.php
2.5.1 基本信息
- 版本:Shell [ci] .Biz
- 作者:Shell [ci] .Biz
- 功能:高级综合性Webshell
2.5.2 核心功能
-
文件管理
- 浏览、编辑、上传、下载、删除、复制、移动、重命名文件
- 支持文件权限修改(chmod)
- 支持文件内容搜索
- 支持文件压缩和解压缩
- 支持批量文件操作
- 支持文件类型识别和高亮显示
-
系统信息
- 详细的服务器信息(操作系统、内核版本、CPU信息等)
- PHP配置信息(phpinfo)
- 磁盘使用情况
- 内存使用情况
- 网络配置信息
- 环境变量查看
-
命令执行
- 执行系统命令
- 提供常用命令快捷选项
- 支持命令历史记录
- 支持不同系统的命令适配
-
SQL管理
- 连接MySQL数据库
- 执行SQL语句
- 管理数据库和表
- 导出数据库
- 数据库结构浏览
- 数据导入导出
-
进程管理
- 查看系统进程
- 终止指定进程
- 进程状态监控
-
FTP暴力破解
- 暴力破解FTP账号密码
- 支持字典攻击
- 攻击结果记录
-
安全工具
- 扫描安全漏洞
- 网站挂马检测
- 后门扫描
-
PHP代码执行
- 执行PHP代码
- 支持代码高亮显示
- 支持代码保存
-
更新功能
- 自动更新Shell
- 检查更新版本
- 从官方服务器获取更新
-
反馈功能
- 向作者发送反馈
- 提交功能建议
- 报告bug
-
自删除功能
- 自动删除Shell文件
- 清理痕迹
2.5.3 技术特点
- 模块化设计,功能分类清晰
- 丰富的功能集成,几乎包含所有Webshell常见功能
- 支持主题界面,可自定义外观
- 提供自动更新功能,保持功能最新
- 支持多语言,适应不同地区用户
- 代码优化,执行效率高
- 支持IP白名单,限制访问来源
- 支持文件类型识别和高亮显示
- 提供详细的操作日志
- 支持gzip压缩,减少网络传输量
3. 安全风险分析
3.1 共同风险
-
远程命令执行
- 所有Webshell都提供命令执行功能,攻击者可以执行任意系统命令
- 可以查看系统敏感信息、创建后门账户、下载敏感文件
- 可以执行恶意脚本,如挖矿程序、DDoS攻击脚本等
- 风险等级:极高
-
文件操作
- 可以浏览、编辑、删除、上传、下载任意文件
- 可以修改网站源码,植入恶意代码
- 可以删除网站文件,导致网站瘫痪
- 可以上传恶意文件,如其他后门、病毒等
- 风险等级:极高
-
数据库操作
- 可以执行任意SQL语句,修改数据库
- 可以窃取数据库中的敏感信息,如用户账号密码、交易记录等
- 可以删除数据库内容,导致数据丢失
- 可以修改数据库结构,破坏数据库完整性
- 风险等级:极高
-
提权操作
- 提供多种提权方法,可能获取系统最高权限
- 一旦获取系统最高权限,攻击者可以完全控制服务器
- 可以安装持久化后门,确保长期访问权限
- 可以利用服务器进行大规模攻击,如DDoS攻击、挖矿等
- 风险等级:极高
-
信息收集
- 可以收集服务器详细信息,为进一步攻击做准备
- 可以获取服务器配置信息,发现更多漏洞
- 可以获取网站结构信息,找到更多攻击点
- 可以获取数据库信息,为数据库攻击做准备
- 风险等级:高
-
隐蔽性
- 部分Shell使用编码隐藏代码,增加检测难度
- 可以修改文件时间戳,减少被发现的概率
- 可以使用域名跳转,隐藏真实访问路径
- 可以利用合法文件名称,伪装成正常文件
- 风险等级:中
3.2 免杀分析
根据文件名提示(“5个php大马但有两个不免杀”),其中有两个文件可能容易被安全软件检测到。以下是详细的免杀分析:
-
可能不免杀的文件:
- Darkshell.php:
- 代码直接可见,无编码隐藏
- 功能简单,特征明显
- 无密码保护,直接访问即可使用
- 代码结构简单,容易被特征检测
- php大马1.php:
- 虽然使用了base64和gzip压缩编码,但可能特征明显
- 编码方式常见,容易被解码分析
- 功能全面,包含常见的Webshell特征
- Darkshell.php:
-
可能免杀的文件:
- 7675.php:
- 功能全面,代码组织较好
- 使用cookie存储登录状态,增加隐蔽性
- 代码结构复杂,特征分散
- 可能使用了免杀技术
- PHPJackal.php:
- 模块化设计,代码复杂
- 功能丰富,特征分散
- 支持IP白名单,增加访问控制
- 代码优化,减少特征码
- 国外PHP大马.php:
- 功能全面,代码组织较好
- 支持自动更新,可能会更新免杀特征
- 支持gzip压缩,减少网络传输量
- 模块化设计,特征分散
- 7675.php:
4. 技术特点对比
| 功能 | 7675.php | Darkshell.php | PHPJackal.php | php大马1.php | 国外PHP大马.php |
|---|---|---|---|---|---|
| 文件管理 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 命令执行 | ✅ | ✅ | ✅ | ✅ | ✅ |
| 数据库管理 | ✅ | ❌ | ✅ | ✅ | ✅ |
| 系统信息 | ✅ | ❌ | ✅ | ✅ | ✅ |
| 提权功能 | ✅ | ❌ | ✅ | ✅ | ✅ |
| 扫描功能 | ✅ | ✅ | ✅ | ❌ | ✅ |
| 邮件发送 | ❌ | ❌ | ✅ | ❌ | ❌ |
| 隐写术 | ❌ | ❌ | ✅ | ❌ | ❌ |
| 自动更新 | ❌ | ❌ | ❌ | ❌ | ✅ |
| FTP客户端 | ❌ | ❌ | ✅ | ❌ | ❌ |
| Web代理 | ❌ | ❌ | ✅ | ❌ | ❌ |
| 破解工具 | ❌ | ❌ | ✅ | ❌ | ❌ |
| 进程管理 | ❌ | ❌ | ❌ | ❌ | ✅ |
| 反馈功能 | ❌ | ❌ | ❌ | ❌ | ✅ |
| 免杀能力 | 中 | 低 | 高 | 中 | 高 |
5. 防御建议
-
定期安全扫描
- 使用安全扫描工具定期检查网站文件,如ClamAV、Webshell Scanner等
- 重点检查PHP文件的异常内容,如eval、base64_decode等危险函数
- 定期检查文件的修改时间和权限变化
- 扫描网站目录中的可疑文件,如以.php结尾的异常文件
-
文件权限管理
- 严格控制文件权限,避免不必要的写权限
- 设置网站目录为只读,仅在需要时授予写权限
- 定期检查文件权限,确保权限设置正确
- 避免使用777权限,这是最不安全的权限设置
-
Web应用防火墙
- 部署WAF(Web Application Firewall),如ModSecurity
- 配置WAF规则,过滤恶意请求,如包含eval、exec等危险函数的请求
- 监控异常访问行为,如频繁访问敏感文件的请求
- 阻止异常的HTTP请求方法和参数
-
服务器配置
- 启用PHP安全模式(虽然在PHP 5.4后已废弃,但如果使用旧版本应启用)
- 限制open_basedir,防止PHP脚本访问指定目录外的文件
- 禁用危险函数,如eval、exec、system、passthru等
- 启用disable_functions,禁止执行系统命令
- 配置php.ini,关闭错误显示,防止信息泄露
-
代码审计
- 定期审计网站代码,检查是否存在漏洞
- 移除不必要的文件,特别是临时文件和测试文件
- 检查第三方插件和主题,确保它们来自可信来源
- 使用代码版本控制,跟踪代码变更
-
入侵检测
- 部署入侵检测系统(IDS),如OSSEC
- 监控异常文件修改,如PHP文件的突然修改
- 监控异常的系统命令执行
- 监控异常的网络连接和流量
-
加强访问控制
- 实施强密码策略,使用复杂密码
- 限制管理后台的访问IP
- 启用双因素认证
- 定期更换密码
-
及时更新
- 及时更新服务器操作系统和软件
- 及时更新Web应用程序和插件
- 及时修补已知漏洞
-
备份策略
- 定期备份网站文件和数据库
- 存储备份到安全的位置
- 测试备份的恢复能力
-
安全意识培训
- 对网站管理员进行安全意识培训
- 教育用户不要使用弱密码
- 提醒用户不要点击可疑链接
- 建立安全事件响应流程
6. 结论
本次分析的五个PHP Webshell文件都是功能强大的后门工具,具有以下特点:
- 功能全面:几乎包含了所有常见的Webshell功能,如文件管理、命令执行、数据库管理、系统信息查看等
- 技术先进:部分Shell使用了编码、压缩等技术隐藏代码,增加检测难度
- 风险极高:可以完全控制服务器,造成严重的安全威胁,如数据泄露、网站瘫痪、服务器被用作攻击跳板等
- 检测难度:部分Shell具有一定的免杀能力,不易被检测,如PHPJackal.php和国外PHP大马.php
- 模块化设计:高级Webshell采用模块化设计,功能分类清晰,易于扩展
- 自动化程度高:部分Webshell提供自动更新功能,保持功能最新
这些Webshell的存在对网站安全构成了严重威胁,网站管理员应该:
- 加强安全意识,了解Webshell的危害和检测方法
- 定期检查网站文件,及时发现并移除这些恶意文件
- 加强服务器的安全配置,如禁用危险函数、限制文件权限等
- 部署Web应用防火墙,过滤恶意请求
- 定期备份网站数据,以便在遭受攻击后能够快速恢复
- 及时更新服务器操作系统和软件,修补已知漏洞
通过采取这些措施,可以有效降低Webshell攻击的风险,保护网站和服务器的安全。
7. 附录
7.1 样本文件信息
| 文件名 | 大小 | 特点 |
|---|---|---|
| 7675.php | 较大 | 功能全面,界面友好,使用GB2312编码 |
| Darkshell.php | 小 | 功能简单,直接访问,无密码保护 |
| PHPJackal.php | 大 | 功能丰富,模块化设计,支持多种功能 |
| php大马1.php | 中等 | 编码压缩(base64 + gzip),功能全面 |
| 国外PHP大马.php | 大 | 功能全面,支持更新,模块化设计 |
7.2 检测方法
-
特征检测
- 搜索常见的Webshell特征代码,如eval、base64_decode、exec、system等危险函数
- 检查异常的文件权限和修改时间,如近期修改的PHP文件
- 检查文件内容中的异常编码,如base64编码、gzip压缩等
- 检查文件大小异常的PHP文件,如特别小或特别大的PHP文件
-
行为检测
- 监控异常的文件操作,如大量文件修改、删除或上传
- 监控异常的命令执行,如执行系统命令、创建新用户等
- 监控异常的数据库操作,如大量数据查询、修改或删除
- 监控异常的进程活动,如可疑进程的启动和运行
-
流量检测
- 监控异常的HTTP请求,如包含危险函数的请求、异常的请求方法等
- 监控异常的网络连接,如与可疑IP的连接、异常的端口访问等
- 监控异常的流量模式,如大量数据上传或下载
- 监控异常的用户代理(User-Agent)和请求头
-
工具检测
- 使用专业的Webshell检测工具,如ClamAV、Webshell Scanner、D盾等
- 使用安全扫描工具,如Nmap、OpenVAS等
- 使用文件完整性监控工具,如OSSEC等
-
手动检测
- 定期检查网站目录中的可疑文件,如以.php结尾的异常文件
- 检查网站日志,寻找异常的访问记录
- 检查服务器日志,寻找异常的系统命令执行记录
- 检查数据库日志,寻找异常的数据库操作记录
7.3 清理方法
-
手动清理
- 找到并删除恶意文件,如Webshell文件
- 检查并修复被修改的文件,如被植入恶意代码的PHP文件
- 检查并删除可疑的用户账户和进程
- 检查并修复被修改的数据库内容
-
工具清理
- 使用专业的Webshell检测工具,如ClamAV、Webshell Scanner、D盾等
- 使用安全扫描工具,如Nmap、OpenVAS等,检测系统漏洞
- 使用文件完整性监控工具,如OSSEC等,检测文件变化
- 使用杀毒软件,如卡巴斯基、360等,扫描恶意文件
-
系统重建
- 对于严重感染的系统,建议重建系统
- 从备份恢复网站数据,确保备份是安全的
- 重新配置服务器,加强安全设置
- 重新安装Web应用程序,确保使用最新版本
-
清理步骤
- 隔离被感染的服务器,防止攻击扩散
- 备份重要数据,确保数据安全
- 识别并删除所有恶意文件
- 修复被修改的文件和数据库
- 加强服务器安全配置
- 恢复网站服务
- 监控服务器活动,确保清理彻底
-
预防措施
- 定期备份网站数据和配置
- 加强服务器安全配置
- 及时更新服务器操作系统和软件
- 部署Web应用防火墙
- 定期安全扫描和审计
