marcodagreat/SOC-Homelab-splunk-sysmon
GitHub: marcodagreat/SOC-Homelab-splunk-sysmon
一个企业级SOC家庭实验室项目,通过配置Splunk、Sysmon和活动目录,构建并验证集中式日志监控与端点遥测环境,为威胁检测与事件响应奠定基础。
Stars: 1 | Forks: 0
# 第三阶段 — 集中式日志记录、Sysmon遥测与SIEM集成
## 项目概述
本阶段专注于使用Splunk Enterprise、Splunk Universal Forwarders、Sysmon、Windows事件日志和Linux Syslog转发,在家庭实验室环境中构建集中式可视性。
目标是模拟企业级端点监控,并验证来自多个系统的遥测数据是否已成功摄入SIEM,以便用于未来的检测工程和攻击模拟阶段。
## 实验架构
此SOC家庭实验室包含:
- Windows Server 2022 活动目录
- Windows 11 端点
- Ubuntu Linux Syslog服务器
- Splunk Enterprise SIEM
- MikroTik 分段网络环境
- Kali Linux 攻击系统
为便于未来的攻击模拟和检测工程,实验室被划分为蓝队和红队网络。
# 网络概览
| 系统 | 角色 | IP地址 |
| ------------------- | ---------------------------------- | ----------- |
| Splunk 服务器 | SIEM平台 | 10.20.20.30 |
| Windows Server 2022 | 活动目录域控制器 | 10.10.10.12 |
| Windows 11 | 加入域的端点 | 10.10.10.x |
| Ubuntu 服务器 | Linux Syslog 端点 | 10.20.20.10 |
# 使用的技术
* Splunk Enterprise
* Splunk Universal Forwarder
* Sysmon
* Windows Server 2022
* Windows 11
* Ubuntu Linux
* 活动目录
* VirtualBox
* MikroTik RouterOS
* Syslog
* Windows 事件查看器
# 实验目标
* 配置集中式日志记录
* 在Windows和Linux系统上安装Splunk Universal Forwarder
* 配置Sysmon遥测收集
* 配置Ubuntu syslog监控
* 验证端点到Splunk服务器的连通性
* 确认遥测数据在Splunk内的摄入
* 为未来的攻击检测场景奠定基础
## 展示的技能
- SIEM管理
- Sysmon配置
- Windows事件转发
- Linux Syslog监控
- 活动目录管理
- 端点遥测分析
- Splunk搜索处理语言(SPL)
- 网络分段
- 日志验证与故障排除
# 1. 活动目录配置
## 域控制器设置
配置Windows Server 2022作为家庭实验室环境的活动目录域控制器。此服务器提供集中式身份验证、域服务和企业级用户管理。
*图:活动目录服务器管理器概览*
## 活动目录用户创建
创建了多个活动目录用户以模拟真实企业环境。这些账户后续将用于身份验证监控、暴力破解测试、权限提升模拟和攻击检测场景。
*图:活动目录用户创建*
# 2. Splunk Universal Forwarder 部署
## Splunk Forwarder 服务验证
验证Splunk Universal Forwarder服务已在Windows端点上成功安装并积极运行。此服务将端点遥测数据转发到集中式SIEM平台。
*图:验证Splunk Universal Forwarder已安装并运行*
## Sysmon 服务验证
确认Sysmon已成功安装并配置为持久性Windows服务,用于高级端点遥测收集。
*图:验证Sysmon已安装并运行*
## Splunk 输入配置
配置了Splunk的inputs.conf以监控:
* Windows 应用程序日志
* Windows 安全日志
* Windows 系统日志
* Sysmon 操作日志
遥测数据被转发到`endpoint`索引中进行集中分析。
*图:Splunk inputs.conf文件*
# 3. Sysmon 遥测验证
## Sysmon 进程创建事件(事件ID 1)
验证了Sysmon进程创建日志记录。事件ID 1捕获详细的进程执行遥测数据,包括:
* 父/子进程
* 进程GUID
* 映像路径
* 用户上下文
该遥测数据对于检测恶意软件执行和可疑进程活动至关重要。
*图:sysmon 事件ID 1 进程*
## Sysmon DNS查询监控(事件ID 22)
通过Sysmon事件ID 22验证了DNS查询监控。该遥测数据有助于检测:
* 命令与控制活动
* 可疑域名查询
* 恶意软件信标
* DNS隧道技术
*图:sysmon 事件ID 22 进程*
## Sysmon 网络连接检测(事件ID 3)
使用Sysmon事件ID 3验证了网络连接遥测。此事件提供了端点上进程发起的出站网络通信的可见性。
*图:sysmon 事件ID 3 进程*
# 4. Splunk SIEM 验证
## Splunk中的端点事件验证
确认Windows端点遥测数据已成功摄入Splunk Enterprise。来自多个主机的日志可进行集中搜索和索引。
*图:splunk 端点验证*
## Windows安全事件监控
验证了Windows安全日志的摄入,包括来自活动目录环境的身份验证相关事件和凭据活动。
*图:splunk 端点验证*
## 端点事件统计
使用Splunk搜索查询来验证环境中的事件数量和主机可见性。
示例SPL查询:
```
index=endpoint
| stats count by host
```
*图:splunk 端点验证用户*
# 5. Windows 转发验证
## 到Splunk服务器的网络连通性
使用`netstat`验证了从Windows端点到Splunk服务器在端口9997上的持久性TCP连接。
这确认了Universal Forwarder已成功与SIEM平台通信。
*图:验证Splunk服务器在端口9997*
# 6. Ubuntu Syslog 监控
## Linux Syslog 事件生成
使用`logger`命令生成了自定义syslog事件,并通过`/var/log/syslog`验证了实时syslog监控。
示例命令:
```
logger "Test syslog message from Ubuntu server"
```
*图:验证实时syslog监控*
## Ubuntu上的Splunk Forwarder状态
验证了Splunk Universal Forwarder在Ubuntu Linux端点上积极运行。
*图:验证Ubuntu上的Splunk Universal Forwarder*
## Ubuntu 连通性验证
验证了Ubuntu服务器与Splunk SIEM之间通过端口9997进行的活跃网络通信。
*图:验证Splunk服务器在端口9997*
## Splunk中的Linux Syslog事件
确认来自Ubuntu端点的Linux syslog事件已成功摄入Splunk Enterprise。
*图:验证Linux syslog事件摄入成功*
# 展示的关键技能
* SIEM部署
* Splunk管理
* Sysmon配置
* Windows事件转发
* Linux Syslog监控
* 活动目录管理
* 端点遥测收集
* 集中式日志记录
* 安全监控
* 网络故障排除
* Windows 和 Linux 管理
# 成果
成功构建并验证了一个集中式、企业级风格的日志记录环境,能够监控:
* Windows端点
* Linux系统
* 活动目录活动
* Sysmon遥测
* 安全日志
* 网络活动
本阶段为以下工作奠定了基础:
* 威胁检测工程
* 攻击模拟
* 事件响应流程
* SOC调查
* 蓝队操作
## 经验教训
- 学习了集中式日志记录如何提高跨分段环境的可见性
- 在验证端点到SIEM连接的过程中提升了故障排除技能
- 获得了配置Sysmon遥测收集的实践经验
- 更好地理解了Windows事件日志与Linux Syslog监控之间的差异
- 学习了企业SOC环境如何集中端点遥测数据以用于检测工程
## 未来改进
此SOC家庭实验室的下一阶段将侧重于通过攻击模拟和对手模拟来扩展检测和蓝队能力。
计划的增强功能包括:
- 使用Kali Linux进行攻击模拟
- 对手模拟演练
- 使用自定义SPL查询进行检测工程
- Splunk仪表板和告警
- 暴力破解攻击检测
- PowerShell攻击监控
- 事件响应流程
- 威胁狩猎演练
- Snort IDS集成
- 蓝队分析流程
🔐 通过构建、攻击和防御系统来学习网络安全。
## 实验架构
此SOC家庭实验室包含:
- Windows Server 2022 活动目录
- Windows 11 端点
- Ubuntu Linux Syslog服务器
- Splunk Enterprise SIEM
- MikroTik 分段网络环境
- Kali Linux 攻击系统
为便于未来的攻击模拟和检测工程,实验室被划分为蓝队和红队网络。
# 网络概览
| 系统 | 角色 | IP地址 |
| ------------------- | ---------------------------------- | ----------- |
| Splunk 服务器 | SIEM平台 | 10.20.20.30 |
| Windows Server 2022 | 活动目录域控制器 | 10.10.10.12 |
| Windows 11 | 加入域的端点 | 10.10.10.x |
| Ubuntu 服务器 | Linux Syslog 端点 | 10.20.20.10 |
# 使用的技术
* Splunk Enterprise
* Splunk Universal Forwarder
* Sysmon
* Windows Server 2022
* Windows 11
* Ubuntu Linux
* 活动目录
* VirtualBox
* MikroTik RouterOS
* Syslog
* Windows 事件查看器
# 实验目标
* 配置集中式日志记录
* 在Windows和Linux系统上安装Splunk Universal Forwarder
* 配置Sysmon遥测收集
* 配置Ubuntu syslog监控
* 验证端点到Splunk服务器的连通性
* 确认遥测数据在Splunk内的摄入
* 为未来的攻击检测场景奠定基础
## 展示的技能
- SIEM管理
- Sysmon配置
- Windows事件转发
- Linux Syslog监控
- 活动目录管理
- 端点遥测分析
- Splunk搜索处理语言(SPL)
- 网络分段
- 日志验证与故障排除
# 1. 活动目录配置
## 域控制器设置
配置Windows Server 2022作为家庭实验室环境的活动目录域控制器。此服务器提供集中式身份验证、域服务和企业级用户管理。
*图:活动目录服务器管理器概览*
## 活动目录用户创建
创建了多个活动目录用户以模拟真实企业环境。这些账户后续将用于身份验证监控、暴力破解测试、权限提升模拟和攻击检测场景。
*图:活动目录用户创建*
# 2. Splunk Universal Forwarder 部署
## Splunk Forwarder 服务验证
验证Splunk Universal Forwarder服务已在Windows端点上成功安装并积极运行。此服务将端点遥测数据转发到集中式SIEM平台。
*图:验证Splunk Universal Forwarder已安装并运行*
## Sysmon 服务验证
确认Sysmon已成功安装并配置为持久性Windows服务,用于高级端点遥测收集。
*图:验证Sysmon已安装并运行*
## Splunk 输入配置
配置了Splunk的inputs.conf以监控:
* Windows 应用程序日志
* Windows 安全日志
* Windows 系统日志
* Sysmon 操作日志
遥测数据被转发到`endpoint`索引中进行集中分析。
*图:Splunk inputs.conf文件*
# 3. Sysmon 遥测验证
## Sysmon 进程创建事件(事件ID 1)
验证了Sysmon进程创建日志记录。事件ID 1捕获详细的进程执行遥测数据,包括:
* 父/子进程
* 进程GUID
* 映像路径
* 用户上下文
该遥测数据对于检测恶意软件执行和可疑进程活动至关重要。
*图:sysmon 事件ID 1 进程*
## Sysmon DNS查询监控(事件ID 22)
通过Sysmon事件ID 22验证了DNS查询监控。该遥测数据有助于检测:
* 命令与控制活动
* 可疑域名查询
* 恶意软件信标
* DNS隧道技术
*图:sysmon 事件ID 22 进程*
## Sysmon 网络连接检测(事件ID 3)
使用Sysmon事件ID 3验证了网络连接遥测。此事件提供了端点上进程发起的出站网络通信的可见性。
*图:sysmon 事件ID 3 进程*
# 4. Splunk SIEM 验证
## Splunk中的端点事件验证
确认Windows端点遥测数据已成功摄入Splunk Enterprise。来自多个主机的日志可进行集中搜索和索引。
*图:splunk 端点验证*
## Windows安全事件监控
验证了Windows安全日志的摄入,包括来自活动目录环境的身份验证相关事件和凭据活动。
*图:splunk 端点验证*
## 端点事件统计
使用Splunk搜索查询来验证环境中的事件数量和主机可见性。
示例SPL查询:
```
index=endpoint
| stats count by host
```
*图:splunk 端点验证用户*
# 5. Windows 转发验证
## 到Splunk服务器的网络连通性
使用`netstat`验证了从Windows端点到Splunk服务器在端口9997上的持久性TCP连接。
这确认了Universal Forwarder已成功与SIEM平台通信。
*图:验证Splunk服务器在端口9997*
# 6. Ubuntu Syslog 监控
## Linux Syslog 事件生成
使用`logger`命令生成了自定义syslog事件,并通过`/var/log/syslog`验证了实时syslog监控。
示例命令:
```
logger "Test syslog message from Ubuntu server"
```
*图:验证实时syslog监控*
## Ubuntu上的Splunk Forwarder状态
验证了Splunk Universal Forwarder在Ubuntu Linux端点上积极运行。
*图:验证Ubuntu上的Splunk Universal Forwarder*
## Ubuntu 连通性验证
验证了Ubuntu服务器与Splunk SIEM之间通过端口9997进行的活跃网络通信。
*图:验证Splunk服务器在端口9997*
## Splunk中的Linux Syslog事件
确认来自Ubuntu端点的Linux syslog事件已成功摄入Splunk Enterprise。
*图:验证Linux syslog事件摄入成功*
# 展示的关键技能
* SIEM部署
* Splunk管理
* Sysmon配置
* Windows事件转发
* Linux Syslog监控
* 活动目录管理
* 端点遥测收集
* 集中式日志记录
* 安全监控
* 网络故障排除
* Windows 和 Linux 管理
# 成果
成功构建并验证了一个集中式、企业级风格的日志记录环境,能够监控:
* Windows端点
* Linux系统
* 活动目录活动
* Sysmon遥测
* 安全日志
* 网络活动
本阶段为以下工作奠定了基础:
* 威胁检测工程
* 攻击模拟
* 事件响应流程
* SOC调查
* 蓝队操作
## 经验教训
- 学习了集中式日志记录如何提高跨分段环境的可见性
- 在验证端点到SIEM连接的过程中提升了故障排除技能
- 获得了配置Sysmon遥测收集的实践经验
- 更好地理解了Windows事件日志与Linux Syslog监控之间的差异
- 学习了企业SOC环境如何集中端点遥测数据以用于检测工程
## 未来改进
此SOC家庭实验室的下一阶段将侧重于通过攻击模拟和对手模拟来扩展检测和蓝队能力。
计划的增强功能包括:
- 使用Kali Linux进行攻击模拟
- 对手模拟演练
- 使用自定义SPL查询进行检测工程
- Splunk仪表板和告警
- 暴力破解攻击检测
- PowerShell攻击监控
- 事件响应流程
- 威胁狩猎演练
- Snort IDS集成
- 蓝队分析流程
🔐 通过构建、攻击和防御系统来学习网络安全。标签:Active Directory, AMSI绕过, Linux Syslog, MikroTik, OISF, Plaso, Sysmon, Terraform 安全, VirtualBox, Windows事件日志, 企业安全, 企业级安全实验室, 威胁检测, 安全信息与事件管理, 安全运营中心, 搜索引擎爬取, 攻击模拟, 数据摄取, 日志收集, 日志管理, 日志转发, 端点监控, 端点遥测, 网络安全, 网络安全架构, 网络映射, 网络资产管理, 虚拟化网络, 遥测验证, 隐私保护, 集中日志, 驱动签名利用