JimProKing/aegis-cortex
GitHub: JimProKing/aegis-cortex
一款纯离线的防御型多源日志威胁狩猎引擎,通过关联分析多源安全日志与 IOC 数据来还原入侵 kill chain 并生成 MITRE ATT&CK 映射报告。
Stars: 0 | Forks: 0
# Aegis Cortex
**防御导向的多源威胁狩猎引擎**
日志关联分析 · IOC 匹配 · MITRE ATT&CK 映射 · 分析师专用报告
[](https://www.python.org/downloads/)
[](LICENSE)
[](#安全与伦理)
## 一句话简介
通过对多种安全日志(认证、防火墙、代理、DNS、EDR)和 IOC feed 进行关联分析,
重构**入侵 kill chain 故事**,
并生成附带 MITRE ATT&CK 映射和响应建议的**离线防御型**检测引擎。
原本以为日志只要收集起来就够了,但实际查看时发现噪音太多,
相比于单一签名,我觉得**通过关联分析将故事串联起来**更有趣,所以开发了它。
## 开发动机
- 将异构日志**标准化为统一的事件模型**
- 不是单一告警,而是通过**关联** 降低噪音
- 希望将结果以 **ATT&CK / 响应建议** 的形式整理出来
Aegis Cortex 用一个小巧的代码库再现了这一流程。
```
합성 APT성 시나리오 (번들 제공)
패스워드 스프레이 → 계정 탈취 → 인코딩 PowerShell →
드로퍼 해시 → 주기적 C2 비콘 → 프록시 유출
│
▼
Aegis Cortex
│
▼
Critical 캠페인 경보 + 원자 탐지 + 리포트
```
## 快速运行
```
git clone https://github.com/JimProKing/aegis-cortex.git
cd aegis-cortex
# 选择: 安装
pip install -e ".[dev]"
# 离线 Demo(无外部网络)
$env:PYTHONPATH="src"
python -m aegis_cortex demo
```
免安装运行:
```
cd aegis-cortex
$env:PYTHONPATH="src"
python -m aegis_cortex demo
```
### 自定义狩猎
日志必须是符合以下标头的**标准化 CSV**。
```
timestamp,source,host,user,action,src_ip,dst_ip,dst_port,domain,process,file_hash,status
```
```
$env:PYTHONPATH="src"
python -m aegis_cortex hunt `
--logs data/sample_logs/auth.csv data/sample_logs/firewall.csv `
--iocs data/ioc/threat_feed.json `
--json-out out/report.json `
--md-out out/report.md
```
| 退出代码 | 含义 |
|-----------|------|
| 0 | 无告警 |
| 1 | 存在告警 |
| 2 | 包含 **Critical** 告警 |
## Demo 展示的 Kill Chain
基于主机 `ws-finance-07` / 账户 `jkim` 的合成场景:
| 阶段 | 检测内容 | MITRE 示例 |
|------|------|------------|
| 凭据获取 | 外部 IP password spray | T1110.001 / T1110.003 |
| 执行/提权 | 编码 PowerShell, token 模拟 | T1068 / T1134 |
| C2 | 低 jitter 的 5 分钟周期 beacon | T1071 / T1573 |
| 数据窃取 | 代理上传 burst | T1041 / T1567 |
| 攻击活动 | 基于主机/用户的多阶段关联 | T1078 + … |
IP、域名和哈希值均为**合成数据**。不包含任何真实的受害者数据或攻击代码。
## 架构
```
CSV 로그 ──► 수집/정규화 ──► DetectionEngine ──► 순위/중복제거 ──► 리포트
IOC JSON ────────────────────────────────────┘
```
| 模块 | 职责 |
|------|------|
| `ingest/` | CSV + IOC JSON → 领域模型 |
| `detectors/rules.py` | 可进行单元测试的检测函数 |
| `detectors/engine.py` | 编排、去重、严重性排序 |
| `report/` | 控制台 / JSON / Markdown |
| `cli.py` | `demo`, `hunt` 入口点 |
详细内容:[docs/architecture.md](docs/architecture.md)
```
aegis-cortex/
├── src/aegis_cortex/
│ ├── cli.py
│ ├── models.py
│ ├── ingest/
│ ├── detectors/
│ └── report/
├── data/
│ ├── sample_logs/
│ └── ioc/threat_feed.json
├── tests/
├── docs/architecture.md
├── README.md
└── README.en.md
```
## 检测规则
| 规则 | 描述 |
|------|------|
| 暴力破解 / spray | 短时间内多次认证失败 |
| Beaconing | 低 jitter 的周期性外部通信 |
| 权限提升 | 可疑的权限提升或编码脚本 |
| IOC 匹配 | 匹配 IP / domain / hash feed |
| 代理数据窃取 | 短时间内的大量上传/POST |
| Kill-chain 关联 | 基于主机/用户的多阶段攻击活动 |
## 测试
```
pip install pytest
$env:PYTHONPATH="src"
pytest -q
```
## 设计原则
1. **仅用于防御** — 检测、关联、报告。不包含攻击或利用功能
2. **以证据为中心** — 每个告警都包含 evidence 事件
3. **共同语言** — MITRE ATT&CK ID 映射
4. **抑制噪音** — 关联 + 去重
5. **可复现** — 无需运行时外部依赖,离线 demo
6. **可扩展** — 规则 = 纯函数 + 单元测试
## 安全与伦理
此存储库用于**防御研究和检测规则实验**。
- 请勿用于未经授权的系统攻击。
- 样本 IOC/域名/IP 均为虚拟值。
- 如果应用于真实环境,请仅使用您有权处理的日志。
## License
MIT — [LICENSE](LICENSE)
# Aegis Cortex (英文版)
**防御导向的多源威胁狩猎引擎**
日志关联分析 · IOC 匹配 · MITRE ATT&CK 映射 · 分析师专用报告
## 概述
Aegis Cortex 将多源安全日志(认证、防火墙、代理、DNS、EDR)与 IOC feed 进行关联分析,重构多阶段入侵故事,并生成附带 MITRE ATT&CK 映射和响应建议的分级告警。
纯离线演示。不进行任何外部网络调用。所有样本数据均为合成数据。
## 快速开始
```
git clone https://github.com/JimProKing/aegis-cortex.git
cd aegis-cortex
pip install -e ".[dev]" # optional
export PYTHONPATH=src # Windows: $env:PYTHONPATH="src"
python -m aegis_cortex demo
```
### 狩猎自定义日志
标准化 CSV 标头:
```
timestamp,source,host,user,action,src_ip,dst_ip,dst_port,domain,process,file_hash,status
```
```
python -m aegis_cortex hunt \
--logs data/sample_logs/auth.csv data/sample_logs/firewall.csv \
--iocs data/ioc/threat_feed.json \
--json-out out/report.json \
--md-out out/report.md
```
| 退出代码 | 含义 |
|-----------|---------|
| 0 | 无告警 |
| 1 | 存在告警 |
| 2 | 至少包含一个 **Critical** 告警 |
## Demo Kill Chain
基于 `ws-finance-07` / 用户 `jkim` 的合成故事:
| 阶段 | 检测内容 | MITRE(示例) |
|-------|-----------|------------------|
| 凭据获取 | 来自外部 IP 的 password spray | T1110.001 / T1110.003 |
| 执行/提权 | 编码 PowerShell, token 模拟 | T1068 / T1134 |
| C2 | 低 jitter 的 5 分钟 beacon | T1071 / T1573 |
| 数据窃取 | 代理上传 burst | T1041 / T1567 |
| 攻击活动 | 基于主机/用户的多阶段关联 | T1078 + … |
## 架构
```
CSV logs ──► Ingest/normalize ──► DetectionEngine ──► rank/dedupe ──► reports
IOC JSON ─────────────────────────────────────┘
```
详情请参阅 [docs/architecture.md](docs/architecture.md)。
## 设计原则
1. **仅用于防御** — 检测、关联、报告。不包含利用工具。
2. **证据链** — 每个告警都携带支撑性事件。
3. **共同语言** — 检测项包含 MITRE ATT&CK ID。
4. **噪音控制** — 关联 + 去重。
5. **可复现** — 标准库运行时,离线演示,确定性排序。
6. **可扩展** — 规则是纯函数 + 单元测试。
## 安全与伦理
仅用于防御研究和检测工程实践。
- 请勿在未经授权的情况下攻击系统。
- 样本 IOC 均为虚构。
- 仅处理您有权使用的遥测数据。
## License
MIT — 请参阅 [LICENSE](LICENSE)。
标签:Homebrew安装, IOC匹配, IP 地址批量处理, Python, 安全, 安全规则引擎, 无后门, 日志关联分析, 红队行动, 网络信息收集, 超时处理, 逆向工具