ZCHUA040/SC4063_ThreatHuntingandDetectionLogic

GitHub: ZCHUA040/SC4063_ThreatHuntingandDetectionLogic

基于网络取证数据的Lynx勒索软件检测代理,采用纯规则引擎识别ATT&CK各阶段攻击行为。

Stars: 0 | Forks: 0

# SC4063 威胁狩猎与检测逻辑 ## Lynx 勒索软件检测代理 本仓库包含基于网络取证数据识别 Lynx 勒索软件活动的威胁狩猎和检测逻辑。 ## 架构 检测管道包含六个层级: ``` PCAP JSON files ↓ PCAP Ingestion Layer — validate, extract metadata ↓ Detection & Hunting Engine — TI-guided rules, ATT&CK mapping, scoring ↓ Validation Layer — guardrails against false positives ↓ Forensic Report Generator — executive summary, timeline, IOCs ``` ## 组件 ### ti_profile.py Lynx 勒索软件组织的威胁情报配置。包含: - ATT&CK 技术映射(T1078、T1046、T1048、T1486) - 妥协指标(IoC) - 检测阈值 - RFC1918 IP 分类辅助函数 ### ti_matcher.py 威胁情报引导的检测规则,将事件与 Lynx 配置进行匹配。**无 LLM 调用** — 纯规则驱动检测。 **检测规则:** - **指令 A — 初始访问(T1078 / T1133)** - 来自外部 IP 的 3389 端口(RDP)入站连接 - 来自非 RFC1918 来源的成功认证 - **指令 B — 横向移动(T1046 / T1136)** - 快速 SMB/RPC 扫描(端口 445、135) - 60 秒内扫描 10+ 个不同主机 - 网络扫描器指纹(SoftPerfect、NetExec) - **指令 C — 数据外泄(T1048 / T1560)** - 大型出站传输(>10 MB) - HTTP POST 到 temp.sh 或类似外泄服务 - 7-Zip 归档压缩指标 - **指令 D — 有效载荷部署(T1021.001 / T1486)** - 来自疑似域控制器的内部 RDP - 批量部署到多个端点 - 加密前的 RDP 流量激增 ### ti_validator.py 验证层,负责: - 根据威胁情报配置检查发现结果 - 验证源/目标 IP 是否正确(外部 vs 内部) - 确保达到阈值 - 为 LLM 输出提供护栏(如有集成) ### orchestrator.py 主管道编排器,负责: - 从 JSON 文件加载事件 - 运行所有检测规则 - 验证发现结果 - 生成报告(JSON 和人类可读格式) ## 使用方法 ### 运行检测代理 ``` python orchestrator.py ``` 这将: 1. 从 `jsonfiles/` 目录加载所有事件 2. 对所有四个指令运行威胁情报引导的检测 3. 验证发现结果 4. 生成两份报告: - `detection_report.json` — 详细 JSON 报告 - `detection_report_human.txt` — 人类可读的文本报告 ### 输出 代理生成: **控制台输出:** - 事件加载摘要 - 按指令分类的检测结果 - 验证状态 - 报告文件位置 **JSON 报告(`detection_report.json`):** - 元数据(时间戳、分析的事件数) - 摘要统计 - 每个指令的详细发现结果 - 验证结果 - ATT&CK 技术映射 **人类可读报告(`detection_report_human.txt`):** - 执行摘要 - 带证据的详细发现结果 - MITRE ATT&CK 技术映射 - 验证结果 - 时间线 ## 数据格式 代理期望 `jsonfiles/` 目录中的 NDJSON(换行符分隔的 JSON)文件。 **事件模式:** ``` { "time": 1765478896.966979, "src": "10.128.239.57", "dst": "10.128.239.23", "sport": 49842, "dport": 445, "size": 55, "type": "LATERAL_MOVEMENT" } ``` **支持的事件类型:** - `INITIAL_ACCESS` — 初始入侵事件 - `RDP_INTRUSION` — 来自外部源的 RDP 认证 - `LATERAL_MOVEMENT` — 内部网络扫描/移动 - `EXFILTRATION` — 数据外泄事件 - `PAYLOAD_DEPLOYMENT` — 勒索软件有效载荷投递 ## 关键设计决策 ### 1. **威胁情报引导的检测(检测阶段不使用 LLM)** - 检测规则是确定性的,基于 Lynx 威胁情报配置 - 检测阶段无 LLM 调用 = 快速、廉价、一致 - LLM 仅用于报告叙述(可选) ### 2. **基于证据的发现结果** - 每个发现结果都包含 flow_id 以便追踪 - 所有证据都引用特定的数据包/流量 - 验证层拒绝没有证据的断言 ### 3. **误报过滤** - 阈值防止单事件误报 - IP 分类(RFC1918)确保正确的源/目标验证 - 多个针对威胁情报配置的验证检查 ### 4. **成本效益** - 核心检测零 LLM 调用 - 编排器首先运行最便宜的检查 - 事件去重和批处理 ## MITRE ATT&CK 映射 | 阶段 | 技术 | 子技术 | 描述 | |-------|-----------|---------------|-------------| | 初始访问 | T1078 | T1133 | 有效账户 / 外部远程服务 | | 发现 | T1046 | - | 网络服务发现 | | 横向移动 | - | T1136 | 创建账户 | | 数据外泄 | T1048 | T1560 | 通过替代协议外泄 / 归档收集的数据 | | 执行 | T1021.001 | - | 远程桌面协议 | | 影响 | T1486 | - | 影响数据加密 | ## 评分标准对照 | 标准 | 本代理如何实现 | |----------|----------------------------| | **代理有效性** | 四个指令特定的匹配器针对精确的 Lynx TTP | | **护栏与安全** | 验证器拒绝没有 flow_id 证据的发现结果 | | **成本与效率** | 检测零 LLM 调用;仅确定性规则 | | **ATT&CK 映射** | 预编码在威胁情报配置中,而非推断得出 | | **取证质量** | 所有发现结果可通过 flow_id 追溯到特定数据包 | ## 文件 ``` SC4063_ThreatHuntingandDetectionLogic/ ├── README.md # This file ├── SC4063_Part2_AgentDesignNotes.md # Design documentation ├── ti_profile.py # Lynx TI profile ├── ti_matcher.py # Detection rules ├── ti_validator.py # Validation layer ├── orchestrator.py # Pipeline orchestrator ├── jsonfiles/ # Event data (NDJSON) │ ├── 34936-sensor-250301-*.json │ ├── 34936-sensor-250302-*.json │ └── ... ├── detection_report.json # Generated: JSON report └── detection_report_human.txt # Generated: Human report ``` ## 需求 - Python 3.7+ - 无外部依赖(仅使用标准库) ## 作者 SC4063 网络取证 — 第二部分代理设计 基于 Apex Global Logistics / Lynx 勒索软件场景 ## 许可证 仅供教育使用 — SC4063 课程作业
标签:AMSI绕过, Atomic Red Team, EDR, IoC, IOC检测, Lynx勒索软件, PCAP分析, Python, 初始访问检测, 勒索软件, 勒索软件检测, 威胁情报, 威胁检测, 安全运营, 开发者工具, 扫描框架, 插件系统, 数据展示, 数据泄露检测, 无后门, 检测规则, 横向移动检测, 红队, 网络安全, 网络资产发现, 脆弱性评估, 防御框架, 隐私保护