JBanks0515/SOC-Analyst-Lab-02-Sysmon-Advanced-Logging
GitHub: JBanks0515/SOC-Analyst-Lab-02-Sysmon-Advanced-Logging
一个基于 Microsoft Sysmon 的 SOC 分析师实验项目,演示如何在 Windows 端点上部署高级日志监控并调查进程、网络和文件活动。
Stars: 0 | Forks: 0
# SOC Analyst 实验室 #2 - Sysmon 与高级日志记录
## 项目概述
本项目演示了如何使用 Microsoft Sysmon 来增强 Windows 事件日志记录,并为端点活动提供更深入的可见性。
该实验包括在 Windows 虚拟机上安装 Sysmon,应用 Sysmon 配置文件,生成系统活动,并通过 Windows 事件查看器调查生成的事件。
本项目在我的上一个 Windows 事件日志调查实验室的基础上,引入了安全运营团队常用的更详细的端点遥测数据。
## 目标
- 安装 Microsoft Sysmon
- 应用 Sysmon 配置文件
- 验证 Sysmon 是否正在收集事件
- 生成系统和用户活动
- 调查进程创建事件
- 调查网络连接事件
- 调查文件创建事件
- 按 Event ID 筛选 Sysmon 日志
- 记录调查结果
## 实验环境
| 组件 | 详情 |
|---|---|
| 虚拟化平台 | Oracle VirtualBox |
| 操作系统 | Windows |
| 计算机名称 | SOC-WS01 |
| 监控工具 | Microsoft Sysmon |
| 日志分析工具 | Windows 事件查看器 |
| 配置 | Sysmon XML 配置 |
## 使用的工具
- Microsoft Sysmon
- Windows 事件查看器
- 命令提示符
- PowerShell
- 文件资源管理器
- Microsoft Edge
- Sysmon 配置文件
## 调查场景
一台 Windows 工作站需要增强的端点日志记录功能,以便安全分析师能够更详细地调查系统活动。
安装并配置了 Sysmon,用于收集与进程执行、网络连接、文件创建以及其他端点活动相关的遥测数据。
作为 SOC 分析师,目标是验证 Sysmon 是否正常运行,生成测试活动,并分析生成的事件数据。
## Sysmon 安装
从 Microsoft Sysinternals 下载了 Sysmon,并将其解压到以下目录:
```
C:\Tools\Sysmon
```
Sysmon 可执行文件和配置文件存放在一起,以简化安装和管理。
在具有提升权限的命令提示符中使用以下命令安装 Sysmon:
```
Sysmon64.exe -accepteula -i sysmonconfig.xml
```
`-accepteula` 选项用于接受 Microsoft Sysinternals 许可协议,而 `-i` 选项则使用指定的配置文件安装 Sysmon。
## 验证 Sysmon
安装完成后,在事件查看器中的以下位置验证了 Sysmon 事件:
```
Applications and Services Logs
Microsoft
Windows
Sysmon
Operational
```
Sysmon Operational 日志包含了标准 Windows 安全、系统或应用程序日志中无法提供的详细端点事件。
## 生成的活动
为了生成用于分析的事件,在工作站上执行了多项操作:
- 打开命令提示符
- 打开 PowerShell
- 打开记事本
- 打开计算器
- 运行 `whoami`
- 运行 `hostname`
- 运行 `ipconfig`
- 运行 `net user`
- 打开 Microsoft Edge
- 创建文本文件
- 删除文本文件
- 重启虚拟机
这些操作生成了可以在事件查看器中查看的 Sysmon 遥测数据。
## Event ID 1 - 进程创建
Sysmon Event ID **1** 记录新进程的创建时间。
此事件中可用的信息包括:
- 进程映像
- 进程 ID
- 父进程
- 命令行
- 用户账户
- 进程哈希
- 进程创建时间
进程创建事件在安全调查中非常有价值,因为它们允许分析师确定系统上执行了哪些应用程序和命令。
例如,打开命令提示符或运行 `whoami` 和 `ipconfig` 等命令都会生成进程创建事件。
## Event ID 3 - 网络连接
Sysmon Event ID **3** 记录由进程发起的网络连接。
可用的信息可能包括:
- 源进程
- 源 IP 地址
- 源端口
- 目标 IP 地址
- 目标端口
- 网络协议
- 用户账户
网络连接事件可帮助分析师识别哪些进程通过网络进行了通信,以及这些连接的目标位置。
这在调查可疑的出站流量、恶意软件通信或未经授权的远程访问时非常有用。
## Event ID 11 - 文件创建
Sysmon Event ID **11** 记录文件创建或覆盖的时间。
可用的信息可能包括:
- 文件路径
- 文件名
- 负责该操作的进程
- 用户账户
- 时间戳
文件创建事件可帮助分析师识别可能与恶意软件、脚本、下载的工具或其他可疑活动相关的新建文件。
在此实验期间,创建了一个文本文件以生成与文件相关的遥测数据。
## 筛选 Sysmon 事件
使用事件查看器中的 **筛选当前日志** 功能来隔离特定的 Sysmon Event ID。
按 Event ID 筛选允许分析师快速减少大量日志条目,仅关注与调查相关的事件。
例如,按以下内容筛选:
```
1
```
仅显示进程创建事件。
## 调查发现
Sysmon 调查证实,该监控服务正在收集详细的端点遥测数据。
收集到的事件显示:
- 用户启动的应用程序
- 通过命令提示符执行的命令
- 父进程和子进程关系
- 由应用程序发起的网络连接
- 实验期间创建的文件
- 与系统活动关联的用户账户
- 每项记录操作的时间戳
与标准 Windows 日志记录相比,Sysmon 提供了关于进程如何执行以及它们如何与系统和网络交互的丰富得多的上下文。
## 关键 Sysmon Event ID
| Event ID | 描述 |
|---|---|
| 1 | 进程创建 |
| 3 | 网络连接 |
| 7 | 镜像加载 |
| 11 | 文件创建 |
| 12 | 注册表对象创建或删除 |
| 13 | 注册表值设置 |
| 22 | DNS 查询 |
| 23 | 文件删除 |
| 25 | 进程篡改 |
可用的事件取决于所使用的 Sysmon 配置。
## 展示的技能
- Sysmon 安装和配置
- Windows 端点监控
- 事件查看器导航
- 进程创建分析
- 网络连接分析
- 文件创建分析
- Event ID 筛选
- 基本的端点调查
- 安全日志记录
- 排查管理员权限和文件路径问题
## 故障排除
在安装过程中,Sysmon 可执行文件和配置文件最初存储在嵌套的文件夹结构中。
在成功安装 Sysmon 之前,还需要使用管理员权限打开命令提示符。
该问题通过以下方式解决:
1. 找到包含 `Sysmon64.exe` 的正确文件夹
2. 导航到正确的目录
3. 以管理员身份打开命令提示符
4. 再次运行安装命令
这进一步证实了在安装系统级监控工具时,验证文件路径、文件夹结构和管理员权限的重要性。
## 经验总结
本实验提供了安装和使用 Sysmon 以改善 Windows 端点可见性的实践经验。
我了解到 Sysmon 提供的信息比标准 Windows 日志更详细,尤其是在调查进程执行、父子进程关系、命令行活动、网络连接和文件创建时。
我还了解到,Sysmon 事件的质量和数量在很大程度上取决于所使用的配置文件。
该实验强化了将技术调查技能与清晰的文档记录和故障排除相结合的重要性。
## 截图
### Sysmon 下载文件

### Sysmon 文件夹结构

### Sysmon 配置文件

### Sysmon 安装

### Sysmon Operational 日志

### Event ID 1 - 进程创建

### Event ID 3 - 网络连接

### Event ID 11 - 文件创建

### 筛选当前日志

### 调查结果

## 结论
本实验演示了 Microsoft Sysmon 如何通过收集详细的端点遥测数据来增强 Windows 日志记录。
通过在 Windows 事件查看器中分析 Sysmon 事件,我能够调查进程执行、网络活动、文件创建、命令行活动和用户操作。
这些技能为未来涉及 Microsoft Defender、Microsoft Sentinel、Kusto Query Language、威胁狩猎、检测工程和事件响应的实验室奠定了基础。
标签:AI合规, URLScan, Windows Sysmon, 安全运营, 扫描框架, 端点检测与响应, 脱壳工具, 虚拟化实验