darsh139/SOC-HomeLab-Splunk

GitHub: darsh139/SOC-HomeLab-Splunk

一个基于 Splunk 和 Kali Linux 的家庭实验室,用于在隔离网络中练习 SOC 的日志分析与事件响应。

Stars: 3 | Forks: 0

# Splunk SOC 家庭实验室 一个用于模拟真实安全运营中心(SOC)环境的个人网络安全家庭实验室。本项目展示在 SIEM 配置、日志分析、威胁检测和事件响应方面的技能——这些都是 SOC 分析师岗位的核心竞争力。 ## 实验室概述 该实验室完全基于一台物理机器,使用 **VirtualBox** 运行多个虚拟机,在隔离网络中搭建。 | 组件 | 角色 | |---|---| | Splunk Enterprise(免费) | SIEM — 收集、索引和分析日志 | | Ubuntu Server 22.04 | 托管 Splunk 服务器 | | Windows 10 | 日志源和攻击目标 | | Kali Linux | 攻击机 — 模拟真实威胁 | | Sysmon | 深度 Windows 事件日志 | | Splunk Universal Forwarder | 将 Windows 日志转发到 Splunk | ## 架构 1 **网络:** 所有虚拟机运行在隔离的 VirtualBox NAT 网络(`192.168.10.0/24`)。不接触真实家庭网络。 | 虚拟机 | IP 地址 | |---|---| | Splunk 服务器(Ubuntu) | 192.168.10.10 | | Windows 10 目标 | 192.168.10.20 | | Kali Linux 攻击机 | 192.168.10.30 | ## 实践内容与学习收获 - 部署并配置 **Splunk Enterprise** 作为集中式 SIEM - 安装并配置 **Sysmon**(使用 olafhartong/sysmon-modular 强化配置)以获取深度 Windows 遥测 - 安装 **Splunk Universal Forwarder**,将 Windows 安全日志、系统日志、应用日志和 Sysmon 日志转发到 Splunk - 在 Splunk 中创建自定义 **windows** 索引以存储所有端点日志 - 模拟 **暴力破解攻击**(使用 Hydra)并分析 Splunk 中的 EventCode 4625(登录失败)告警 - 模拟 **端口扫描**(使用 Nmap)并与 Sysmon 网络连接事件进行关联 - 模拟 **未经授权的账户创建** 并通过 EventCode 4720 和 4732 检测 - 构建 **自定义 Splunk 告警**,在检测到攻击模式时自动触发 - 构建 **Splunk 安全仪表板**,展示实时安全事件 - 编写符合行业标准实践的 **事件响应报告** ## 构建的检测规则 | 攻击技术 | MITRE ATT&CK | Splunk EventCode | 告警名称 | |---|---|---|---| | 暴力破解登录 | T1110.001 | 4625 | Brute Force Login Detected | | 新建本地账户 | T1136.001 | 4720 | Suspicious Account Creation | | 管理员组修改 | T1098 | 4732 | Privilege Escalation Detected | | 端口扫描(侦察) | T1046 | Sysmon 3 | Network Recon Detected | | 可疑进程创建 | T1059 | Sysmon 1 | Suspicious Command Executed | ## 仪表板 2 ## 所用工具 - [Splunk Enterprise](https://www.splunk.com/en_us/products/splunk-enterprise.html) - [Sysmon](https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon) - [sysmon-modular config](https://github.com/olafhartong/sysmon-modular) - [Kali Linux](https://www.kali.org/) - [VirtualBox](https://www.virtualbox.org/) - [Nmap](https://nmap.org/) - [Hydra](https://github.com/vanhauser-thc/thc-hydra) ## 如何复现本实验室 ### 步骤 1 — 安装 VirtualBox 在主机上下载并安装 [VirtualBox](https://www.virtualbox.org/)。 ### 步骤 2 — 创建 NAT 网络 - 打开 VirtualBox → 工具 → 网络 → NAT 网络 → 创建 - 命名为 `SOC-Lab`,IP 范围设置为 `192.168.10.0/24` ### 步骤 3 — 设置虚拟机 下载并安装以下三台虚拟机,全部连接到 `SOC-Lab` NAT 网络: - **Ubuntu Server 22.04** — 分配静态 IP `192.168.10.10` - **Windows 10** — 分配静态 IP `192.168.10.20` - **Kali Linux** — 分配静态 IP `192.168.10.30` ### 步骤 4 — 在 Ubuntu 上安装 Splunk ``` wget -O splunk.deb "https://download.splunk.com/products/splunk/releases/9.1.0/linux/splunk-9.1.0-amd64.deb" sudo dpkg -i splunk.deb sudo /opt/splunk/bin/splunk start --accept-license ``` 访问 Splunk 地址:`http://192.168.10.10:8000` ### 步骤 5 — 在 Windows 上安装 Sysmon - 下载 [Sysmon](https://docs.microsoft.com/en-us/sysinternals/downloads/sysmon) 和 [sysmon-modular 配置](https://github.com/olafhartong/sysmon-modular) - 以管理员身份在 PowerShell 中运行: ``` .\Sysmon64.exe -accepteula -i sysmonconfig.xml ``` ### 步骤 6 — 在 Windows 上安装 Splunk Universal Forwarder - 从 Splunk 官网下载 - 安装时指向 Splunk 服务器:`192.168.10.10:9997` - 配置转发:安全日志、系统日志、应用日志和 Sysmon 日志 ### 步骤 7 — 从 Kali 运行攻击 ``` # 暴力破解 hydra -l admin -P /usr/share/wordlists/rockyou.txt 192.168.10.20 smb # 端口扫描 nmap -sS -p- 192.168.10.20 ``` ### 步骤 8 — 使用 SPL 查询 请查看 `/detection` 文件夹中的本实验室所用所有 Splunk 查询。 ## 后续改进计划 - [ ] 集成 **Sigma 规则**,实现跨平台检测规则的可移植性 - [ ] 添加 **TheHive**,用于结构化事件案例管理 - [ ] 尝试 **Elastic SIEM** 作为 Splunk 的替代方案 - [ ] 模拟更多攻击技术:钓鱼、横向移动、C2 通信 - [ ] 部署 **Splunk SOAR**,自动化基础响应剧本 - [ ] 将 Linux(Ubuntu)日志转发到 Splunk,扩大可见性范围
标签:AMSI绕过, Hydra, Nmap, PoC, Splunk Universal Forwarder, Sysmon, VirtualBox, Windows 日志, 个人实验, 威胁检测, 安全运营中心, 家庭实验室, 攻击模拟, 数据统计, 日志关联, 日志采集, 暴力破解, 端口扫描, 网络安全实践, 网络映射, 网络隔离, 自定义告警, 虚拟化, 虚拟驱动器, 账户创建, 速率限制, 驱动签名利用