Bikash-Raya/Sentinel-Defender-XDR-SOC-Incident-Response-lab
GitHub: Bikash-Raya/Sentinel-Defender-XDR-SOC-Incident-Response-lab
该项目是一个 SOC 安全运营实验,通过模拟 RDP 暴力破解攻击,演示如何使用 Microsoft Sentinel 和 Defender XDR 完成端到端的威胁检测与事件响应。
Stars: 0 | Forks: 0
# Sentinel-Defender-XDR-SOC-Incident-Response-lab
# 🛡️ Microsoft Sentinel & Defender XDR – SOC Incident Response Lab:暴力破解攻击检测与响应



**编写者:** Bikash Raya
**项目类型:** SOC Lab — 暴力破解攻击模拟、检测、分析规则创建与 Incident Response
## 📁 仓库结构
| 文件 | 描述 |
| --- | --- |
| [Sentinel_Defender_SOC_IR_Lab_Report.pdf](./Sentinel_Defender_SOC_IR_Lab_Report.pdf) | 包含所有截图的完整实验报告 |
| README.md | 项目概述 |
## 📋 概述
本仓库记录了一个完整的**端到端 SOC Incident Response 实验**,使用了 **Microsoft Sentinel** 和 **Microsoft Defender XDR 统一门户**。该实验模拟了一个真实的攻击场景:一台暴露在互联网上的 Windows Server 遭到 RDP 暴力破解攻击,通过自定义 KQL 分析规则进行检测,并使用 Defender XDR 的 Incident 管理工作流进行响应。
该实验涵盖:
* 🏗️ 在 Azure 中部署了 **Resource Group、Windows Server VM (Web01)** 和 **Ubuntu Attacker VM**
* 🔓 在 Web01 上配置了故意存在漏洞的 **NSG inbound 规则 (Any/Any/* )** 并**禁用了 Windows 防火墙**
* 📊 创建了 **Log Analytics Workspace (Bik-SOC-Lab)** 并接入了 **Microsoft Sentinel**
* 🔌 安装了 **Windows Security Events via AMA** 数据连接器并创建了 **Data Collection Rule**
* ⚔️ 从 AttackerVM 使用 **Hydra** 和真实的密码列表发起了 **RDP 暴力破解攻击**
* 🔍 在 **Sentinel 中使用 KQL** 验证了攻击日志(事件 ID 4624/4625 — 失败 + 成功的登录)
* 🚨 创建了映射到 **MITRE ATT&CK T1110** 的**计划分析规则**,该规则生成了一个高危 Incident
* 🛡️ 在 **Defender XDR 统一门户**中调查了 **Incident ID 18**
* 📋 执行了模拟的**Incident Response**:分配任务、记录调查过程并关闭 Incident
## 🛠️ 使用的技术
* Microsoft Azure (Azure Portal)
* Microsoft Sentinel
* Microsoft Defender XDR (security.microsoft.com — 统一门户)
* Microsoft Defender for Cloud
* Log Analytics Workspace
* Windows Security Events via AMA (Data Connector)
* Data Collection Rule (DCR)
* KQL (Kusto Query Language)
* Hydra v9.5 (THC-Hydra — RDP 暴力破解工具)
* Azure Bastion (安全的 VM 访问)
* MITRE ATT&CK Framework
* Ubuntu 24.04 LTS (Attacker VM)
* Windows Server 2022 Datacenter (Victim VM)
## 🧪 实验环境
| 组件 | 详情 |
| --- | --- |
| Resource Group | Security-BikSecOps (Australia East) |
| Victim VM | Web01 -- Windows Server 2022 Datacenter (Standard D2s v3) |
| Victim 公网 IP | 20.5.48.127 |
| NSG Inbound 规则 | Any / Any / * / Allow (优先级 100 -- 名称: Dangerous) |
| Windows 防火墙 | 在 Web01 上禁用 (公共 + 私有配置文件) |
| Attacker VM | AttackerVM -- Ubuntu 24.04 LTS |
| 攻击工具 | Hydra v9.5 (THC-Hydra) |
| Log Analytics Workspace | Bik-SOC-Lab (australiaeast) |
| SIEM | Microsoft Sentinel |
| 统一门户 | Microsoft Defender XDR |
| 数据连接器 | Windows Security Events via AMA |
| DCR 名称 | SecurityEventsforAzureVM -- All Events |
## 🌐 实验架构
```
[AttackerVM -- Ubuntu 24.04]
│
│ Hydra RDP Brute Force
│ rdp://20.5.48.127:3389
▼
[Web01 -- Windows Server 2022]
NSG: Any/Any/* Allow
Firewall: OFF
Public IP: 20.5.48.127
│
│ Windows Security Events (4624, 4625)
│ via AMA + DCR (SecurityEventsforAzureVM)
▼
[Log Analytics Workspace -- Bik-SOC-Lab]
│
│ Microsoft Sentinel ingests logs
▼
[Microsoft Sentinel -- Analytics Rule]
Rule: Successful Brute Force Attempt
KQL: EventID 4624/4625 | summarize by TargetUserName, IpAddress
Trigger: FailedAttempts >= 7 AND SuccessAttempts > 0 AND SuccessTime > LastFailed
│
│ Alert --> Incident Created
▼
[Microsoft Defender XDR -- Incident ID 18]
Severity: High | Status: Active --> Resolved
Entity: bikashsoc1 | IP: 20.70.152.193
Task: User/Host Review | Classification: Expected Activity
```
## 🔬 实验阶段
### 阶段 1 — 基础设施部署
- 创建了 Resource Group **Security-BikSecOps** (Australia East)
- 部署了 **Web01** (Windows Server 2022),并配置了故意不安全的 NSG:
- Inbound 规则: 源 Any / 目标 Any / 端口 * / 操作 Allow / 名称: **Dangerous**
- RDP 登录到 Web01 并**禁用了 Windows Defender 防火墙** (公共 + 私有配置文件)
- 在同一个 Resource Group 中部署了 **AttackerVM** (Ubuntu 24.04 LTS)
### 阶段 2 — Sentinel & Log Analytics 设置
- 创建了 Log Analytics Workspace:**Bik-SOC-Lab** (australiaeast)
- 将 Bik-SOC-Lab 添加到 **Microsoft Sentinel**
- 从 Content Hub 安装了 **Windows Security Events** 解决方案
- 创建了 Data Collection Rule **SecurityEventsforAzureVM**:
- 资源: Web01
- 事件: All Events
### 阶段 3 — 攻击模拟 (Hydra RDP 暴力破解)
通过 **Azure Bastion** 连接到 AttackerVM,然后执行:
```
sudo apt update
sudo apt install hydra
```
下载了常见的密码列表,并添加了正确的密码以保证登录成功:
```
wget raw.githubusercontent.com/danielmiessler/SecLists/refs/heads/master/Passwords/Common-Credentials/2025-199_most_used_passwords.txt
nano 2025-199_most_used_passwords.txt # added: bikashsoc123
```
发起 RDP 暴力破解攻击:
```
hydra -l bikashsoc1 -P 2025-199_most_used_passwords.txt -t 1 -W 5 rdp://20.5.48.127:3389
```
**结果:** `1 of 1 target successfully completed. 1 valid password found` — 尝试了 199 次,密码被破解。
### 阶段 4 — KQL 威胁狩猎与日志验证
在 Sentinel 日志中使用 KQL 验证了攻击:
```
SecurityEvent
| where TimeGenerated > ago(15m)
| where EventID in (4624, 4625)
| summarize
FailedAttempts = countif(EventID == 4625),
SuccessAttempts = countif(EventID == 4624),
FirstFailure = minif(TimeGenerated, EventID == 4625),
LastSuccess = maxif(TimeGenerated, EventID == 4624)
by TargetUserName, IpAddress
| where FailedAttempts >= 7
| where SuccessAttempts > 0
| where LastSuccess > FirstFailure
```
**查询结果:**
| TargetUserName | IpAddress | FailedAttempts | SuccessAttempts | FirstFailure | LastSuccess |
| --- | --- | --- | --- | --- | --- |
| bikashsoc1 | 20.70.152.193 | 7 | 1 | 6/22/2026 1:53:24 AM | 6/22/2026 1:54:00 AM |
✅ 日志中确认了暴力破解攻击 — 同一个 IP 先进行了 7 次失败的登录,随后进行了 1 次成功的登录。
### 阶段 5 — 分析检测规则
在 Microsoft Sentinel 中(通过 Defender XDR 统一门户)创建了一个**计划分析规则**:
| 属性 | 值 |
| --- | --- |
| 规则名称 | Successful Brute Force Attempt |
| 严重性 | High |
| 状态 | Enabled |
| MITRE Tactics | Credential Access \| Initial Access |
| MITRE Techniques | T1110 \| T1110.001 \| T1110.003 \| T1078 |
| 运行频率 | Every 5 minutes |
| 回溯周期 | Last 5 hours |
| 实体映射 | Account: TargetUserName \| IP: IpAddress |
**分析规则 KQL:**
```
SecurityEvent
| where EventID in (4624, 4625)
| where LogonType in (2, 3, 10)
| summarize
FailedAttempts = countif(EventID == 4625),
SuccessAttempts = countif(EventID == 4624),
LastFailed = maxif(TimeGenerated, EventID == 4625),
SuccessTime = maxif(TimeGenerated, EventID == 4624)
by TargetUserName, IpAddress
| where FailedAttempts >= 5
| where SuccessAttempts > 0
| where SuccessTime > LastFailed
| project TargetUserName, IpAddress, FailedAttempts, SuccessAttempts, LastFailed, SuccessTime
| order by SuccessTime desc
```
### 阶段 6 — Incident 检测与响应 (Defender XDR)
在 Microsoft Defender XDR 中自动生成了 **Incident ID 18**:
| 属性 | 值 |
| --- | --- |
| Incident 标题 | Successful Brute Force Attempt involving one user |
| 严重性 | 🔴 High |
| 状态 | Active → Resolved |
| 活动 Alert | 2/2 |
| 受影响用户 | bikashsoc1 |
| 攻击源 IP | 20.70.151.193 |
| 首次活动 | Jun 22, 2026 7:57 AM |
| Workspace | Bik-SOC-Lab |
**已创建调查任务:**
- 任务名称: User / Host Review
- 受影响账号: bikashsoc1 (Privileged)
- 受影响主机: Web01 (Production / External Facing)
**建议的遏制措施:**
- 禁用受影响的账号
- 重置账号密码
- 撤销活动的会话
- 封锁源 IP 地址
- 如果确认遭到入侵,隔离受影响的主机
- 如果确认存在恶意活动,升级上报给 DFIR 团队
**Incident 已关闭:**
## 🎯 展示的技能
* Microsoft Sentinel 部署与配置
* Azure VM 部署与 NSG 配置
* Log Analytics Workspace 与 DCR 设置
* Windows Security Events via AMA 数据连接器
* KQL 威胁狩猎 (SecurityEvent 表 — 事件 ID 4624/4625)
* 自定义计划分析规则创建
* MITRE ATT&CK Framework 映射 (T1110, T1078)
* Microsoft Defender XDR 统一门户
* Incident 分类、调查与响应
* RDP 暴力破解模拟
* Linux CLI 与 Azure Bastion
* SOC Tier 1/2 端到端工作流
## 🎯 关键要点标签:KQL, Microsoft Defender XDR, Microsoft Sentinel, 免杀技术, 安全实验, 暴力破解检测