Thomas170491/SIEM-Lab
GitHub: Thomas170491/SIEM-Lab
这是一个基于Sysmon和ELK技术栈构建的SIEM实验室,旨在模拟安全运营中心工作流以进行日志分析与威胁检测。
Stars: 0 | Forks: 0
# 🔐 SIEM 实验室 – SOC 模拟 (ELK Stack)
## 📌 概述
本项目由一个自建的 SIEM 实验室组成,旨在模拟真实的安全运营中心 (SOC) 工作流。目标是了解日志如何被收集、分析,以及如何用于检测可疑活动。
该实验室专注于日志摄取、事件分析以及安全相关行为的检测。
## 🏗️ 架构
实验室由两台虚拟机组成:
### 🖥️ Windows 虚拟机 (日志源)
- Sysmon (系统和进程监控)
- Winlogbeat (日志转发)
### 🐧 Linux 虚拟机 (SIEM 栈)
- Elasticsearch (日志存储和索引)
- Kibana (可视化和分析)
### 🔄 日志流
Windows (Sysmon / Event Logs)
→ Winlogbeat
→ Elasticsearch
→ Kibana
## 📊 日志摄取与分析
通过 Winlogbeat 将 Windows 和 Sysmon 日志集中摄取到 Elasticsearch,并在 Kibana 中进行可视化和分析。

## 🔍 PowerShell 活动分析
使用 Kibana 过滤并分析 PowerShell 执行日志,以调查进程活动并识别潜在的可疑行为。

## 🧠 SOC 工作流模拟
本实验室模拟 SOC 分析师的核心任务:
- 日志收集与集中化
- 事件过滤与分析
- 进程活动调查
- 识别可疑行为
## 🛠️ 使用的技术
- ELK Stack (Elasticsearch, Kibana)
- Sysmon
- Winlogbeat
- Windows Event Logs
- Virtual Machines
## 检测用例:可疑的 PowerShell 执行
### 目标
检测可能表明恶意执行或攻击者行为的可疑 PowerShell 活动。
### 数据源
- Sysmon Event ID 1 (Process Creation)
- Winlogbeat
- Elasticsearch / Kibana
### 检测逻辑
检测重点关注识别以下内容:
- 使用编码或混淆命令的 PowerShell 执行
- 使用可疑标志,例如 -enc、-nop 或 bypass 选项
- 异常的父子进程关系(例如,Office 派生 PowerShell)
### 示例查询
```
event.code: "1" AND process.name: "powershell.exe" AND (
process.args: "-EncodedCommand" OR
process.args: "-enc" OR
process.args: "-ExecutionPolicy" OR
process.args: "Bypass" OR
process.args: "-NoProfile" OR
process.args: "-WindowStyle" OR
process.args: "Hidden"
)
```
### 调查步骤
1. 确定父进程
2. 检查命令行参数
3. 核实该用户的用户活动是否符合预期
4. 查找相关事件(网络或重复执行)
5. 判断活动是良性还是可疑
### 结果
该用例展示了如何在 SOC 环境中检测并调查可疑的 PowerShell 执行。
## 🎯 主要收获
- 理解 SIEM 架构和日志管道
- 获得日志分析和事件过滤的实践经验
- 调查系统和进程活动
- 亲身体验 SOC 工作流
## 🚧 后续步骤
- 身份验证日志分析
- 暴力破解检测场景
- 检测规则创建
- 仪表板开发
## 👤 作者
Thomas Papas
Cybersecurity Analyst (Junior) | SIEM | Python | Threat Detection
本项目补充了我的其他安全项目,包括网络侦察工具包和密码学实现。
标签:AMSI绕过, Elasticsearch, ELK Stack, OpenCanary, PowerShell 分析, Sysmon, Sysmon Event ID 1, Windows 日志, Winlogbeat, 事件分析, 可疑行为检测, 威胁检测, 安全可视化, 安全实验室, 安全运营中心, 攻防模拟, 日志采集, 混淆命令检测, 生成式AI安全, 网络映射, 虚拟机, 越狱测试