Mithsah1325/soc-detection-engineering-lab
GitHub: Mithsah1325/soc-detection-engineering-lab
一套完整的SOC检测工程实验环境,整合攻击模拟、Sigma规则检测、ELK日志采集和自动化响应脚本,适合安全分析师培训和蓝队演练。
Stars: 0 | Forks: 0
# SOC 分析师项目
一个用于威胁模拟、检测工程、SIEM 采集和基础自动化响应的安全运营中心 实战实验室项目。
## 本项目包含的内容
- **攻击模拟** 包括:
- 暴力破解行为
- 可疑进程行为(PowerShell 编码命令模式)
- 数据泄露式 HTTP POST
- **Sigma 规则** 用于:
- 暴力破解登录尝试
- 可疑进程创建模式
- 可疑 DNS 查询
- **自动化脚本** 用于在以下平台封锁恶意 IP:
- Linux (`iptables`)
- Windows (`NetFirewallRule`)
- **SIEM 配置** 用于 Elastic Stack:
- Elasticsearch 实验室配置
- 用于常见 Linux + SOC 模拟日志的 Logstash 管道
- **文档** 用于设置和报告
## 仓库结构
```
SOC-Analyst-Project-main/
├── Attack-Simulations/
│ ├── brute_force_attack.sh
│ ├── exfiltration_attack.sh
│ └── process_injection_attack.ps1
├── Automation-Scripts/
│ ├── block_ip.sh
│ └── block_ip.ps1
├── Documentation/
│ ├── README.md
│ ├── full info.md
│ └── project_report.md
├── SIEM-Config/
│ ├── elasticsearch_config.yml
│ ├── kibana_visualization_guide.md
│ ├── logstash_pipeline.conf
│ └── README.md
├── Sigma-Rules/
│ ├── brute_force.yml
│ ├── process_injection.yml
│ └── suspicious_dns_queries.yml
├── LICENSE
└── README.md
```
## 前置条件
### 核心
- Elasticsearch
- Logstash
- Kibana
### Linux 模拟/自动化
- `bash`
- `curl`
- `hydra` (用于暴力破解模拟)
- `iptables` (用于响应脚本)
### Windows 模拟/自动化
- PowerShell 5.1+
- 用于防火墙规则更改的管理员 Shell
## 快速开始
### 1) 克隆
```
git clone https://github.com/Cipherkrish69x/SOC-Analyst-Project.git
cd SOC-Analyst-Project
```
### 2) 配置 Elastic Stack
- 将 `SIEM-Config/elasticsearch_config.yml` 中的设置应用到您的 `elasticsearch.yml`。
- 使用以下命令运行 Logstash:
```
logstash -f SIEM-Config/logstash_pipeline.conf
```
- 打开 Kibana 并为以下内容创建索引模式:
```
soc-logs-*
```
### 3) 运行模拟
#### Linux 暴力破解模拟
```
bash Attack-Simulations/brute_force_attack.sh [service]
```
示例:
```
bash Attack-Simulations/brute_force_attack.sh 192.168.1.20 admin /usr/share/wordlists/rockyou.txt ssh
```
#### Linux 数据泄露模拟
```
bash Attack-Simulations/exfiltration_attack.sh
```
示例:
```
bash Attack-Simulations/exfiltration_attack.sh ./sample_data.txt http://127.0.0.1:8080/exfiltrate
```
#### Windows 进程行为模拟
```
powershell -ExecutionPolicy Bypass -File .\Attack-Simulations\process_injection_attack.ps1
```
### 4) 测试自动化响应
#### Linux
```
sudo bash Automation-Scripts/block_ip.sh 192.168.1.101
```
#### Windows
```
powershell -ExecutionPolicy Bypass -File .\Automation-Scripts\block_ip.ps1 -IpAddress 192.168.1.101
```
### 5) 验证 SIEM 采集
```
curl "http://localhost:9200/soc-logs-*/_search?pretty"
```
然后使用 `SIEM-Config/kibana_visualization_guide.md` 构建仪表板。
## Sigma 规则与映射
- `Sigma-Rules/brute_force.yml` → MITRE ATT&CK `T1110`
- `Sigma-Rules/process_injection.yml` → 可疑的编码 PowerShell 进程行为
- `Sigma-Rules/suspicious_dns_queries.yml` → MITRE ATT&CK `T1071.004`
## 持续改进 (CI + QA)
本项目在 `.github/workflows/ci.yml` 中包含一个 CI 管道,每次推送/PR 时都会运行。
### CI 验证内容
- 脚本质量门禁 (`tools/check_scripts.py`):
- Bash 脚本包含严格模式和 shebang。
- PowerShell 脚本使用严格的错误处理。
- 检测 QA (`tools/test_detections.py`):
- Sigma 文件包含必填字段。
- `tests/data/events.jsonl` 中的测试事件会触发预期的 Sigma 规则。
### 本地运行检查
```
python -m pip install -r requirements-dev.txt
python tools/check_scripts.py
python tools/test_detections.py
```
### 这对 SOC 成熟度的意义
- 减少合并错误的检测规则。
- 使检测行为变得可测试和可重复。
- 展示超越监控层面的持续改进。
## 注意事项
- 本仓库设计为**培训/实验室 SOC 项目**,而非生产级 SOC 平台。
- 部分模拟可能会产生大量噪音。请仅在隔离的实验室环境中运行。
## 许可证
MIT 许可证 (参见 `LICENSE`)。
标签:AI合规, CI/CD安全, Conpot, DNS 反向解析, Elastic Stack, ELK, HTTP/HTTPS抓包, iptables, IPv6, IP 地址批量处理, Kibana可视化, Llama, Logstash管道, NetFirewallRule, OpenCanary, PoC, PowerShell, Sigma规则, SOC实验室, SSH蜜罐, Windows安全, 内容过滤, 安全脚本, 安全运营中心, 应用安全, 态势感知, 攻击仿真, 数据渗出, 暴力破解, 流量重放, 目标导入, 网络信息收集, 网络安全, 网络映射, 自动化响应, 越狱测试, 进程注入, 逆向工具, 防火墙规则, 隐私保护