JimProKing/aegis-cortex

GitHub: JimProKing/aegis-cortex

一款纯离线的防御型多源日志威胁狩猎引擎,通过关联分析多源安全日志与 IOC 数据来还原入侵 kill chain 并生成 MITRE ATT&CK 映射报告。

Stars: 0 | Forks: 0

# Aegis Cortex **防御导向的多源威胁狩猎引擎** 日志关联分析 · IOC 匹配 · MITRE ATT&CK 映射 · 分析师专用报告 [![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/downloads/) [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) [![Scope: Defensive](https://img.shields.io/badge/scope-defensive%20only-darkgreen.svg)](#安全与伦理) ## 一句话简介 通过对多种安全日志(认证、防火墙、代理、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, 安全, 安全规则引擎, 无后门, 日志关联分析, 红队行动, 网络信息收集, 超时处理, 逆向工具