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绕过, 私有化部署, 紫队, 网络安全, 网络安全报告, 网络安全靶场, 网络映射, 自动化分类, 自动化脚本, 逆向工具, 防御规避, 隐私保护