thyme87l-star/identity-attack-killchain-workshop
GitHub: thyme87l-star/identity-attack-killchain-workshop
围绕五种现代身份攻击手法提供 34 条 Sentinel KQL 检测规则的实战演练教材,帮助安全团队快速建立身份攻击检测与响应能力。
Stars: 0 | Forks: 0
# Identity 攻击杀伤链(Kill Chain)实战演练
这是一个实战演练教材仓库,旨在通过体验 5 种最新的 Identity 攻击手法,掌握使用 KQL(Kusto Query Language)开发 Sentinel 检测规则的技能。
## 概述
| 阶段 | 攻击手法 | MITRE ATT&CK | 检测规则数 |
|---|---|---|---|
| 1 | Device Code Phishing | T1528, T1566.002, T1550.001 | 2 |
| 2 | OAuth Consent Phishing | T1566.002, T1528, T1098.001 | 5 |
| 3 | AiTM Phishing (Evilginx) | T1557, T1539, T1550.004 | 5 |
| 4 | Teams Impersonation + LOLBins | T1566.003, T1219, T1574, T1021.006, T1567 | 17 |
| 5 | Phone Link MFA Hijack | T1111, T1005, T1041, T1048.003 | 5 |
| **合计** | | **18 项 MITRE 技术** | **34 条规则** |
## 仓库结构
```
├── README.md
├── LICENSE
├── kql/
│ ├── phase1-device-code/ # Phase 1: Device Code Phishing(2 ルール)
│ ├── phase2-oauth-consent/ # Phase 2: OAuth Consent Phishing(5 ルール)
│ ├── phase3-aitm/ # Phase 3: AiTM Phishing(5 ルール)
│ ├── phase4-teams-lolbins/ # Phase 4: Teams + LOLBins(3 ルール ※代表)
│ └── phase5-phone-link/ # Phase 5: Phone Link MFA Hijack(5 ルール)
├── deploy/
│ └── deploy_all_rules.py # Sentinel 一括デプロイスクリプト
└── docs/
└── mitre-mapping.md # MITRE ATT&CK マッピング
```
## 快速入门
### 1. 检查检测规则
每个阶段的文件夹中都存放有 KQL 文件。可以直接在 Log Analytics 工作区中执行。
```
# 例: Phase 1 の Device Code サインイン検知
cat kql/phase1-device-code/device-code-signin.kql
```
### 2. 批量部署到 Sentinel
```
# Azure 認証
az login
# 全ルールを一括デプロイ
python deploy/deploy_all_rules.py \
--subscription-id \
--resource-group \
--workspace-name
```
### 3. 部署后的验证
1. 前往 **Sentinel** → **分析** → **活动规则**,确认所有规则均已启用(Enabled)
2. 对每个规则执行“立即运行”,确认 KQL 能够正常解析
3. 在 1-2 周的调优期间检查 FP(误报)
## 前提条件
- 已启用 Microsoft Sentinel 的 Log Analytics 工作区
- 已启用以下数据连接器:
- Microsoft Entra ID (SigninLogs, AuditLogs)
- Microsoft Defender for Endpoint (DeviceProcessEvents, DeviceNetworkEvents, DeviceEvents, DeviceFileEvents)
- Microsoft Graph Activity Logs (MicrosoftGraphActivityLogs)
- Log Analytics Contributor 及以上的 RBAC 权限
- Python 3.8+ 及 `azure-identity`、`requests` 包(用于部署脚本)
## 自定义设置
各 KQL 文件可以直接作为 Sentinel Analytics Rule 使用,但请根据实际环境对以下内容进行自定义调整:
- **排除列表**:合法的 CLI 工具名称、已知的应用 ID 等
- **阈值**:检测灵敏度(例如:探测命令的爆发频率)
- **严重性**:根据环境的风险特征进行调整
## MITRE ATT&CK 覆盖范围
本实战演练的检测规则涵盖了以下 MITRE ATT&CK 战术:
- **Initial Access(初始访问)**:T1566.002, T1566.003
- **Credential Access(凭证访问)**:T1528, T1539, T1111
- **Defense Evasion(防御规避)**:T1550.001, T1550.004, T1036, T1574
- **Discovery(发现)**:T1087.004
- **Collection(收集)**:T1114.002, T1005
- **Lateral Movement(横向移动)**:T1021.006, T1219
- **Exfiltration(数据外发)**:T1567, T1048.003, T1041
- **Persistence(持久化)**:T1098.001
详情请参阅 [docs/mitre-mapping.md](docs/mitre-mapping.md)。
## 许可证
MIT License — 详情请参阅 [LICENSE](LICENSE)。
## 注意事项
- 本仓库中的攻击手法和脚本仅供**教育与验证目的**使用
- 未经授权对第三方系统执行攻击手法是法律所禁止的
- 检测规则请务必在测试环境中验证后,再部署到生产环境
标签:AiTM, API接口, Azure, Cloudflare, Evilginx, HTTP工具, IAM, Identity Attack Kill Chain, KQL, Kusto Query Language, LOLBins, MFA Bypass, Microsoft Sentinel, MITRE ATT&CK, OAuth钓鱼, Object Callbacks, SecOps, 中间人钓鱼, 云安全架构, 协议分析, 多因素身份验证绕过, 安全运营, 扫描框架, 攻击与防御, 攻杀链, 数据窃取, 权限提升, 横向移动, 特权提升, 编程规范, 网络安全, 网络钓鱼, 自动化部署, 设备代码钓鱼, 身份与访问管理, 逆向工具, 隐私保护