anshchaudhary1699-prog/SOC-Log-Analysis-using-_Splunk
GitHub: anshchaudhary1699-prog/SOC-Log-Analysis-using-_Splunk
基于 Splunk 的 SOC 日志分析实战项目,通过模拟安全事件数据集演示暴力破解、恶意软件和特权滥用等典型安全事件的调查流程与报告编写。
Stars: 0 | Forks: 0
# 使用 Splunk 进行 SOC 日志分析
## 项目概述
本项目演示了如何使用 Splunk 进行 SOC 分析员风格的调查。目标是分析安全日志,检测可疑活动,调查潜在的安全事件,提取威胁指标,将发现映射到 MITRE ATT&CK,并以事件报告的形式记录结果。
本项目涵盖了多种常见的 SOC 用例:
1. 暴力破解登录检测
2. 可疑的 PowerShell 执行
3. 恶意软件 IOC 及可疑网络连接调查
4. 滥用特权和清除审计日志
5. 创建 SOC 调查仪表板
本项目旨在展示从初级到中级的 SOC 调查技能,使用了 Splunk SPL、Windows 风格的事件日志、Sysmon 风格的事件模式以及结构化的分析员报告。
---
## 使用的工具
* Splunk Enterprise
* SPL — Search Processing Language
* Windows 安全事件日志概念
* Sysmon 风格的事件概念
* MITRE ATT&CK 框架
* GitHub
* Markdown 文档
---
## 数据集
我们创建了一个自定义的 SOC 样本数据集并将其导入到 Splunk 中。该数据集包含与以下内容相关的模拟安全事件:
* 登录失败尝试
* 多次失败后的成功登录
* 分配特殊权限
* 编码的 PowerShell 执行
* PowerShell 外部连接
* 创建可疑的可执行文件
* 可疑的 DNS 查询
* 创建新用户帐户
* 修改特权组
* 清除审计日志
数据集位置:
```
dataset/soc\_sample\_logs.csv
```
---
## 仓库结构
```
SOC-Log-Analysis-using-Splunk/
│
├── README.md
│
├── dataset/
│ └── soc\_sample\_logs.csv
│
├── spl-queries/
│ ├── 01-brute-force-detection.spl
│ ├── 02-suspicious-powershell.spl
│ ├── 03-malware-ioc-investigation.spl
│ ├── 04-privilege-abuse-investigation.spl
│ └── 05-dashboard-panels.spl
│
├── reports/
│ ├── 01-brute-force-incident-report.md
│ ├── 02-suspicious-powershell-report.md
│ ├── 03-malware-ioc-report.md
│ └── 04-privilege-abuse-report.md
│
├── screenshots/
│ ├── brute-force-failed-login-count.png
│ ├── brute-force-login-timeline.png
│ ├── powershell-process-execution.png
│ ├── powershell-encoded-command.png
│ ├── powershell-network-connection.png
│ ├── powershell-investigation-timeline.png
│ ├── network-ioc-events.png
│ ├── suspicious-ip-count.png
│ ├── suspicious-dns-query.png
│ ├── malware-ioc-investigation-timeline.png
│ ├── account-abuse-events.png
│ ├── privilege-activity-investigation.png
│ ├── audit-log-cleared.png
│ ├── account-abuse-full-timeline.png
│ └── dashboard-overview.png
│
└── notes/
├── investigation-methodology.md
├── mitre-mapping.md
└── splunk-basics.md
```
---
## 案例研究 1:暴力破解登录检测
### 目标
检测来自同一源 IP 的多次登录失败尝试以及随后的成功登录。
### 相关事件代码
| 事件代码 | 描述 |
| ---------- | --------------------------- |
| 4625 | 登录失败尝试 |
| 4624 | 成功登录 |
| 4672 | 分配特殊权限 |
### SPL 查询
```
source="\_time,event\_type,EventCode,host,use.txt" sourcetype="csv" EventCode=4625
| stats count as failed\_attempts by user, src\_ip, host
| sort -failed\_attempts
```
### 发现
用户 `ansh` 遭遇了来自源 IP `185.44.76.10` 的多次登录失败尝试,随后成功登录。
### MITRE ATT&CK 映射
| 技术 | ID |
| ----------- | ----- |
| 暴力破解 | T1110 |
### 截图
```
screenshots/brute-force-failed-login-count.png
```
---
## 案例研究 2:可疑的 PowerShell 执行
### 目标
调查由 Microsoft Word 启动并带有编码命令的 PowerShell 执行。
### 相关事件代码
| 事件代码 | 描述 |
| ---------- | ------------------ |
| 1 | 进程创建 |
| 3 | 网络连接 |
| 11 | 文件创建 |
| 22 | DNS 查询 |
### SPL 查询
```
source="\_time,event\_type,EventCode,host,use.txt" sourcetype="csv" command="\*-enc\*"
| table \_time, host, user, process, parent\_process, command, severity, description
| sort \_time
```
### 发现
PowerShell 由 `WINWORD.EXE` 启动,并带有如下编码命令:
```
powershell.exe -enc SQBFAFgA
```
此行为可能表明执行了网络钓鱼附件、滥用宏或基于脚本的恶意软件活动。
### MITRE ATT&CK 映射
| 技术 | ID |
| --------------------------------- | ----- |
| 命令和脚本解释器 | T1059 |
| 用户执行 | T1204 |
| 入口工具传输 | T1105 |
### 截图
```
screenshots/powershell-investigation-timeline.png
```
---
## 案例研究 3:恶意软件 IOC 及可疑网络连接
### 目标
调查与 PowerShell 相关的可疑出站通信、DNS 活动和可执行文件创建。
### SPL 查询
```
source="\_time,event\_type,EventCode,host,use.txt" sourcetype="csv" (dest\_ip="45.77.22.101" OR dest\_ip="malicious-update-check.com" OR process="invoice\_update.exe" OR process="powershell.exe")
| table \_time, event\_type, EventCode, user, process, parent\_process, command, dest\_ip, severity, description
| sort \_time
```
### 提取的 IOC
| IOC 类型 | 值 |
| ------------------ | -------------------------- |
| 可疑 IP | 45.77.22.101 |
| 可疑域名 | malicious-update-check.com |
| 可疑文件 | invoice\_update.exe |
| 可疑进程 | powershell.exe |
| 父进程 | WINWORD.EXE |
### 发现
活动显示,执行编码的 PowerShell 之后,出现了与可疑 IP 的外部通信、可疑可执行文件的创建以及 DNS 活动。这可能表明存在恶意软件执行或命令与控制行为。
### MITRE ATT&CK 映射
| 技术 | ID |
| --------------------------------- | ----- |
| 命令和脚本解释器 | T1059 |
| 入口工具传输 | T1105 |
| 应用层协议 | T1071 |
### 截图
```
screenshots/malware-ioc-investigation-timeline.png
```
---
## 案例研究 4:滥用特权和清除审计日志
### 目标
调查帐户创建、特权组修改、分配特殊权限以及清除审计日志的活动。
### 相关事件代码
| 事件代码 | 描述 |
| ---------- | ------------------------------ |
| 4672 | 分配特殊权限 |
| 4720 | 创建新用户帐户 |
| 4728 | 将用户添加到特权组 |
| 1102 | 清除审计日志 |
### SPL 查询
```
source="\_time,event\_type,EventCode,host,use.txt" sourcetype="csv" (EventCode=4624 OR EventCode=4672 OR EventCode=4720 OR EventCode=4728 OR EventCode=1102)
| table \_time, event\_type, EventCode, user, src\_ip, severity, description
| sort \_time
```
### 发现
时间线显示了成功登录活动、分配特殊权限、创建新帐户、修改特权组以及清除审计日志。此模式可能表明存在特权滥用、建立持久性或防御规避。
### MITRE ATT&CK 映射
| 技术 | ID |
| -------------------- | ----- |
| 创建帐户 | T1136 |
| 帐户操纵 | T1098 |
| 移除指标 | T1070 |
### 截图
```
screenshots/account-abuse-full-timeline.png
```
---
## SOC 仪表板
我们创建了一个 Splunk 仪表板来汇总调查结果。
仪表板标题:
```
SOC Investigation Overview
```
仪表板面板包括:
* 暴力破解登录失败计数
* 身份验证和特权滥用时间线
* 可疑的 PowerShell 执行时间线
* 可疑网络 IOC 连接
* 事件严重性摘要
* 严重安全事件
仪表板截图:
```
screenshots/dashboard-overview.png
```
---
## 展示的核心技能
* Splunk 日志导入
* 编写 SPL 查询
* SOC 告警分类
* 暴力破解检测
* 可疑的 PowerShell 调查
* 提取恶意软件 IOC
* DNS 调查
* 滥用特权检测
* 清除审计日志检测
* 事件记录
* MITRE ATT&CK 映射
* 创建仪表板
* 分析员风格的报告
---
## 分析员方法论
本次调查遵循了 SOC 风格的工作流程:
1. 识别可疑活动。
2. 验证日志和证据。
3. 使用 SPL 构建时间线。
4. 提取 IOC。
5. 将行为映射到 MITRE ATT&CK。
6. 评估严重性和影响。
7. 建议遏制或升级处理。
8. 在事件报告中记录发现。
---
## 局限性
本项目使用模拟的 SOC 数据集进行学习和作品集展示。它不代表真实的企业 SOC 环境。但是,调查工作流程、SPL 查询逻辑、事件解释和报告结构与真实的 SOC 分析员实践保持一致。
---
## 结论
本项目演示了使用 Splunk 进行实践 SOC 调查。它涵盖了基于身份验证的攻击、可疑的 PowerShell 执行、恶意软件 IOC 调查、滥用特权检测以及清除审计日志。该项目有助于加强对 SIEM 调查、SPL 查询、告警分类、提取 IOC 和事件报告的动手理解。
标签:AMSI绕过, IP 地址批量处理, 威胁检测, 子域名变形, 安全运营, 扫描框架, 红队行动, 防御加固