lenoshz/soar-edr-project
GitHub: lenoshz/soar-edr-project
一个结合 EDR 与 SOAR 的自动化事件响应实验室,实现从威胁检测到自动隔离的完整流程。
Stars: 0 | Forks: 0
# 🛡️ SOAR + EDR 自动化事件响应实验室




## 📌 项目概述
现代安全运营中心(SOC)依赖 SOAR 平台来减少告警疲劳,并比人工团队更快地响应威胁。本项目在动手实验环境中实现了这一概念。
该场景模拟了使用 **LaZagne**(一种广为人知的密码恢复工具)在 Windows 10 Enterprise 端点上进行的凭据盗窃攻击。从检测到自动响应的完整流程全程无需人工干预,除非分析师做出隔离决策。
**本项目展示了:**
- 部署和配置云端托管的 Windows 端点
- 安装并注册 EDR 代理(LimaCharlie)
- 编写自定义的检测与响应(D&R)规则(YAML)
- 在 Tines 中构建多步骤 SOAR 自动化流程
- 集成 Slack 和电子邮件进行实时分析师告警
- 基于分析师输入通过 API 自动隔离端点
## 🏗️ 架构

## 🧰 工具与技术
| 工具 | 角色 | 用途 |
|---|---|---|
| **LimaCharlie** | EDR 平台 | 实时端点遥测、检测规则编写、机器隔离 API |
| **Tines** | SOAR 平台 | 无代码工作流编排(故事构建器) |
| **LaZagne** | 攻击模拟 | 开源凭证收集工具,用于触发检测 |
| **Slack** | 告警 | 向分析师发送实时频道通知 |
| **Email(Proton Mail)** | 告警 | 向分析师收件箱发送完整检测详情邮件 |
| **Azure** | 云基础设施 | 托管 Windows 10 Enterprise 目标端点 |
| **Windows 10 Enterprise** | 目标端点 | 已注册至 LimaCharlie 以进行监控的机器 |
## ⚙️ 构建内容
### 1. 云端端点设置
- 在 **Azure** 上预置 **Windows 10 Enterprise** 虚拟机
- 配置网络访问和远程控制台连接
### 2. EDR 代理注册(LimaCharlie)
- 在 LimaCharlie 中创建组织并生成安装密钥
- 通过 PowerShell 下载并静默安装 Windows 64 位传感器
- 确认代理在 LimaCharlie 仪表板中显示为 **Connected**
### 3. 攻击模拟 - LaZagne
- 在目标端点上下载 **LaZagne v2.4(lazagne.exe)**
- 通过 PowerShell 执行以模拟凭据盗窃
- 确认遥测数据在 LimaCharlie 的 **Timeline** 中以 `NEW_PROCESS` 事件形式出现
### 4. 自定义检测与响应规则
在 LimaCharlie 中编写基于 YAML 的 D&R 规则以检测 LaZagne 执行:
```
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
- case sensitive: false
op: is
path: event/HASH
value: 3cc5ee93a9ba1fc57389705283b760c8bd61f35e9398bbfa3210e2becf6d4b05
- action: report
metadata:
author: lenoshz
description: Detects LaZagne (SOAR-EDR Tool)
falsepositives:
- Legitimate security testing by authorised pen testers
- IT administrators auditing stored credentials on corporate assets
level: medium
tags:
- attack.credential_access
- attack.t1555
name: lenoshz - HackTool - LaZagne (SOAR-EDR)
```
在部署前,使用 LimaCharlie 内置规则测试器针对捕获的时间线事件进行了测试。
### 5. LimaCharlie 到 Tines 的集成
- 在 LimaCharlie 中配置 **Webhook Output**,将所有检测告警实时转发到 Tines
### 6. Tines SOAR 流程(剧本)
构建了一个多动作的 Tines 流程,包含:
1. **接收** LimaCharlie Webhook 负载
2. **解析** 关键字段:计算机名、源 IP、文件路径、命令行、传感器 ID、检测链接
3. **发送 Slack 消息** 到 `#alerts`,包含完整检测上下文
4. **发送电子邮件告警**,包含格式化的检测详情
5. **呈现分析师提示** - “是否要隔离此机器?YES / NO”
6. 如果选择 **YES**:向 LimaCharlie 隔离 API 端点发送 `POST` 请求 - 机器立即被网络隔离
7. 如果选择 **NO**:发送后续 Slack 消息确认未采取行动并记录决策
### 7. 端点隔离验证
- 确认在 Tines 流程中选择 **YES** 后,Windows 虚拟机失去网络连接
- LimaCharlie 仪表板将机器状态显示为 **Isolated**
- 后续 Slack 通知确认了隔离操作
## 📸 截图
### LimaCharlie 传感器已注册

### 时间线中的 LaZagne 遥测

### D&R 规则检测触发

### Tines 流程(剧本)

### 接收到的 Slack 告警

### 接收到的电子邮件告警

### 分析师隔离提示

### LimaCharlie 中的机器已隔离

## 🎯 展示的技能
- **安全运营** - 理解 SOC 工作流、告警分类和事件升级
- **EDR 配置** - 传感器部署、遥测分析和自定义规则编写
- **SOAR 开发** - 带有条件分支的无代码自动化流程设计
- **API 集成** - Webhook 配置和用于自动隔离的 REST API 调用
- **威胁检测逻辑** - 编写检测规则,使用进程事件、文件路径、命令行模式和文件哈希
- **云基础设施** - 在 Azure 上进行虚拟机配置和管理
- **事件响应** - 从检测到包含的端到端自动化剧本
## 📂 仓库结构
```
soar-edr-project/
│
├── README.md ← You are here
├── detection-rule.yml ← LimaCharlie D&R rule for LaZagne
└── images/
├── architect ← Architecture diagram (draw.io)
└── screenshots/ ← Project screenshots from each stage
```
标签:AMSI绕过, API隔离, DNS 解析, D&R规则, EDR, LaZagne, LimaCharlie, SEO, Slack告警, SOAR, StruQ, Tines, Windows 10, Windows Azure, YAML规则, 云主机, 关键词检索, 凭证盗窃, 多步骤自动化, 威胁检测, 安全实验室, 安全演示, 安全运营中心, 攻击模拟, 检测与响应, 端点隔离, 网络映射, 脆弱性评估, 自动化响应, 速率限制, 邮件告警, 驱动签名利用