sydahmed122/SOC-SOAR-EDR-Project
GitHub: sydahmed122/SOC-SOAR-EDR-Project
一个基于 LimaCharlie EDR 与 Tines SOAR 构建的 SOC 自动化事件响应流水线,演示从威胁检测、多渠道告警、分析师审批到端点隔离的完整闭环。
Stars: 0 | Forks: 0
# 🛡️ SOC 自动化:EDR + SOAR 集成事件响应
## 📌 概述
本项目展示了一个生产级的 SOC 自动化流水线,它将**端点检测与响应(EDR)**与**安全编排、自动化与响应(SOAR)**相结合,以最少的人工干预来处理完整的生命周期事件——包括检测、告警、分析师决策和隔离。
该工作流会自动:
1. 检测 Windows 端点上的恶意活动(通过 LaZagne 进行凭据访问)
2. 向 Slack 和电子邮件发送包含完整取证上下文的告警
3. 向分析师展示一个人工审批提示
4. 根据分析师的决定,选择**隔离端点**或**标记以供调查**
5. 验证隔离状态并通过 Slack 进行确认
## 🧰 技术栈
| 层级 | 工具 |
|---|---|
| 云基础设施 | AWS EC2 (Windows Server 2022) |
| EDR | LimaCharlie |
| SOAR | Tines |
| 告警通知 | Slack, Gmail |
| 攻击模拟 | LaZagne |
## 🏗️ 架构
```
Windows Endpoint (AWS EC2)
│
▼
LimaCharlie Sensor
(Telemetry Collection)
│
▼
Custom D&R Rule
"HackTool - Lazagne"
│
Detection Fired
│
▼
Tines Webhook ◄──── LimaCharlie Output
│
┌────┴────┐
▼ ▼
Slack Email
Alert Alert
│
▼
User Prompt
"Isolate machine?"
│
┌────┴────┐
YES NO
│ │
▼ ▼
LimaCharlie Slack
Isolate "Please
Endpoint Investigate"
│
▼
Verify Isolation
│
▼
Slack Confirmation
"Endpoint Isolated"
```
## 📸 截图
### 架构图

### LimaCharlie — 传感器在线

### LimaCharlie — 端点详情(隔离前)

### LimaCharlie — 时间线:捕获到 LaZagne 执行

### 在 Windows 端点上运行的 LaZagne

### LimaCharlie — 自定义 D&R 规则 (SOC-EDR-Rule)

### LimaCharlie — 触发检测

### LimaCharlie — 端点已隔离

### Tines — 用户提示(分析师审批表单)

### Tines — 完整的 SOAR 工作流

### Tines — Webhook 事件与检测 Payload

### Tines — Slack 操作配置

### Slack — 接收到检测告警

### Gmail — 接收到电子邮件告警

