danteMorris1/SOAR-Cloud-Cryptojacking-Defense-Threat-Hunting

GitHub: danteMorris1/SOAR-Cloud-Cryptojacking-Defense-Threat-Hunting

基于云原生蜜罐与SOAR编排的挖矿木马防御项目,通过自动化检测与紧急阻断实现端到端的威胁狩猎与事件响应。

Stars: 16 | Forks: 2

SOAR 云端挖矿木马防御与威胁狩猎项目

![pipeline](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/d36eaa9d39024929.webp) ![ProjectOverview](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/e97eff4c1e024935.webp)![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b465517979024940.png) 这个**实时**的云端蜜罐项目是一个全自动、云原生的威胁情报与事件响应 pipeline。本项目的**目标**是在实时的云环境中部署一个带有漏洞的蜜罐,捕获**真实世界**的挖矿木马入侵指标(IOC),并设计一个无需*任何*人工干预即可隔离受损基础设施的自动化紧急阻断开关! ![Architecture](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/0b77c2dd5a024946.webp)![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b465517979024940.png) * **云基础设施 -** DigitalOcean(运行 Ubuntu 22.04 LTS 的 Droplet VM) * **容器化 -** Docker(故意留下漏洞的 Redis 5.0.3 部署) * **遥测与 SIEM -** Datadog(实时进程与网络监控、自定义仪表盘、Webhooks) * **自动化与编排 -** Python(Flask, Requests)、DigitalOcean API * **网络 -** Ngrok(用于本地 SOC webhook 接收的安全隧道) ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/aa860256ff024952.webp)![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b465517979024940.png) 1. **“蜜罐” -** 一个过时且无需身份验证的 Redis 数据库容器通过 `6379` 端口暴露在公共互联网中。 2. **漏洞利用:** 自动化僵尸网络扫描 IPv4 地址空间,检测到开放端口,并执行远程代码执行(RCE)payload 以植入加密货币挖矿程序(例如 `xmrig` 或 `kdevtmpfsi`)。 3. **监控塔:** 运行在 droplet *内核*级别的 Datadog Agent 检测到 `system.cpu.user` 出现大幅飙升(>90%),以及与外部矿池进行通信的异常出站网络流量(`system.net.bytes_sent`)。 4. **触发器:** 自定义的 Datadog Metric Monitor 对异常进行评估。如果 CPU 在持续的 5 分钟时间窗口内保持峰值,它将触发 `CRITICAL` 告警并发出 JSON webhook。 5. **紧急阻断开关:** 本地基于 Python 的 SOC 脚本通过 Ngrok 隧道接收 webhook。它解析告警,通过 DigitalOcean API 进行身份验证,并立即向受损的 Droplet 发出 `power_off` 指令,从而消除威胁并防止产生未经授权的云端计算账单。 ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/925f0c3cf5024958.webp)![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b465517979024940.png) 使用 Datadog,我构建了一个自定义的 SOC 仪表盘来实时可视化攻击。追踪的关键指标包括: * **CPU 劫持(User %):** 可视化挖矿木马执行的瞬间。 * **热门恶意进程:** 将 CPU 飙升与执行攻击的确切恶意软件二进制文件名关联起来。 * **出站流量:** 追踪发回给黑客命令与控制(C2)服务器的遥测数据。 ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/eb3186116e025004.webp) (显示了我的小组件设置的 Datadog 仪表盘) ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/76dc4e6c65025009.webp)![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b465517979024940.png) 我在 AI 的协助下构建的这个简单的 Python 脚本,突显了用于捕获 Datadog 告警并执行 API 阻断指令的 webhook 监听器。 如果您有兴趣自己使用它,请将 DO_TOKEN 和 DROPLET_ID 替换为您个人的 DigitalOcean Token 和 ID。您还需要建立一个 **Ngrok** 隧道,将外部的 Datadog webhook 告警路由到*您的*个人本地环境中。 ``` from flask import Flask, request, jsonify import requests app = Flask(__name__) # DigitalOcean 凭据 DO_TOKEN = "YOUR DIGITALOCEAN TOKEN HERE" DROPLET_ID = "DROPLET ID HERE" @app.route('/datadog-alert', methods=['POST']) def handle_alert(): print("\n[!!!] CRITICAL ALERT RECEIVED FROM DATADOG [!!!]") print("Cryptomining behavior detected. Initiating immediate kill switch...") headers = { "Authorization": f"Bearer {DO_TOKEN}", "Content-Type": "application/json" } # API payload to power off the server data = {"type": "power_off"} # Sends kill command directly to DigitalOcean print("Transmitting power_off command to DigitalOcean API...") response = requests.post( f"https://api.digitalocean.com/v2/droplets/{DROPLET_ID}/actions", headers=headers, json=data ) if response.status_code == 201: print("[SUCCESS] Droplet successfully powered down. Threat neutralized.\n") return jsonify({"status": "success", "message": "Droplet killed"}), 200 else: print(f"[ERROR] Failed to kill droplet. API responded with status: {response.status_code}\n") return jsonify({"status": "error", "message": "Failed to kill droplet"}), 500 if __name__ == '__main__': # Running the Flask app on port 5000 print("SOC Automator is running & listening for Datadog webhooks on port 5000...") app.run(port=5000) ``` ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/38b0da7685025015.webp)![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b465517979024940.png) 在暴露带有漏洞的 Redis 实例后仅仅 12 小时内,就遭到了真实僵尸网络的攻击。我的 pipeline 按预期工作,从检测走向了消除威胁。 1\. **检测 - 威胁处于活跃状态** Datadog Metric Monitor 检测到了异常。用户 CPU 使用率出现飙升,由于恶意软件限制其使用量以隐蔽自身,使用率稳稳停留在 32% 左右。 ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/b92ad1fc29025021.webp) 我之前将异常检测百分比设置为了 90%,因此我将其调整为 30% 以触发自动修复脚本。在进行此操作的同时,我进行了一次取证搜索,查看该进程隐藏在哪里。 **2\. 狩猎 - 入侵指标提取(IOC)** ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/a21cba9182025027.webp) * 从 Datadog 的这张截图中可以看到,进程 ID `59444` 正在运行一个庞大的 Base64 混淆字符串 `0DKgJzzdUj. . .`,以绕过标准的基于文本的进程监控。 * 我使用了 `ls -l /proc/59444/exe` 命令,将该恶意进程追踪到了一个临时文件夹:`/tmp/0DKgJzzdUj` 僵尸网络决定隐藏在 `tmp` 文件夹中,因为它提供了一个可靠且限制极少的区域,用于存储和运行恶意文件,而不容易被用户立即发现。 **3\. 验证 - 数据包嗅探** 我使用 tcpdump 进行了实时数据包分析。流量非常密集。该服务器不*只是*在挖掘加密货币;它还在主动传播。我捕捉到该蠕虫迅速向 `104.x.x.x` 子网上的其他易受攻击的 Redis 实例 ``(Port 6379)`` 发送 SYN 数据包。 ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/02175bc06e025033.webp) **4\. 自动修复:结果已验证** Datadog Metric Monitor(配置阈值:25%)被触发。告警通过 Ngrok 隧道传输,SOC Automator 脚本接收并验证了 JSON payload。 如最终的架构图和此终端截图所示,紧急阻断开关成功激活,向 DigitalOcean 传输了 `power_off` API 调用并消除了威胁。平均响应时间以分钟为单位计算,成功遏制了恶意软件并切断了所有命令与控制(C2)通信。 ![image](https://static.pigsec.cn/wp-content/uploads/repos/2026/06/c91a5f5968025038.png)
标签:IP 地址批量处理, Web截图, XXE攻击, 安全编排自动化与响应(SOAR), 容器安全, 底层分析, 挖矿木马检测, 搜索引擎查询, 蜜罐技术, 请求拦截, 逆向工具