ThanhTuanjk/c2-threat-defense-platform
GitHub: ThanhTuanjk/c2-threat-defense-platform
一套基于 Ubuntu 网关的企业级 C2/恶意软件防御实验平台,整合 Snort、Zeek、INetSim 与 Wazuh 实现网络层威胁检测、IPS 阻断和自动化规则生成。
Stars: 1 | Forks: 0
# C2 威胁防御平台
一个适用于小型企业网络模型的安全、可复现的 C2/恶意软件防御平台。该平台强制 Windows 端点通过 Ubuntu 网关,将不安全的类 Internet 流量重定向至 INetSim/Fake C2,利用 Snort IDS 和 Zeek 检测活动,通过 NFQUEUE 使用 Snort IPS 阻断选定的流量,并使用 Python 引擎从 Zeek 遥测数据生成 Snort 规则。
## 该平台展示的内容
- Ubuntu 作为网关、防火墙、路由器、NAT/DNAT 节点、Snort IDS/IPS 主机、Zeek 传感器以及 Python 自动化运行器。
- 强制 Windows 客户端流量通过网关,无直接的 Internet 路径。
- Kali/INetSim 作为安全的 Fake Internet/Fake C2 目标。
- Wazuh/Sysmon 端点可见性作为互补层。
- IDS 与 IPS 的行为对比:
- IDS 仅告警,但不阻断。
- IPS 仅在流量经过 NFQUEUE 且匹配的规则动作为 `block`/`drop` 时进行阻断。
- 针对 HTTP/DNS/TLS/连接元数据的 Zeek 可见性,包括针对被阻断的高端口 C2 尝试的 L7 层前通知。
- 基于 Zeek 日志的 Python 自动规则生成,适用于“先观察,后阻断”的工作流。
## 系统角色
| 角色 | 默认 IP | 用途 |
| --- | --- | --- |
| Windows 客户端 | `192.168.100.20/24` | 生成良性测试和受控恶意软件/C2 行为的端点 |
| Ubuntu 网关 | `192.168.100.10`, `10.10.10.10` | 防火墙、路由器、Snort、Zeek、Python 自动规则引擎 |
| Kali/INetSim | `10.10.10.20` | Fake Internet/Fake C2 DNS/HTTP 服务 |
| Wazuh Server | 在 `.env` 中设置 | 端点日志收集及未来的主动响应 |
## 快速开始
```
git clone https://github.com/ThanhTuanjk/c2-threat-defense-platform.git
cd c2-threat-defense-platform
cp .env.example .env
# 编辑 .env 以匹配你的 VM interfaces 和 IP addresses。
sudo bash install/check_prereqs.sh
sudo bash install/deploy_ubuntu_gateway.sh
```
在 Ubuntu 上启动主平台终端:
```
sudo bash ~/c2-defense-lab/automation/start_zeek_python.sh
sudo bash ~/c2-defense-lab/automation/start_snort_ips.sh
```
仅 IDS 演示:
```
sudo bash ~/c2-defense-lab/automation/start_snort_ids.sh
```
Windows 测试示例:
```
nslookup google.com 10.10.10.20
curl.exe -v --max-time 8 -H "Host: c2-test.lab" -A "Go-http-client/1.1" "http://10.10.10.20/beacon.php?test=ids"
Test-NetConnection 10.10.10.20 -Port 56003
```
## 文档导航
- [架构](docs/ARCHITECTURE.md)
- [网络拓扑](docs/NETWORK_TOPOLOGY.md)
- [Ubuntu 网关设置](docs/SETUP_UBUNTU_GATEWAY.md)
- [Windows 客户端设置](docs/SETUP_WINDOWS_CLIENT.md)
- [Kali INetSim 设置](docs/SETUP_KALI_INETSIM.md)
- [Wazuh server 设置](docs/SETUP_WAZUH_SERVER.md)
- [IDS 运行手册](docs/RUNBOOK_IDS.md)
- [IPS 运行手册](docs/RUNBOOK_IPS.md)
- [测试计划](docs/TEST_PLAN.md)
- [故障排除](docs/TROUBLESHOOTING.md)
- [安全说明](docs/SECURITY_NOTES.md)
- [当前项目状态](docs/PROJECT_STATUS.md)
## 仓库结构
```
automation/ Start scripts and Python auto-rule engine
config/ Snort and Zeek configuration used by the platform
docs/ Architecture, setup, runbooks, test plan
examples/ Safe test commands and expected evidence
install/ Deployment helpers for the Ubuntu gateway
rules/ Local Snort IDS/IPS rules and auto-rule examples
scripts/ Gateway firewall mode scripts
tools/ Pretty log viewers and Snort rule rebuild tool
```
## 安全边界
该平台专为受控的防御教育和企业级验证而设计。请勿在隔离的 VM 网络之外运行真实的恶意软件。在未进行脱敏处理前,请勿发布运行时日志或数据包捕获。
标签:IP 地址批量处理, 入侵检测系统, 威胁防御, 安全数据湖, 网络流量路由, 自动化响应, 逆向工具