## ⚙️ 设置与实现
### 1. AWS 端点部署
- 部署了一个 **Windows Server 2022** EC2 实例(`t3.small`)
- 启用了 RDP 访问,并分配了公网 IP
- 将主机重命名为 `corp-windows-client01`,以模拟企业工作站
### 2. LimaCharlie EDR 设置
- 创建了一个新的 LimaCharlie 组织
- 下载并在该 EC2 实例上安装了 **Windows x64 传感器**
- 传感器成功注册——遥测数据流立即开始传输(进程创建、网络活动、CLI 事件)
### 3. 攻击模拟
在端点上执行了 **LaZagne**(`LaZagne.exe all`)来模拟凭据访问攻击。这触发了:
- 进程创建事件
- 对 Windows 凭据存储的访问
- 系统主密钥解密尝试
### 4. 检测工程
在 LimaCharlie 中创建了自定义的 **D&R(检测与响应)规则**:
```
# 检测
events:
- NEW_PROCESS
- EXISTING_PROCESS
op: and
rules:
- op: is windows
- op: or
rules:
- case sensitive: false
op: ends with
path: event/FILE_PATH
value: LaZagne.exe
- case sensitive: false
op: contains
path: event/COMMAND_LINE
value: LaZagne
# 响应
action: report
metadata:
author: Windows-Client
description: TEST - Detects Lazagne Usage
falsepositives:
- ToTheMoon
level: high
tags:
- attack.credential_access
name: HackTool - Lazagne
```
### 5. Tines SOAR 工作流
构建了一个包含以下节点的 **Tines Story**:
| 节点 | 类型 | 用途 |
|---|---|---|
| Retrieve Detections | Webhook | 接收 LimaCharlie 检测 |
| Send a message | Slack | 在 `#detection-alerts` 中向分析师告警 |
| Send Email Action | Email | 通过 Gmail 发送通知 |
| User Prompt | Page | 分析师审批关卡 |
| Yes (Condition) | Condition | 路由至隔离操作 |
| No (Condition) | Condition | 路由至调查操作 |
| Isolate Sensor | HTTP Request | LimaCharlie API — 隔离端点 |
| Get Isolation Status | HTTP Request | 验证隔离状态 |
| Send a message (final) | Slack | 确认隔离 |
### 6. 告警内容
每个告警(Slack + 电子邮件)都包含:
```
Title: HackTool - Lazagne
Time:
Computer: corp-windows-client01.ec2.internal
Source IP: 172.31.69.211
Username: CORP-WINDOWS-CL\Administrator
File Path: C:\Users\Administrator\Downloads\LaZagne (1).exe
Command Line: "C:\Users\Administrator\Downloads\LaZagne (1).exe" all
Sensor ID: 89fec01b-b7f1-4569-a973-bb659ad42f12
Detection Link: https://app.limacharlie.io/...
```
## 🔁 工作流决策逻辑
```
Analyst receives Slack + Email alert
│
▼
Opens User Prompt
(Tines web page)
│
┌──────┴──────┐
│ │
YES NO
│ │
▼ ▼
Isolate Slack msg:
Endpoint "Not isolated.
│ Please investigate."
▼
Verify
Isolation
│
▼
Slack msg:
"Endpoint isolated."
```
## ✅ 结果
| 目标 | 状态 |
|---|---|
| 检测到 LaZagne 执行 | ✅ |
| 触发自定义 D&R 规则 | ✅ |
| Slack 告警成功送达 | ✅ |
| 电子邮件告警成功送达 | ✅ |
| 分析师审批提示功能正常 | ✅ |
| 通过 API 隔离端点 | ✅ |
| 隔离状态验证 | ✅ |
| Slack 确认消息已发送 | ✅ |
## 🧠 展示的技能
- **检测工程** — 自定义 YAML D&R 规则、进程监控、命令行分析
- **EDR** — LimaCharlie 传感器部署、遥测分析、基于 API 的主机隔离
- **SOAR** — Tines 工作流自动化、条件分支、人机交互审批关卡
- **事件响应** — 检测 → 分析 → 阻断 → 验证 生命周期
- **云安全** — AWS EC2 部署、Windows 端点强化概念
- **SOC 运营** — 告警分类、多渠道通知、分析师工作流
## 🔮 未来增强功能
- [ ] VirusTotal 哈希信誉查询
- [ ] AbuseIPDB IP 丰富化
- [ ] Jira/ServiceNow 工单自动创建
- [ ] Microsoft Teams 集成
- [ ] 多主机隔离支持
- [ ] 自动化 IOC 提取
- [ ] SIEM 集成 (Splunk / Microsoft Sentinel)
- [ ] 恶意软件沙箱引爆
- [ ] 威胁情报丰富化 (MISP)
## 📁 项目结构
```
SOC-SOAR-EDR-Project/
├── README.md
├── detection-rules/
│ └── hacktool-lazagne.yaml # LimaCharlie D&R rule
├── tines-workflows/
│ └── soc-edr-story.json # Exported Tines story
└── screenshots/
├── soar_edr_1.png - Architecture diagram
├── soar_edr_2.png - Sensor list
├── soar_edr_3.png - Endpoint pre-isolation
├── soar_edr_4.png - Timeline (LaZagne captured)
├── soar_edr_5.png - LaZagne execution
├── soar_edr_6.png - D&R rule
├── soar_edr_7.png - Detection fired
├── soar_edr_8.png - Endpoint isolated
├── soar_edr_9.png - Tines user prompt
├── soar_edr_10.png - Tines full workflow
├── soar_edr_11.png - Tines webhook events
├── soar_edr_12.png - Slack action config
├── soar_edr_13.png - Slack alert received
└── soar_edr_14.png - Email alert received
```
## 🔗 参考
- [LimaCharlie 文档](https://docs.limacharlie.io/)
- [Tines 文档](https://www.tines.com/docs)
- [LaZagne 项目](https://github.com/AlessandroZ/LaZagne)
- [MITRE ATT&CK — 凭据访问](https://attack.mitre.org/tactics/TA0006/)
## 👤 作者
**Syed Mujtaba Ahmed**
- SOC 自动化 | 检测工程 | 云安全
*构建为现代 SOC 自动化实践的实战演示。*
标签:AWS, DPI, Python脚本, SOAR自动化, 安全运营中心(SOC), 端点检测与响应(EDR), 网络安全, 自动化运维, 隐私保护