riyajerry/blue-team-portfolio
GitHub: riyajerry/blue-team-portfolio
网络安全蓝队个人作品集,记录了在家庭实验室中搭建 Splunk SIEM 环境、编写检测规则并模拟攻击验证的完整 SOC 实践过程。
Stars: 0 | Forks: 0
# 蓝队安全作品集
**姓名:** Riya Jerry
**学位:** 网络安全理学硕士 — 爱尔兰科克芒斯特理工大学
**关注领域:** SOC 分析 · 威胁检测 · 事件响应
**状态:** 正在爱尔兰积极寻找初级 SOC 分析师职位
## 关于本作品集
此仓库记录了在家庭实验室环境中构建的蓝队实战项目。
每个项目都反映了真实的 SOC 分析师工作流程,从配置 SIEM 和编写
检测规则,到生成正式的事件响应报告。
这里的所有内容都是在运行于 Windows 11 上的 VirtualBox 家庭实验室中从零开始构建的,
包含一台 Ubuntu Server SIEM 主机和一台 Windows 10 靶机。
| # | 项目 | 状态 | 关键工具 |
|---|---------|--------|-----------|
| 1 | [家庭 SIEM 实验 — Splunk + 检测规则](#project-1--home-siem-lab) | ✅ 已完成 | Splunk, Windows Event Logs, SPL, Atomic Red Team |
| 2 | 事件响应报告 | 🔄 进行中 | MITRE ATT&CK, Any.run |
| 3 | 威胁行为者画像 — APT28 | 🔄 进行中 | MITRE Navigator, OSINT |
## 项目 1 — 家庭 SIEM 实验
### 我构建了什么
一个使用 Splunk Enterprise(免费版)的家庭 SIEM 实验室,用于实时接收和监控
Windows Event Logs。该实验室模拟了一个基本的 SOC 监控环境,
包含一台生成日志的 Windows 10 终端和一台专用的 Ubuntu Server SIEM 主机。
### 实验室架构
Windows 10 虚拟机 → Splunk Universal Forwarder → Ubuntu Server 虚拟机 (Splunk Enterprise)
[靶机] [端口 9997] [SIEM 主机 — 端口 8000]
### 我做了什么
- 配置了具有两台虚拟机的 VirtualBox:Windows 10(靶机)和 Ubuntu 22.04(SIEM)
- 在 Ubuntu 上安装了 Splunk Enterprise,在 Windows 上安装了 Splunk Universal Forwarder
- 将 Windows 的安全、系统和应用程序事件日志转发到了 Splunk
- 使用 `index=main` 搜索确认了实时日志接收
- 验证了对 EventCode 4624(成功登录)和 4625(失败登录)的检测
- 故意生成失败登录事件以验证检测能力
### 监控的关键事件代码
| EventCode | 含义 | 重要性说明 |
|-----------|---------|----------------|
| 4624 | 成功登录 | 基准活动 — 突然激增表明暴力破解成功 |
| 4625 | 失败登录 | 暴力破解或凭证填充的主要指标 |
| 4688 | 进程创建 | 检测可疑的进程执行 |
| 4720 | 创建用户账户 | 常见的持久化技术 |
### 截图
#### Splunk 仪表板 — 日志流入中

#### EventCode 4625 — 检测到失败登录
## 
## 工具与技术
`Splunk Enterprise` `Splunk Universal Forwarder` `VirtualBox` `Ubuntu Server 22.04`
`Windows 10` `Windows Event Logs` `SPL (Search Processing Language)` `MITRE ATT&CK`
## 实验室环境
| 组件 | 详情 |
|-----------|---------|
| 宿主机 | Windows 11, 16GB 内存 |
| Hypervisor | VirtualBox 7.x |
| SIEM 主机 | Ubuntu Server 22.04 LTS — 4GB 内存, 2 vCPUs |
| 靶机 | Windows 10 Pro — 4GB 内存, 2 vCPUs |
| Splunk 版本 | Enterprise 9.x (免费版 — 500MB/天) |
## 第 3-4 周 — 检测规则与仪表板
### 我构建了什么
在 Splunk 中作为实时警报运行的四个 SPL 检测规则,
这些规则由使用 Atomic Red Team 进行的真实攻击模拟触发。
一个将所有检测结果可视化的 SOC 仪表板。
### 执行的攻击模拟
| Atomic 测试 | MITRE 技术 | 模拟内容 |
|-------------|----------------|-------------------|
| T1053.005 | Scheduled Task | 攻击者在重启后的持久化 |
| T1136.001 | Create Local User | 攻击者创建后门账户 |
| T1547.001 | Registry Run Keys | 恶意软件在启动时运行 |
### 编写的检测规则
#### 规则 1 — 暴力破解登录检测
**EventCode:** 4625 — 失败登录
**MITRE:** T1110 — Brute Force
**逻辑:** 计算每个账户的失败登录次数。当同一
账户失败超过 5 次时触发 — 表明存在凭证填充
或密码猜测攻击。
```
index=main EventCode=4625 earliest=-60m
| stats count by Account_Name, ComputerName
| where count > 5
| table Account_Name, ComputerName, count
| sort -count
```
#### 规则 2 — 可疑进程创建
**EventCode:** 4688 — 进程创建
**MITRE:** T1059 — Command and Scripting Interpreter
**逻辑:** 当生成 powershell.exe
或 cmd.exe 等高风险进程时发出警报。这些是正常的进程,但如果
意外或大量出现,就会变得可疑。
```
index=main EventCode=4688
| eval process=lower(New_Process_Name)
| search process IN ("*powershell.exe*","*cmd.exe*",
"*wscript.exe*","*mshta.exe*","*rundll32.exe*")
| table _time, ComputerName, Account_Name,
New_Process_Name, Creator_Process_Name
| sort -_time
```
#### 规则 3 — 可疑的父子进程生成
**EventCode:** 4688 — 进程创建
**MITRE:** T1059.001 — PowerShell, T1566 — Phishing
**逻辑:** 检测由异常父进程生成的 shell 或解释器。
这是恶意 Office 宏、
WMI 滥用或 living-off-the-land 攻击的关键指标。Splunk 自身的
进程被排除在外以减少误报。
```
index=main EventCode=4688
| eval parent=lower(Creator_Process_Name)
| eval child=lower(New_Process_Name)
| search child IN ("*powershell.exe*","*cmd.exe*",
"*wscript.exe*","*mshta.exe*","*rundll32.exe*","*schtasks.exe*")
| search parent IN ("*svchost.exe*","*schtasks.exe*",
"*msiexec.exe*","*wmic.exe*","*powershell.exe*",
"*winword.exe*","*excel.exe*","*outlook.exe*")
| where NOT match(parent,"splunk")
| where NOT match(child,"splunk")
| table _time, ComputerName, Account_Name,
Creator_Process_Name, New_Process_Name
| sort -_time
```
#### 规则 4 — 计划任务持久化检测
**EventCode:** 4698 — 计划任务创建
**MITRE:** T1053.005 — Scheduled Task
**逻辑:** 每次创建计划任务时都会触发。
合法的软件极少会静默创建计划任务 —
这是攻击者持久化的一个高置信度指标。
```
index=main (EventCode=4698 OR EventCode=4702)
| table _time, ComputerName, Account_Name, Message
| sort -_time
```
### 关键发现 — 检测到真实的可疑活动
在测试期间,观察到以下真正的可疑行为
并被规则 3 捕获:
- `svchost.exe` 在用户账户 `riya` 下生成 `rundll32.exe`
- `powershell.exe` 在短时间内连续三次生成 `schtasks.exe` —
这与自动化的攻击者工具行为一致
### 截图
#### SOC 仪表板 — 集中查看所有检测

#### 规则 3 — 父子进程检测

#### 规则 4 — 捕获计划任务持久化

### 我学到了什么
- Windows 审核策略默认是关闭的,启用它们
是任何 SOC 部署的关键第一步
- Splunk 的 bucket 和 stats 命令是基于阈值的警报的核心
- 从规则中排除已知良好的进程(如 Splunk 自身的二进制文件)
对于减少误报噪音至关重要
- 在测试期间出现了真实的可疑活动,
在用户账户下生成 rundll32 的 svchost 确实
值得深入调查
*本作品集会随着我完成新项目而持续更新。*
标签:SOC分析, 库, 应急响应, 红队行动