Madhan-mohan14/Automated-Threat-Detection-Response-phase2

GitHub: Madhan-mohan14/Automated-Threat-Detection-Response-phase2

基于Wazuh和TheHive构建的开源自动化SOC流水线,实现从实时威胁检测、自动防火墙拦截到事件工单创建的全流程安全运营闭环。

Stars: 0 | Forks: 0

# 🛡️ 使用开源 SIEM 进行自动化威胁检测与响应 一个完全使用开源工具构建的全功能安全信息和事件管理 (SIEM) 系统。该自动化 SOC 流水线利用 Wazuh 和 TheHive,具备实时威胁检测、主动响应(自动防火墙拦截)、文件完整性监控 (FIM) 以及用于事件工单管理的 SOAR 集成功能。 ## 📋 项目概述 本项目演示了一个端到端的安全监控流水线: 1. **Wazuh SIEM** 实时检测暴力破解攻击和文件篡改 2. **主动响应** 通过防火墙规则自动拦截攻击者 IP 3. **文件完整性监控 (FIM)** 捕获利用后的文件修改 4. **TheHive 集成** 转发高危警报以进行事件案例管理 本项目作为 VIT Bhopal 大学 B.Tech(网络安全与数字取证)专业的 Capstone 项目开发。 ## 🏗️ 架构 ``` ┌─────────────────┐ SSH Brute-Force ┌─────────────────────────┐ │ Kali Linux │ ──────────────────────────────▶ │ Ubuntu Server │ │ (Attacker) │ Nmap Scans │ (Wazuh Server) │ │ 10.0.2.5 │ │ 10.0.2.4 │ │ │ │ │ │ • Hydra │ ◀── Firewall Block ──────── │ • Wazuh Manager │ │ • Nmap │ (Active Response) │ • Wazuh Indexer │ │ • Wazuh Agent │ │ • Wazuh Dashboard │ └─────────────────┘ │ • TheHive (Docker) │ │ • Cassandra (Docker) │ │ • Elasticsearch(Docker)│ └─────────────────────────┘ ``` **网络:** VirtualBox NAT 网络 (`10.0.2.0/24`) ## 🔧 技术栈 | 组件 | 工具 | 用途 | |-----------|------|---------| | SIEM 平台 | Wazuh 4.7.5 | 日志分析、威胁检测、告警 | | 终端代理 | Wazuh Agent | 从受监控的终端收集日志 | | 虚拟化 | Oracle VirtualBox | 隔离的实验环境 | | 服务器操作系统 | Ubuntu Server 22.04 | 承载 Wazuh 服务器组件 | | 攻击者操作系统 | Kali Linux | 攻击模拟终端 | | 事件响应 | TheHive 5.2 | 案例管理与告警追踪 | | 数据库 | Cassandra 4.0 | TheHive 后端存储 | | 搜索引擎 | Elasticsearch 7.17.9 | TheHive 索引 | | 攻击工具 | Hydra, Nmap | 暴力破解与端口扫描模拟 | ## 📁 仓库结构 ``` ├── README.md # This file ├── config/ │ ├── ossec.conf # Wazuh Manager configuration (key sections) │ └── custom-thehive # TheHive integration script ├── docs/ │ ├── 01-virtualbox-setup.md # VirtualBox & VM setup guide │ ├── 02-wazuh-installation.md # Wazuh server & agent installation │ ├── 03-thehive-setup.md # TheHive Docker setup & integration │ ├── 04-attack-simulation.md # Running attacks & viewing results │ └── 05-rules-reference.md # Wazuh rules explained └── screenshots/ # Add your demo screenshots here └── .gitkeep ``` ## 🚀 快速开始 ### 前置条件 - **主机:** 最低 8GB 内存,50GB 可用磁盘空间 - **软件:** 已安装 Oracle VirtualBox 7.x - **ISO 镜像:** Ubuntu Server 22.04,Kali Linux(最新版) ### 步骤 1:VirtualBox 网络设置 1. 打开 VirtualBox → 文件 → 工具 → 网络管理器 2. 转到 **NAT 网络** 选项卡 → 点击 **创建** 3. 配置: - 名称:`WazuhLabNet` - IPv4 前缀:`10.0.2.0/24` - 启用 DHCP:✅ ### 步骤 2:创建虚拟机 **Ubuntu Server 虚拟机 (Wazuh 服务器):** - 内存:4096 MB(最低) - CPU:2 核 - 硬盘:30 GB - 网络:连接到 `WazuhLabNet` **Kali Linux 虚拟机 (攻击者/终端):** - 内存:2048 MB - CPU:2 核 - 硬盘:25 GB - 网络:连接到 `WazuhLabNet` ### 步骤 3:安装 Wazuh 服务器 (Ubuntu 虚拟机) ``` # 更新系统 sudo apt update && sudo apt upgrade -y # 下载并运行 Wazuh 安装程序 curl -sO https://packages.wazuh.com/4.7/wazuh-install.sh sudo bash wazuh-install.sh -a # 保存最后显示的凭据! # 访问 https:// 处的 dashboard ``` 验证所有服务: ``` sudo systemctl status wazuh-manager sudo systemctl status wazuh-indexer sudo systemctl status wazuh-dashboard ``` ### 步骤 4:安装 Wazuh 代理 (Kali 虚拟机) 1. 打开 Wazuh 控制面板 → 代理 → 部署新代理 2. 选择 Linux DEB,输入服务器 IP (`10.0.2.4`) 3. 复制生成的命令并在 Kali 上运行: ``` # 示例(你的命令会有所不同): wget https://packages.wazuh.com/4.x/apt/pool/main/w/wazuh-agent/wazuh-agent_4.7.5-1_amd64.deb sudo WAZUH_MANAGER='10.0.2.4' dpkg -i wazuh-agent_4.7.5-1_amd64.deb sudo systemctl daemon-reload sudo systemctl enable wazuh-agent sudo systemctl start wazuh-agent ``` 验证连接: ``` sudo systemctl status wazuh-agent ``` ### 步骤 5:配置主动响应与 FIM 编辑 Wazuh Manager 配置文件: ``` sudo nano /var/ossec/etc/ossec.conf ``` 添加以下代码块(完整参考请参见 `config/ossec.conf`): **主动响应 — 自动拦截暴力破解攻击者:** ``` firewall-drop local 5720,5763 600 ``` **主动响应 — 自动拦截端口扫描器:** ``` firewall-drop local 581 600 ``` **文件完整性监控 — 实时检测:** ``` /etc,/usr/bin,/usr/sbin ``` 更改后重启: ``` sudo systemctl restart wazuh-manager ``` ### 步骤 6:设置 TheHive (Docker) ``` # 安装 Docker sudo apt install docker.io docker-compose -y sudo systemctl enable docker sudo systemctl start docker # 启动 Cassandra sudo docker run -d --name cassandra \ -p 9042:9042 \ -e CASSANDRA_CLUSTER_NAME=TheHive \ cassandra:4.0 # 等待 60 秒以初始化 Cassandra sleep 60 # 启动 Elasticsearch(使用端口 9201 以避免与 Wazuh Indexer 在 9200 上的冲突) sudo docker run -d --name elasticsearch \ -p 9201:9200 \ -e "discovery.type=single-node" \ -e "xpack.security.enabled=false" \ -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \ docker.elastic.co/elasticsearch/elasticsearch:7.17.9 # 等待 30 秒 sleep 30 # 启动 TheHive sudo docker run -d --name thehive \ -p 9000:9000 \ strangebee/thehive:5.2 # 访问 http://:9000 处的 TheHive # 默认登录信息:admin@thehive.local / secret ``` ### 步骤 7:集成 Wazuh → TheHive **创建集成脚本:** ``` sudo nano /var/ossec/integrations/custom-thehive ``` 粘贴 `config/custom-thehive` 中的内容,然后执行: ``` sudo chmod 750 /var/ossec/integrations/custom-thehive sudo chown root:wazuh /var/ossec/integrations/custom-thehive ``` **创建一个具有告警权限的 TheHive 组织和用户:** ``` sudo /var/ossec/framework/python/bin/python3 -c " import requests headers = { 'Authorization': 'Bearer ', 'Content-Type': 'application/json' } # 创建 SOC organisation r = requests.post('http://127.0.0.1:9000/api/v1/organisation', headers=headers, json={'name': 'SOC', 'description': 'Security Operations'}, verify=False) print('Create org:', r.status_code) # 在 SOC org 中创建 analyst 用户 r2 = requests.post('http://127.0.0.1:9000/api/v1/user', headers=headers, json={'login': 'soc-wazuh@thehive.local', 'name': 'Wazuh SIEM', 'profile': 'analyst', 'organisation': 'SOC'}, verify=False) print('Create user:', r2.status_code) # 生成 API key r3 = requests.post('http://127.0.0.1:9000/api/v1/user/soc-wazuh@thehive.local/key/renew', headers=headers, verify=False) print('API key:', r3.text) " ``` **将集成添加到 ossec.conf:** ``` custom-thehive http://127.0.0.1:9000/api/alert YOUR_SOC_USER_API_KEY json 5720,5763 ``` 重启 Wazuh: ``` sudo systemctl restart wazuh-manager ``` ## ⚔️ 攻击模拟 ### 攻击 1:SSH 暴力破解(从 Kali 发起) ``` # 单次密码尝试(循环) while true; do hydra -l maddy -p "wrongpassword123" ssh://10.0.2.4; sleep 1; done # 或使用 wordlist hydra -l maddy -P /usr/share/wordlists/rockyou.txt ssh://10.0.2.4 -t 4 ``` **预期的 Wazuh 告警:** | 规则 ID | 级别 | 描述 | |---------|-------|-------------| | 5760 | 5 | sshd: 认证失败 | | 5503 | 5 | PAM: 用户登录失败 | | 5551 | 10 | PAM: 短时间内多次登录失败 | | 5763 | 10 | sshd: 暴力破解尝试获取系统访问权限 | | 651 | 3 | 主机被 firewall-drop 主动响应拦截 | **预期的 TheHive 告警:** Wazuh 警报 - 规则 5763(自动创建) ### 攻击 2:文件完整性篡改(在 Ubuntu 上) ``` # 模拟攻击者植入 backdoor sudo touch /etc/malicious_backdoor # 模拟攻击者修改系统文件 sudo bash -c 'echo "compromised" >> /etc/hosts' ``` **预期的 Wazuh 告警:** | 规则 ID | 级别 | 描述 | |---------|-------|-------------| | 554 | 5 | 文件已添加到系统 | | 550 | 7 | 完整性校验和已更改 | | 553 | 7 | 文件已删除(如果您删除了测试文件) | ## 🔑 Wazuh 规则参考 | 规则 ID | 类别 | 描述 | |---------|----------|-------------| | 5760 | 认证 | 单次 SSH 登录失败 | | 5503 | 认证 | PAM 级别登录失败确认 | | 5551 | 暴力破解 | 检测到多次登录失败(模式) | | 5720 | 暴力破解 | 来自同一 IP 的多次认证失败 | | 5763 | 暴力破解 | 暴力破解攻击已确认 | | 581 | 端口扫描 | 基于主机的异常检测 — 连接尝试(端口扫描) | | 651 | 主动响应 | 攻击者 IP 被 firewall-drop 拦截 | | 550 | 文件完整性 | 文件校验和已更改(修改) | | 554 | 文件完整性 | 新文件已添加到受监控目录 | | 553 | 文件完整性 | 文件已从受监控目录中删除 | ## 🧹 演示后清理 ``` # 删除测试文件 sudo rm /etc/malicious_backdoor /etc/hacker_was_here # 从 /etc/hosts 中移除添加的行 sudo nano /etc/hosts # Delete lines containing "hacked", "compromised", etc. # 解封攻击者 IP(或等待 600 秒自动解封) sudo /var/ossec/active-response/bin/firewall-drop delete - - 10.0.2.5 ``` ## 🎥 项目演示视频 [![演示视频](https://img.youtube.com/vi/5Vjwi6d7peA/maxresdefault.jpg)](https://youtu.be/5Vjwi6d7peA) *点击上方图片观看我们自动化 SOC 流水线的完整技术演示,包括实时威胁检测、主动响应和事件工单管理。* ## 🔮 未来增强计划 - **Cortex 集成:** 自动化威胁情报富化(IP 信誉,MISP 查询) - **MITRE ATT&CK 映射:** 为所有检测到的威胁进行完整的战术/技术映射 - **电子邮件/Slack 通知:** 实时告警通知 - **自定义仪表盘:** 集成 Grafana 进行安全指标可视化 - **网络 IDS:** 集成 Suricata 进行网络级威胁检测 ## 👥 团队 | 姓名 | 角色 | |------|------| | Madhan Mohan Naidu .M (22BCY10182) | 完整的系统开发 — Wazuh 服务器/代理设置,主动响应配置,文件完整性监控,TheHive Docker 部署,Wazuh-TheHive 集成脚本 | | Rehan Rajesh (22BCY10196) | 攻击模拟与验证,演示文稿准备及文档编写 | | V.A.Aaswin (22BCY10257) | 项目报告撰写,报告的研究与数据收集 | | Insaf Sadik A S (22BCY10282) | 报告的研究与数据收集 | **指导教师:** Dr. Hariharasitaraman S **所属机构:** VIT Bhopal University ## 📄 许可证 本项目作为 B.Tech Capstone 项目 (DSN4091) 的一部分,仅用于教育目的。
标签:AMSI绕过, CIDR查询, CTI, Docker, FTP漏洞扫描, SOAR, SSH安全, TheHive, Ubuntu Server, Wazuh, 主动响应, 信息安全管理, 威胁检测, 安全编排, 安全运营中心, 安全防御评估, 密码管理, 工单管理, 暴力破解防护, 毕业设计, 毕设项目, 端点安全, 网络安全, 网络映射, 自动化防御, 自动封禁, 补丁管理, 请求拦截, 防火墙策略, 隐私保护