siddhantpatel007/SIEM-Homelab-Detection-Response

GitHub: siddhantpatel007/SIEM-Homelab-Detection-Response

一个基于 Wazuh 和 Suricata 构建 SOC 家庭实验室的完整方案,包含自定义检测规则、自动化响应 Playbook 以及覆盖完整杀伤链的攻击模拟。

Stars: 0 | Forks: 0

# SIEM 家庭实验室:检测工程与自动化事件响应 一个功能齐全的安全运营中心 (SOC) 环境,具备使用 Wazuh SIEM 和 Suricata IDS 进行实时威胁检测、映射 MITRE ATT&CK 的自定义检测规则以及自动化事件响应能力。 ## 概述 本项目通过构建多虚拟机实验室环境,演示了端到端的安全操作:在此环境中发起、检测、分析真实攻击并自动做出响应。每一条检测规则都映射到 MITRE ATT&CK 框架,自动化 Playbook 负责处理诸如 IP 封禁和用户账户锁定等遏制措施。 ### 主要亮点 - 9 条映射到 MITRE ATT&CK 框架的自定义检测规则 - 5 次覆盖完整网络杀伤链的真实攻击模拟 - 3 个自动化响应 Playbook(IP 封禁、用户锁定、富化告警) - 包含多个可视化面板的自定义 SOC 监控仪表板 - 网络层和端点层的检测覆盖 ## 架构 | 组件 | 角色 | IP 地址 | |:----------|:-----|:-----------| | Wazuh Server (Ubuntu 22.04) | SIEM — Manager, Indexer, Dashboard | `192.168.56.10` | | Target Machine (Ubuntu 22.04) | 安装了 Wazuh Agent, Suricata, auditd 的受监控端点 | `192.168.56.11` | | Kali Linux | 攻击模拟机 | `192.168.56.12` | ``` ┌──────────────────────────────────────────────────────────────┐ │ VirtualBox Host │ │ │ │ ┌────────────────┐ ┌────────────────┐ ┌────────────────┐ │ │ │ Wazuh Server │ │ Target Machine │ │ Kali Linux │ │ │ │ │ │ │ │ (Attacker) │ │ │ │ - Wazuh Mgr │ │ - Wazuh Agent │ │ │ │ │ │ - Indexer │◄─┤ - Suricata │ │ - Nmap │ │ │ │ - Dashboard │ │ - auditd │ │ - Hydra │ │ │ │ │ │ - Apache2 │ │ - Nikto │ │ │ │ .56.10 │ │ .56.11 │ │ .56.12 │ │ │ └────────────────┘ └────────────────┘ └────────────────┘ │ │ │ │ Network: 192.168.56.0/24 (Host-Only) │ └──────────────────────────────────────────────────────────────┘ ``` ## 技术栈 | 类别 | 技术 | |:---------|:-----------| | SIEM 平台 | Wazuh 4.9.2 (Manager + Indexer + Dashboard) | | 网络 IDS | Suricata 7.x 配合 Emerging Threats 规则集 | | 端点监控 | auditd (Linux Audit Daemon) | | 日志转发 | Filebeat | | 攻击工具 | Nmap, Hydra, Nikto, dirb, Netcat | | 威胁框架 | MITRE ATT&CK | | 虚拟化 | Oracle VirtualBox | | 操作系统 | Ubuntu 22.04 LTS, Kali Linux 2025.x | | 脚本语言 | Bash | ## 攻击模拟 在完整的网络杀伤链中模拟了五次真实世界的攻击: | # | 攻击 | 使用工具 | MITRE ATT&CK | 杀伤链阶段 | |:-:|:-------|:----------|:-------------|:-----------------| | 1 | 网络侦察 | Nmap | T1046 | Reconnaissance | | 2 | SSH 暴力破解 | Hydra | T1110.001 | Credential Access | | 3 | Web 应用扫描 | Nikto, dirb | T1190, T1595.002 | Initial Access | | 4 | 权限提升 | 手动 (sudo, find) | T1548.003, T1083 | Privilege Escalation | | 5 | 数据窃取 | Netcat | T1041 | Exfiltration | ### 杀伤链流程 ``` Reconnaissance Initial Access Privilege Escalation Exfiltration (Nmap scan) → (Hydra brute force) → (sudo attempts, SUID) → (Netcat transfer) │ │ │ │ ▼ ▼ ▼ ▼ T1046 T1110.001 T1548.003 T1041 ``` ## 自定义检测规则 编写了 9 条自定义 Wazuh 规则,每条都映射到特定的 MITRE ATT&CK 技术: | 规则 ID | 攻击类型 | MITRE ID | 严重性 | 自动响应 | |:--------|:-----------|:---------|:---------|:--------------| | 100001 | 端口扫描检测 | T1046 | Level 8 | Alert | | 100002 | SSH 暴力破解 (60秒内失败5次以上) | T1110.001 | Level 10 | Block IP + Notify | | 100003 | 暴力破解后登录 | T1110.001, T1078 | Level 14 | Disable User | | 100004 | 目录遍历 | T1190 | Level 12 | Notify | | 100005 | Web 漏洞扫描 | T1595.002 | Level 10 | Alert | | 100006 | 未授权 Sudo 尝试 | T1548.003 | Level 12 | Notify | | 100007 | SUID 二进制文件枚举 | T1083 | Level 8 | Alert | | 100008 | Netcat 执行 | T1041 | Level 13 | Notify | | 100009 | 可疑出站连接 | T1041 | Level 10 | Alert | ## 自动化事件响应 实施了三个主动响应 Playbook 用于自动威胁遏制: ### 1. IP 自动封禁 (Firewall Drop) ### 2. 用户账户锁定 ### 3. 富化告警通知 ## 仪表板 在 Wazuh Dashboard 中构建的自定义 SOC 监控仪表板: | 可视化项 | 类型 | 用途 | |:-------------|:-----|:--------| | Alerts by Severity | 饼图 | 各严重等级的告警分布 | | Top Triggered Rules | 水平条形图 | 触发最频繁的检测规则 | | Attack Timeline | 折线图 | 显示攻击模式随时间变化的告警量 | | Top Source IPs | 数据表 | 最活跃的攻击者 IP 地址 | | MITRE Techniques | 标签云 | 最常检测到的 ATT&CK 技术 | ## MITRE ATT&CK 覆盖范围 ``` ┌────────────────────┬─────────────────────────────────────────────┐ │ Tactic │ Techniques Detected │ ├────────────────────┼─────────────────────────────────────────────┤ │ Reconnaissance │ T1046 - Network Service Scanning │ │ │ T1595 - Vulnerability Scanning │ ├────────────────────┼─────────────────────────────────────────────┤ │ Initial Access │ T1190 - Exploit Public-Facing Application │ │ │ T1078 - Valid Accounts │ ├────────────────────┼─────────────────────────────────────────────┤ │ Credential Access │ T1110 - Brute Force: Password Guessing │ ├────────────────────┼─────────────────────────────────────────────┤ │ Priv. Escalation │ T1548 - Sudo and Sudo Caching │ ├────────────────────┼─────────────────────────────────────────────┤ │ Discovery │ T1083 - File and Directory Discovery │ ├────────────────────┼─────────────────────────────────────────────┤ │ Exfiltration │ T1041 - Exfiltration Over C2 Channel │ └────────────────────┴─────────────────────────────────────────────┘ ``` ## 仓库结构 ``` siem-homelab-detection-response/ │ ├── README.md ├── architecture/ │ └── architecture-diagram.png ├── detection-rules/ │ └── local_rules.xml ├── active-response/ │ ├── custom-notify.sh │ └── disable-user.sh ├── configurations/ │ ├── suricata-homelab.yaml │ ├── audit.rules │ └── ossec-agent.conf.example ├── attack-simulations/ │ └── attack-playbook.md └── docs/ └── detection-rule-mapping.md ``` ## 设置与复现 ### 前置条件 - Oracle VirtualBox 7.x - 主机最低 16GB RAM(Wazuh Server 6GB,Target 和 Kali 各 2GB) - Ubuntu 22.04 Server ISO, Ubuntu 22.04 Desktop ISO, Kali Linux VirtualBox 镜像 - 100GB 可用磁盘空间 ### 快速开始 1. 在隔离的 host-only 网络 (`192.168.56.0/24`) 上创建三个虚拟机 2. 在服务器 VM 上安装 Wazuh 4.9 all-in-one (Manager + Indexer + Dashboard) 3. 在目标 VM 上部署 Wazuh agent, Suricata, 和 auditd 4. 从 [`detection-rules/local_rules.xml`](detection-rules/local_rules.xml) 导入自定义检测规则 5. 从 [`active-response/`](active-response/) 部署主动响应脚本 6. 按照 [`attack-simulations/attack-playbook.md`](attack-simulations/attack-playbook.md) 从 Kali 发起攻击模拟 ## 展示的技能 - **检测工程** — 编写经过严重性调整和 MITRE ATT&CK 映射的自定义 SIEM 规则 - **事件响应** — 构建自动化遏制 Playbook 以缩短平均响应时间 - **网络安全监控** — 部署 Suricata IDS 进行网络层威胁检测 - **端点安全** — 配置 auditd 以进行系统级审计和文件完整性监控 - **日志管理** — 将多源日志(syslog, Apache, Suricata, auditd)集中到单一 SIEM 中 - **威胁情报** — 应用 MITRE ATT&CK 框架进行标准化威胁分类 - **安全可视化** — 构建用于实时安全监控的运营仪表板
标签:AMSI绕过, Cloudflare, FTP漏洞扫描, IP 地址批量处理, Metaprompt, MITRE ATT&CK, PE 加载器, Suricata, VirtualBox, Wazuh, 仪表盘, 入侵检测系统, 凭证访问, 发现, 命令与控制, 威胁检测, 安全数据湖, 安全模拟, 安全编排, 安全运营中心, 家庭实验室, 应用安全, 执行, 收集, 攻击模拟, 现代安全运营, 私有化部署, 网络安全, 网络映射, 自动化响应, 防御规避, 隐私保护, 驱动签名利用