mrabousakho/ai-threat-hunting
GitHub: mrabousakho/ai-threat-hunting
基于 Python 和 GPT-4o 构建的 AI 驱动 SOC Agent,能够自动从 Azure Sentinel 摄取告警、智能分诊、关联攻击链并生成完整的事件响应报告。
Stars: 0 | Forks: 0
# soc-agent-investigations
# 🔴 事件响应报告 — INC-367047
### XorDDoS / .diicot 僵尸网络加密货币挖矿劫持
**目标机器:** `dugglescript-linux`
**事件 ID:** `INC-367047`
**检测日期:** 2026-05-05 03:52 UTC
**分析师:** Sakho Aboubacar
**方法:** AI 辅助 SOC Agent (Python + GPT-4o + Azure Sentinel)
**严重性:** 🔴 严重
## 🧠 此事件是如何被发现的
此事件是由**我研究用于网络安全的 Python 和 Agentic AI 的第一周内,从头开始构建的 AI 驱动的 SOC agent**自主发现的。
该 agent 连接到一个实时 Azure Sentinel 环境(1,800 名学生的 Cyber Range),摄取了三个 Sentinel 表中的 30 个真实安全警报,对每个警报执行了 AI 分诊,将它们关联成攻击链,并将 `INC-367047` 标记为严重事件——整个过程耗时不到 3 分钟,API 成本仅为 $0.077。
当我使用针对性的深度调查 agent 深入分析该事件时,我发现了一个活跃的攻击行为,包含:
- **976 次防御规避事件**
- **138 次持久化机制事件**
- 跨 6 个查询类别的 **1,257 次总计取证事件**
我立即向管理层报告了此事件。
## 📋 执行摘要
一个 Linux 系统 (`dugglescript-linux`) 被 **XorDDoS/.diicot 加密货币挖矿** 恶意软件家族攻陷。攻击者通过来自 IP `2.57.122.238` 的 SSH 暴力破解获取了 root 权限,安装了加密货币挖矿程序,通过 cron 任务建立了持久化,并试图通过删除 bash 历史记录、移除恶意软件痕迹以及使用 `chattr` 操纵文件属性来掩盖其行踪。
该系统正被主动用于**加密货币挖矿**以及潜在的 **DDoS 攻击基础设施**。在检测到时,攻击者的清理活动仍在进行中。
## 🔢 收集的取证数据
| 类别 | 发现的事件数 |
|----------|-------------|
| 进程执行时间线 | 50 |
| 网络连接 | 13 |
| 文件活动 | 50 |
| 登录事件 | 30 |
| 持久化机制 | 138 |
| 防御规避活动 | 976 |
| **总事件数** | **1,257** |
## ⏱️ 攻击时间线
| 时间 (UTC) | 事件 | 意义 |
|-----------|-------|-------------|
| 2026-05-04 02:37 | 执行 `python3.12 MdeInstallerWrapper.py` | 恶意软件安装程序触发 |
| 2026-05-04 02:59 | 来自 `2.57.122.238` 的 SSH 连接 | 攻击者获取了 root shell |
| 2026-05-04 03:34 | `/tmp/fb-4960` 中的文件删除 | 载荷清理开始 |
| 2026-05-04 06:13 | 在 `/var/lib/dpkg/tmp.ci/` 中创建文件 | 恶意软件作为虚假软件包安装 |
| 2026-05-04 07:23 | `wget` 连接到 `54.154.251.197` | 下载额外的载荷 |
| 2026-05-04 22:26 | 到 `168.63.129.16` 的最后一次网络活动 | C2 信标 |
| 2026-05-05 03:52 | **Agent 检测并报告了事件** | AI SOC agent 标记了此攻击活动 |
## 🚪 初始访问
**技术:** T1110.001 — 暴力破解:密码猜测
**向量:** 通过来自 `2.57.122.238` 的 SSH 以 root 身份访问
攻击者对 root 的 SSH 账户进行了暴力破解攻击。来自同一 IP 的多次失败登录尝试先于成功的登录。机器上启用了 root SSH 访问,使得攻击者在成功验证后立即获得了完整的系统控制权。
## ⚙️ 执行
**技术:** T1059 — 命令和脚本解释器
恶意软件使用 `python3.12` 执行了 `MdeInstallerWrapper.py`——这是一个旨在执行系统检查并下载额外载荷的脚本。该脚本运行了多次,表明是自动化执行。Bash 被用作所有攻击者命令的主要 shell,直接从 `sshd` 中衍生。
```
# 攻击者已知的清理命令(来自 Sentinel logs)
rm -rf .bash_history /root/.bash_history
bash -c "crontab -r ; chattr -iae ~/.ssh/authorized_keys >/dev/null 2>&1 ; \
cd /var/tmp ; rm -rf /dev/shm/.x /dev/shm/rete* /var/tmp/payload \
/tmp/.diicot /tmp/kuak ; chattr -iae /var/tmp/Documents/.diicot ; \
chattr -iae /var/tmp/.update-logs/History"
```
## 🔒 持久化
**技术:** T1053.003 — 计划任务/作业:Cron
攻击者通过以 root 身份执行的 cron 任务建立了持久化。在日志数据中发现了 138 个与持久化相关的事件证据。基于 Cron 的持久化将允许恶意软件:
- 在系统重启后存活
- 如果被移除,可重新下载加密货币挖矿程序
- 如果被关闭,可重新建立 SSH 后门
## 🥷 防御规避
**技术:** T1070 — 指标移除
**检测到 976 次规避事件**——所有类别中事件数量最多的。
| 命令 | 目的 |
|---------|---------|
| `rm -rf .bash_history` | 擦除命令历史记录 |
| `rm -rf /root/.bash_history` | 擦除 root 历史记录 |
| `chattr -iae authorized_keys` | 解锁 SSH 密钥以便删除 |
| `rm -rf /dev/shm/.x` | 从共享内存中移除隐藏进程 |
| `rm -rf /tmp/.diicot` | 移除加密货币挖矿程序二进制文件 |
| `rm -rf /var/tmp/payload` | 移除投放器载荷 |
| `crontab -r` | 移除 cron 持久化(清理) |
| `debian-sa1` 滥用 | 操纵系统记账日志 |
## 📡 命令与控制
**技术:** T1071 — 应用层协议
被攻陷的机器与以下外部 IP 进行了通信:
| IP 地址 | 角色 |
|-----------|------|
| `2.57.122.238` | 初始访问 — SSH 暴力破解来源 |
| `54.154.251.197` | 通过 `wget` 下载载荷 |
| `168.63.129.16` | C2 信标(最后观察到的活动) |
| `57.150.5.1` | C2 基础设施 |
| `57.150.251.1` | C2 基础设施 |
| `20.209.110.225` | C2 基础设施 |
| `20.209.90.193` | C2 基础设施 |
| `20.209.68.225` | C2 基础设施 |
## 💥 影响评估
- **加密货币挖矿:** CPU 资源被用于未授权的加密货币挖矿
- **DDoS 能力:** XorDDoS 组件使该机器可被用于 DDoS 攻击
- **数据暴露:** root 权限意味着机器上的所有数据均可被访问
- **横向移动风险:** 被攻陷的机器可能被用作跳板攻击其他系统
- **持久化在清理尝试中幸存:** cron 任务可能在攻击者自身的清理操作中幸免于难
## 🔍 失陷指标 (IOC)
### 恶意 IP
```
2.57.122.238
54.154.251.197
168.63.129.16
57.150.5.1
57.150.251.1
20.209.110.225
20.209.90.193
20.209.68.225
```
### 恶意文件
```
/tmp/.diicot
/tmp/kuak
/var/tmp/payload
/dev/shm/.x
/dev/shm/rete*
/var/tmp/Documents/.diicot
/var/tmp/.update-logs/History
/var/lib/dpkg/tmp.ci/postinst
/var/lib/dpkg/tmp.ci/prerm
```
### 恶意进程
```
python3.12 (MdeInstallerWrapper.py)
wget (payload download)
bash (attacker shell)
sshd (attacker SSH session)
```
### 恶意软件家族
```
XorDDoS — Linux botnet / DDoS malware
.diicot — Linux cryptominer
```
## 🚨 遏制步骤(立即执行)
1. 立即在网络边界防火墙**阻止所有 C2 IP**
2. 将 `dugglescript-linux` **从网络中隔离**
3. **终止可疑进程**——`python3.12`、`wget`、`curl`
4. **临时禁用** root SSH 访问
5. **撤销并轮换**该机器上的所有 SSH 密钥
6. **检查相邻机器**是否存在横向移动指标
## 🔧 修复步骤
1. **重置所有密码**——尤其是 root 和特权账户
2. **审计并移除**所有未授权的 cron 任务(以 root 身份运行 `crontab -l`)
3. 使用干净的可引导环境**扫描残留恶意软件**
4. **重新安装操作系统**——由于入侵深度较深,使得彻底清除不可靠
5. 在将机器重新上线之前**应用所有安全补丁**
6. **实施 SSH 加固:**
- 禁用 root 登录(`PermitRootLogin no`)
- 仅使用基于密钥的身份验证
- 启用 fail2ban 或同等的暴力破解保护
7. 在关键路径上**部署文件完整性监控**
## 📖 经验教训
| 缺陷 | 建议 |
|-----|---------------|
| 启用了 root SSH | 在所有 Linux 机器上禁用 `PermitRootLogin` |
| 无暴力破解保护 | 部署 fail2ban 或 Azure DDoS 保护 |
| 无文件完整性监控 | 实施 AIDE 或同等方案 |
| 加密货币挖矿程序在未被发现的情况下运行 | 增加 CPU 使用率异常检测 |
| 清理命令自由执行 | 对 `chattr`、`bash_history` 删除行为进行告警 |
## 🤖 关于此事件背后的 AI Agent
此事件是由一个定制的 Python SOC agent 检测到的,该 agent 使用了:
| 组件 | 技术 |
|-----------|-----------|
| AI 模型 | GPT-4o via OpenAI API |
| SIEM | Microsoft Azure Sentinel |
| 查询语言 | KQL (Kusto Query Language) |
| 身份验证 | Azure CLI Credential |
| 语言 | Python 3.14 |
| 库 | `azure-monitor-query`、`azure-identity`、`openai` |
**Agent 管道:**
```
Azure Sentinel (live data)
↓
Stage 1: Ingest — 3 KQL queries across SecurityAlert,
SecurityIncident, DeviceProcessEvents
↓
Stage 2: Deduplicate — skip already-processed alerts
↓
Stage 3: AI Triage — GPT-4o analyzes each alert
↓
Stage 4: Filter — remove false positives
↓
Stage 5: Correlate — AI finds attack chains
↓
Stage 6: Deep Dive — 6 targeted forensic KQL queries
↓
Stage 7: IR Report — complete incident documentation
```
**性能:**
- 从 agent 启动到事件报告的时间:约 5 分钟
- 总计 API 成本:$0.0395
- 分析的事件数:1,257
- 相当于人工操作所需的时间:2-4 小时
## 📁 相关文件
| 文件 | 描述 |
|------|-------------|
| `phase3_sentinel_agent.py` | 主管道 agent |
| `phase3_deepdive.py` | 针对性事件调查器 |
| `live_chain_report.txt` | 完整的攻击链分析输出 |
| `alert_log_live.json` | 持久化警报内存 |
*报告由 AI 辅助生成 — 由 Sakho Aboubacar 审查并报告*
*Cyber Range 环境 — lognpacific.com*
*属于:Python + Agentic Cybersecurity AI 学习路线的一部分*
标签:Agentic AI, AMSI绕过, Azure Sentinel, Cryptominer, DAST, DDoS, GPT-4o, KQL查询, LLM, Petitpotam, PE 加载器, Python, Rootkit, SSH暴力破解, Unmanaged PE, XorDDoS, Zeek, 云端安全, 人工智能, 加密货币挖矿, 嗅探欺骗, 威胁检测, 子域名变形, 安全运营中心, 库, 应急响应, 恶意软件分析, 数字取证, 无后门, 权限维持, 用户模式Hook绕过, 私有化部署, 紫队, 网络安全, 网络安全报告, 网络安全靶场, 网络映射, 自动化分类, 自动化脚本, 逆向工具, 防御规避, 隐私保护