Ayyadi266/LightEDR

GitHub: Ayyadi266/LightEDR

一个轻量级 Windows EDR 教育项目,涵盖从 ETW 遥测采集到 Sigma/YARA 检测再到告警响应的完整防御安全链路。

Stars: 0 | Forks: 0

# LightEDR — 轻量级 Windows EDR(教育 / PFE) 这是一个为 Windows 构建的精简版端点检测与响应(EDR)系统,作为工程学 毕业设计项目开发。它遵循与商业 EDR(CrowdStrike Falcon 等)相同的内部循环: 这属于**防御性安全研究**。所有攻击 / 规避代码的存在仅为 测试 EDR 自身的检测能力,且被隔离在 [`lab/`](lab/) 中,并带有 实验室专属警告。请参阅 [`docs/threat-model.md`](docs/threat-model.md) 了解该系统能做什么 ——以及明确**不**做什么检测。 ## 设计范围限制 - **无内核 minifilter / ELAM 驱动。** 仅限用户模式遥测,至多包含 一个可选的简单内核回调作为进阶目标。 - **ETWti (`Microsoft-Windows-Threat-Intelligence`) 仅限实验室使用。** 它需要一个 PPL-Antimalware 保护进程,因此在测试签名 / 隔离的虚拟机中运行, 其局限性已被记录在案,而非含糊其辞。 - 适合 **一名学生在约 5 个月内** 完成。注重深度而非广度。 ## 架构 ``` ┌──────────────┐ mTLS ┌───────────┐ ┌──────────────────┐ │ Agent │ batches │ Transport │ ingest │ Backend │ │ (Windows) ├──────────►│ channel ├────────►│ FastAPI + store │ │ ETW / Sysmon │ └───────────┘ └────────┬─────────┘ └──────────────┘ │ ▲ response actions (kill / isolate / quarantine) │ └──────────────────────────────────────────────────┤ ▼ ┌──────────────────────────────────┐ │ Detection engine │ │ Sigma + YARA + heuristics │ │ → each alert tagged ATT&CK ID │ └───────────────┬──────────────────┘ ▼ ┌──────────────────┐ │ Dashboard (React)│ │ alerts · tree · │ │ timeline ·respond│ └──────────────────┘ ``` ## 仓库结构 | 文件夹 | 内容 | |-----------------|------------------------------------------------------------------| | `agent/` | Windows 遥测代理 (C# / .NET, 通过 TraceEvent 使用 ETW) | | `transport/` | 安全通道 (mTLS),事件批处理,schema/protobuf | | `backend/` | 接收 + 存储 API (Python + FastAPI) | | `detection/` | Sigma 规则,YARA 规则,行为启发式算法(标记 ATT&CK) | | `dashboard/` | Web UI + 响应操作 (React) | | `lab/` | **仅限实验室使用** 的攻击 / 规避代码,用于测试检测 | | `docs/` | 架构,威胁模型,分阶段构建计划 | ## 构建计划 分为五个阶段,逐一构建。请参阅 [`docs/build-plan.md`](docs/build-plan.md)。 | 阶段 | 重点 | 状态 | |-------|----------------------------------------|----------------| | 1 | ETW 代理(进程 / 网络 / DNS 遥测) | 🟡 **已构建 — 等待提权 ETW 冒烟测试** | | 2 | 传输 (mTLS) + 后端接收 (SQLite) | 🟢 **已构建 + 端到端自我验证** | | 3 | 检测引擎 — Sigma + 启发式算法 + YARA (ATT&CK) | 🟢 **已构建 + 自我验证 (7/7 用例)** | | 4 | Dashboard + 响应操作 | 🟢 **已构建 + 自我验证(接收→告警→响应循环)** | | 5 | 特征库梳理 + Atomic Red Team 评估 | 🟡 **部分完成 — 已构建 ETWti T1055 检测器 + Atomic/指标测试套件;实验室规避三部曲 + 实时指标运行待定** | ## 阶段 1 快速开始 阶段 1 代理是一个控制台应用程序,会打印内核 ETW 进程提供程序产生的每一个进程创建事件 (PID,PPID,映像,命令行)。 **前置条件** - Windows 10/11(或 Windows Server)。 - **.NET 8 SDK** — 当前机器已有 .NET host,但 *没有 SDK*。请安装: winget install Microsoft.DotNet.SDK.8 或从 下载。 **运行(必须提权 — ETW 内核会话需要管理员权限)** ``` # 打开一个 *Administrator* PowerShell / Windows Terminal,然后: cd agent dotnet run ``` 你将看到如下实时数据流: ``` [EDR] Phase 1 agent started — streaming process-creation events. Press Ctrl+C to stop. 14:22:07.913 PID=13480 PPID=6120 powershell.exe cmd: "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile 14:22:09.114 PID=9044 PPID=13480 notepad.exe cmd: "C:\Windows\System32\notepad.exe" ``` 打开第二个终端并启动几个程序(`notepad`,`calc`,`cmd`)以 查看出现的事件。按 **Ctrl+C** 彻底停止运行。
标签:AV绕过, EDR, ETW, FastAPI, React, Syscalls, YARA, 云资产可视化, 脆弱性评估, 逆向工具