CyberEnthusiastic/itdr-engine
GitHub: CyberEnthusiastic/itdr-engine
一款零依赖的Python身份威胁检测引擎,通过九条行为规则分析身份事件日志并生成带MITRE ATT&CK映射和风险评分的交互式HTML告警报告。
Stars: 1 | Forks: 0
# ITDR Engine -- 身份威胁检测与响应
[](./LICENSE)
[](https://www.python.org/downloads/)
[-brightgreen.svg)]()
[](https://attack.mitre.org/)
## 功能
摄入身份事件日志(身份验证、权限变更、访问模式),并运行 9 条行为检测规则,以标记受损账户、内部威胁以及基于身份的攻击。每个警报都映射到 MITRE ATT&CK 技术,并提供风险评分和响应建议。
```
============================================================
ITDR Engine v1.0 -- Identity Threat Detection & Response
============================================================
[*] Events analyzed : 36
[*] Alerts generated : 11
[*] Users flagged : 5
[*] Avg risk score : 90.0
[*] Severity : {'CRITICAL': 7, 'HIGH': 3, 'MEDIUM': 1}
[CRITICAL] Impossible Travel (T1078) -- john.doe@corp.com, risk 95
London -> Tokyo in 47 min (14,200 km)
[CRITICAL] MFA Fatigue (T1621) -- jane.smith@corp.com, risk 92
12 MFA pushes in 3 min, then approved
[CRITICAL] Privilege Escalation (T1078.004) -- contractor@corp.com, risk 98
Global Admin granted at 02:47 AM outside change window
```
## 截图(在本地运行,零配置)
**终端输出** - 您在命令行中看到的确切内容:

**交互式 HTML 仪表盘** - 可在任何浏览器中打开,支持暗黑模式和过滤功能:

这两张截图均截自针对捆绑样本的真实本地运行。使用下面的快速启动命令即可复现。
## 为什么选择这款工具
| | **ITDR Engine** | CrowdStrike ITP | Entra ID Protection | Semperis |
|---|---|---|---|---|
| **价格** | 免费 (MIT) | $$$$ | $$$$ (E5 license) | $$$$ |
| **运行时依赖** | **无** -- 纯标准库 | 云代理 | Azure AD | 集成 AD |
| **安装时间** | `git clone && python itdr.py` | 数周 | Azure 设置 | 数周 |
| **自托管** | 是 | 否 (SaaS) | 否 (SaaS) | 本地部署 |
| **MITRE ATT&CK 映射** | 每个警报均提供 | 是 | 有限 | 是 |
| **检测能力** | 9 条行为规则 | 专有 | 基于风险 | 专注于 AD |
| **风险评分** | 每个警报 0-100 | 专有 | 低/中/高 | 专有 |
## 60 秒快速启动
```
git clone https://github.com/CyberEnthusiastic/itdr-engine.git
cd itdr-engine
python itdr.py
```
### 一键安装程序
```
./install.sh # Linux / macOS / WSL / Git Bash
.\install.ps1 # Windows PowerShell
```
## 9 条检测规则(已映射至 MITRE ATT&CK)
| ID | 检测项 | 严重程度 | MITRE ATT&CK | 捕获内容 |
|----|-----------|----------|--------------|-----------------|
| ITDR-001 | 不可能旅行 | 严重 | T1078 | 在短于旅行所需时间内从两个相距甚远的位置登录 |
| ITDR-002 | 暴力破解 | 严重 | T1110 | 反复登录失败后成功登录 |
| ITDR-003 | MFA 疲劳攻击 | 严重 | T1621 | 快速连续发送 MFA 推送骚扰直到用户接受 |
| ITDR-004 | 权限提升 | 严重 | T1078.004 | 在变更窗口之外授予管理员权限 |
| ITDR-005 | 持久化 | 高 | T1098 | 向服务账户添加了新凭据或密钥 |
| ITDR-006 | 横向移动 | 高 | T1021 | 单一身份在短时间内访问多个系统 |
| ITDR-007 | 数据窃取 | 高 | T1567 | 批量下载或异常的数据访问模式 |
| ITDR-008 | 休眠账户激活 | 中 | T1078.001 | 非活动账户(90 天以上)突然活跃 |
| ITDR-009 | 服务账户异常 | 严重 | T1078.001 | 服务账户被交互式使用或从新 IP 使用 |
## 如何运行
```
# 针对示例事件运行完整检测引擎
python itdr.py
# Windows
python itdr.py
start reports\itdr_report.html
# macOS
python itdr.py
open reports/itdr_report.html
# Linux
python itdr.py
xdg-open reports/itdr_report.html
```
## 如何卸载
```
./uninstall.sh # Linux / macOS / WSL / Git Bash
.\uninstall.ps1 # Windows PowerShell
```
## 项目布局
```
itdr-engine/
├── itdr.py # main engine -- 9 behavioral detections + risk scorer
├── report_generator.py # HTML report builder
├── data/
│ └── identity_events.json # sample identity events (36 events, 5 users)
├── reports/ # generated HTML reports (gitignored)
├── .vscode/ # extensions.json, settings.json
├── Dockerfile # containerized runs
├── install.sh # installer (Linux/Mac/WSL)
├── install.ps1 # installer (Windows)
├── uninstall.sh # uninstaller (Linux/Mac/WSL)
├── uninstall.ps1 # uninstaller (Windows)
├── requirements.txt # empty -- pure stdlib
├── LICENSE # MIT
├── NOTICE # attribution
├── SECURITY.md # vulnerability disclosure
└── CONTRIBUTING.md # how to send PRs
```
## 许可证
MIT。详见 [LICENSE](./LICENSE) 和 [NOTICE](./NOTICE)。
由 **[Mohith Vasamsetti (CyberEnthusiastic)](https://github.com/CyberEnthusiastic)** 作为 [AI Security Projects](https://github.com/CyberEnthusiastic?tab=repositories) 套件的一部分构建。
标签:Cloudflare, HTML仪表板, ITDR, MFA疲劳攻击, MITRE ATT&CK, Python, 不可能旅行, 内部威胁, 协议分析, 多模态安全, 安全分析引擎, 无后门, 权限提升, 红队行动, 网络安全, 请求拦截, 账户接管, 身份威胁检测与响应, 身份安全, 逆向工具, 隐私保护, 零依赖