OMAR61-eng/BOTSv1-Joomla-Incident-Response
GitHub: OMAR61-eng/BOTSv1-Joomla-Incident-Response
一个基于 Splunk BOTSv1 数据集的 Joomla Web 应用入侵事件响应取证分析报告,涵盖攻击链追踪、IOC 提取与应急修复全流程。
Stars: 0 | Forks: 0
# BOTSv1 事件响应:Joomla Web 应用程序入侵与篡改
## 📌 执行摘要
本仓库包含基于 **Splunk BOTSv1 (Boss of the SOC)** 数据集的全面、取证级别的应急响应与威胁狩猎调查。
此次调查记录了代号为 **Poison Ivy APT** 的威胁行为者组织针对我们企业 Web 服务器 (`192.168.250.70`) 发起的协同多阶段攻击。攻击链始于主动漏洞扫描(滥用 Shellshock `CVE-2014-6271` 和自动化 Joomla 探测)。随后,威胁行为者发起了一场激进、自动化的字典暴力破解活动,以破坏管理凭据(`admin` / `batman`)。
成功利用漏洞后,攻击者利用 Joomla 的扩展安装程序 (`com_installer`) 部署了 PHP Web Shell (`agent.php`) 和木马可执行文件 (`3791.exe`)。此 payload 在 Web 应用程序池安全上下文(**NT AUTHORITY\IUSR**)下执行,随后在端口 `1337` 上建立持久化的 Reverse Shell,并从攻击者的 Command & Control 基础设施下载篡改图像 (`poisonivy-is-coming-for-you-batman.jpeg`),以篡改公共 Web 界面。
## 🔍 事件识别概述
| 字段 | 详情 |
| --- | --- |
| **案件参考 ID** | BOTS-INC-2016-001 |
| **事件类别** | Web 应用程序入侵与篡改 |
| **SIEM 工具与索引** | Splunk / 索引: `botsv1` |
| **目标资产** | IP: `192.168.250.70` (域名: `imreallynotbatman.com`) |
| **目标主机名** | **we1149srv** |
| **目标操作系统** | **Windows Server** |
| **内容管理系统** | Joomla CMS |
| **目标 URI** | `/joomla/administrator/index.php` |
| **扫描器与利用者 IP** | `40.80.148.42` |
| **暴力破解与 C2 IP** | `23.22.63.114` (托管于 Amazon AWS US-East-1) |
| **威胁行为者位置** | **美国 (AWS US-East-1)** |
| **受损账户** | `admin` (密码: **batman**) |
| **执行上下文** | **NT AUTHORITY\IUSR** (Web 服务账户) |
| **目标漏洞** | CVE-2014-6271 (Shellshock) |
| **主要 Payload** | **3791.exe** (Windows 木马) & **agent.php** (Web Shell) |
| **威胁行为者组织** | Poison Ivy APT |
## 🗺️ 攻击阶段与 MITRE ATT&CK 映射
```
[Reconnaissance] ➔ [Weaponization] ➔ [Delivery] ➔ [Exploitation] ➔ [Installation] ➔ [Command & Control] ➔ [Execution] ➔ [Objectives]
```
| Kill Chain 阶段 | MITRE ATT&CK 技术 | 技术描述与工具 |
| --- | --- | --- |
| **1. 侦察** | T1595.002 (主动扫描) | 通过 **Acunetix Web Scanner** 探测管理目录并搜索 Shellshock 漏洞。 |
| **2. 武器化** | T1583.003 (VPS 基础设施) | 在 AWS 动态托管环境中配置 Command & Control 节点,并注册恶意域名 (`po1s0n1vy.com`)。 |
| **3. 投递** | T1110.001 (密码猜测) | 使用自定义 Python 自动化脚本对 Joomla 后端发起高密度自动字典暴力破解活动。 |
| **4. 利用** | T1078.001 (有效账户) | 使用破解的管理凭据 (`admin` / `batman`) 获取管理仪表盘访问权限。 |
| **5. 安装** | T1505.003 (Web Shell) | 通过受损的 Joomla `com_installer` 组件上传持久化 PHP Web 后门 (`agent.php`) 和可执行 payload (`3791.exe`)。 |
| **6. Command & Control** | T1071.001 (Web 协议) | 在非标准动态端口 (**Port 1337**) 上建立动态出站网络会话,连接至恶意 C2 动态域名。 |
| **7. 执行** | T1059.003 (Windows Cmd) | 生成 `cmd.exe` 进程树,以便在本地系统账户下触发木马二进制文件 (`3791.exe`)。 |
| **8. 目标** | T1491.001 (内部篡改) | 从 `prankglassinebracket.jumpingcrab.com` 下载篡改图像,以更改组织的公共标识。 |
## 📅 取证事件时间线 (UTC)
* **21:36:45** - 来自 IP `40.80.148.42` 的 IP 使用 Acunetix 开始主动扫描和目录探测。
* **21:45:08** - 来自 IP `23.22.63.114` 的 IP 使用 `Python-urllib/2.7` 发起自动化的字典暴力破解活动。
* **21:46:00** - 攻击强度达到峰值,**一分钟内产生了 706 次失败的登录尝试**。
* **21:48:05** - 记录到来自 IP `40.80.148.42` 使用正确受损凭据 `batman` 的成功登录。
* **21:50:31** - 攻击者利用管理员权限通过安装程序上传 `agent.php` 和 `3791.exe`。
* **22:56:10** - 恶意木马 `3791.exe` 通过 `cmd.exe` 在 Web 服务上下文 `NT AUTHORITY\IUSR` 下执行。
* **22:06:21** - 建立返回至 C2 服务器 IP `23.22.63.114` 端口 `1337` 的出站 Reverse Shell 会话。
* **22:10:21** - 服务器被强制从 `prankglassinebracket.jumpingcrab.com` 下载 `poisonivy-is-coming-for-you-batman.jpeg` 以篡改主页。
## 💻 技术证据与 Splunk 查询
### 证据 1:攻击者 IP 与 User-Agent 验证
我们分析了传入的 HTTP 流,以区分标准用户浏览器会话与自动化脚本。
index="botsv1" imreallynotbatman sourcetype="stream:http"
| table _time src_ip dest_ip uri http_user_agent
| dedup src_ip
* **发现:** IP `23.22.63.114` 使用了自动化 user-agent **`Python-urllib/2.7`**,证明字典攻击是脚本化和自动化的。
### 证据 2:流量密度与攻击峰值
我们对暴力破解行为者的数据进行了时间图表统计,以评估攻击的速度和规模。
index="botsv1" 23.22.63.114 sourcetype="stream:http" uri="/joomla/administrator/index.php"
| timechart span=1m count as "Attempts per Minute"
* **发现:** 攻击急剧达到峰值,在 **21:46:00** **一分钟内达到了 706 次登录尝试**,证实了脚本驱动的速度。
### 证据 3:失败与成功的登录尝试
我们对比了目标端点上的登录请求量,以追踪从暴力破解到入侵的确切转折点。
index="botsv1" imreallynotbatman sourcetype="stream:http" uri="/joomla/administrator/index.php" form_data="*username*passwd*"
| stats count by src_ip
* **发现:** 辅助 IP (`23.22.63.114`) 产生了 **412 次失败尝试**(字典干扰)。主要攻击者 IP (`40.80.148.42`) 以 **恰好 1 次尝试** 成功登录,证明他们使用了从后台字典扫描中破解的密码。
### 证据 4:提取受损凭据
我们解析了 HTTP POST 表单数据,以识别用于获取管理访问权限的确切凭据集。
index="botsv1" uri="/joomla/administrator/index.php" form_data="*passwd*"
| rex field=form_data "passwd=(?[^&]+)"
| stats count values(password) as tried_passwords by src_ip
| sort - count
| dedup tried_passwords
* **发现:** `40.80.148.42` 用于成功登录的密码被提取为 **`batman`**。
### 证据 5:恶意软件执行与用户审计
我们通过 Sysmon 日志(Event Code 1:进程创建)跟踪了执行上下文和命令行。
index="botsv1" "3791.exe" sourcetype=xmlwineventlog EventCode=1
| table _time host User CommandLine
* **发现:** Payload 通过以下方式执行:`cmd.exe /c "3791.exe 2>&1"`。执行运行上下文被审计为默认的低权限 IIS Web 服务器账户 **`NT AUTHORITY\IUSR`**。
### 证据 6:恶意软件哈希与信誉查询
我们解析了加密元数据以提取文件哈希,并将其与全球威胁情报进行了交叉比对。
index="botsv1" sourcetype="XmlWinEventLog" EventCode=1 "3791.exe"
| rex field=Hashes "SHA256=(?[^,]+)"
| table _time, SHA256
* **提取的哈希 (SHA256):** `ec78c938d8453739ca2a370b9bc275971ec46caf6e479de2b2d04e97cc47fa45d`
* **威胁情报结果:**
* **VirusTotal:** **72 家安全供应商中有 65 家**将其标记为高度恶意(`Trojan.swrort/cryptz`),其构建方式为 `ab.exe` (ApacheBench) 的木马化版本。
* **Hybrid Analysis:** 获得了 **100/100** 的威胁评分,在历史上被归类为名为 `MirandaTateScreensaver.scr.exe` 的持久化后门。
## 🔒 入侵指标 (IOC)
| 指标值 | 类型 | Kill Chain 阶段 | 首次发现 (UTC) | 描述 |
| --- | --- | --- | --- | --- |
| `40.80.148.42` | 恶意 IP | 侦察 / 利用 | 21:36:45 | 用于扫描、文件上传和凭据利用的主要 IP。 |
| `23.22.63.114` | 恶意 IP | 武器化 | 21:45:08 | 用于暴力破解和 Reverse Shell 的 AWS 基础设施 IP。 |
| `po1s0n1vy.com` | APT 域名 | 武器化 | OSINT | 与 Poison Ivy APT 相关的攻击者主要注册域名。 |
| `prankglassinebracket.jumpingcrab.com` | C2 域名 | 目标行动 | 22:10:21 | 用于托管和下载篡改图像的外部链接。 |
| `agent.php` | Web Shell | 安装 | 21:50:31 | 通过 Joomla 扩展管理器上传的恶意 PHP 后门。 |
| `3791.exe` | Payload | 安装 | 21:50:31 | 恶意编译的 Windows 木马可执行文件。 |
| `ec78c938d8453739ca2a370b9bc275971ec46caf6e479de2b2d04e97cc47fa45d` | SHA256 哈希 | 安装 | 21:50:31 | 恶意文件 `3791.exe` 的唯一数字指纹。 |
| `aae3f5a29935e6abcc2c2754d12a9af0` | MD5 哈希 | 安装 | 21:50:31 | 用于识别 `3791.exe` 的传统加密哈希。 |
| `CVE-2014-6271` | 漏洞 | 侦察 | 21:36:45 | 攻击者扫描器测试的 Shellshock RCE 漏洞。 |
| `NT AUTHORITY\IUSR` | 用户账户 | 执行 | 21:56:10 | 被利用以运行恶意 payload 的 Web 服务账户上下文。 |
| `cmd.exe /c "3791.exe 2>&1"` | 命令 | 执行 | 21:56:10 | 为运行恶意二进制文件而执行的特定命令行。 |
| `Port 1337` | 网络端口 | C2 | 22:06:21 | 用于建立远程 Command & Control (C2) 的非标准端口。 |
## 🛡️ 遏制、根除与修复
为了保护环境并自动化未来的响应,采取了以下步骤:
### 立即遏制
* **网络隔离:** 将受感染的 Web 服务器 (`192.168.250.70`) 与网络断开,以终止活跃的出站 Command & Control 连接。
* **IP 阻断:** 在边界防火墙上将敌方 IP 地址 (`40.80.148.42` 和 `23..63.114`) 列入黑名单。
* **端口关闭:** 在防火墙级别阻止通过端口 `1337` 的所有传入和传出连接。
### 根除与修复
* **干净系统恢复:** 从扫描开始前 (`21:30:00` 之前) 获取的干净、脱机快照还原服务器,以确保没有隐藏的 Web 后门残留。
* **全局凭据重置:** 强制所有管理、服务和数据库账户立即重置密码,强制执行复杂密码限制,并禁用可预测的单词,如 `batman`。
* **Multi-Factor Authentication (MFA):** 对所有 Joomla 后端管理登录实施强制性 MFA 策略。
### 加固与预防
* **执行预防规则:** 实施 Group Policies (GPOs) 和 AppLocker 规则,以防止 Web 服务账户 (`NT AUTHORITY\IUSR` / `IIS_IUSRS`) 启动命令解释器 (`cmd.exe`, `powershell.exe`)。
* **Web 应用程序防火墙 (WAF) 配置:** 启用 WAF 速率限制,以阻止激进的暴力破解活动(自动化的 HTTP POST 请求),并丢弃自动化扫描器 payload(Acunetix / Shellshock 漏洞利用尝试)。
标签:CISA项目, 安全数据分析, 密码管理, 库, 应急响应, 红队行动