o1uoyebanji/SOC-Simulation-Lab
GitHub: o1uoyebanji/SOC-Simulation-Lab
基于 Splunk SIEM 和虚拟化环境构建的 SOC 模拟实验室,用于检测和分析 SSH 暴力破解与端口扫描攻击。
Stars: 0 | Forks: 0
# SOC-Simulation-Lab
## 概述
构建了一个安全运营中心(SOC)模拟环境,使用行业标准工具检测和分析真实世界的网络攻击。配置了多虚拟机实验环境,模拟了暴力破解和侦察攻击,并在 Splunk 中构建了检测逻辑、警报和仪表板。
## 架构
Kali Linux -> Ubuntu 目标机 -> Splunk SIEM
- **Kali Linux** — 运行 Hydra 和 Nmap 的攻击机
- **Ubuntu** — 运行 SSH 和 Splunk 的目标受害机
- **Splunk Enterprise** — 用于摄取和分析日志的 SIEM
## 使用的工具
- Splunk Enterprise 10.4.0
- Kali Linux
- Ubuntu 22.04
- Hydra
- Nmap
- VirtualBox
## 我所做的工作
### 1. 网络设置
- 在隔离的 Host-Only 网络上配置了两台虚拟机
- 验证了攻击机与目标机之间的通信
### 2. Splunk 配置
- 在 Ubuntu 虚拟机上安装了 Splunk Enterprise
- 安装了 Splunk Universal Forwarder 以便同时将日志发送至 Splunk
- 监控了 /var/log/auth.log 和 /var/log/syslog
### 3. 攻击模拟
- **SSH 暴力破解** — 使用 Hydra 携带 rockyou.txt 字典对 Ubuntu SSH 发起攻击,产生了 129 次失败的登录尝试
- **端口扫描** — 使用 Nmap SYN 扫描 (-sS) 枚举目标机上的所有开放端口
### 4. 在 Splunk 中进行检测
编写了 SPL 查询以检测攻击模式:
-- 检测失败的登录
index=main "Failed password"
-- 按攻击者主机聚合
index=main "Failed password" | stats count by host
-- 随时间可视化攻击
index=main "Failed password" | timechart count span=1m
-- 端口扫描证据
index=main port
### 5. 创建的警报
- 名称:检测到 SSH 暴力破解
- 条件:结果数量大于 10
- 严重程度:高
- 操作:添加至已触发警报
### 6. 构建的仪表板
- 包含 3 个面板的 SOC 实验监控仪表板:
- 随时间变化的失败登录(折线图)
- 主要攻击主机(条形图)
- 总日志事件(单值 — 15966)
## 关键发现
- 检测到来自 Kali (192.168.100.4) 的 129 次失败的 SSH 登录尝试
- 使用 timechart 可视化识别出下午 3:16 的攻击高峰
- Nmap 扫描显示有 5 个开放端口,分别是:22, 8000, 8089, 8191, 9997
- 所有 Splunk 端口均可见,证实了真实的攻击面
## 截图
请参阅 /screenshots 文件夹获取完整文档,包括:
- Splunk 仪表板
- Hydra 暴力破解输出
- Nmap 扫描结果
- 检测查询
- 警报配置
- SOC 实验监控仪表板
## 我学到了什么
- SIEM 如何摄取和规范化来自多个源的日志
- 如何编写 SPL 查询以检测暴力破解模式
- 攻击者如何使用 Nmap SYN 扫描枚举开放端口
- 如何构建基于阈值的警报以实现自动化检测
- 日志关联在识别攻击模式中的重要性
标签:CTI, 安全运营中心, 插件系统, 攻击模拟, 生成式AI安全, 网络映射, 虚拟机, 驱动签名利用