emryll/EDR

GitHub: emryll/EDR

Genesis EDR 是一款开源端点检测与响应教育工具,用于学习和实验安全检测原理。

Stars: 7 | Forks: 0

image   **Genesis EDR 是一个面向 x64 Windows 系统的开源端点检测与响应系统。** 它专为安全研究人员和学习者设计,既是一个**教育工具**,也是一个用于实验和测试的**沙盒环境**。请注意,不允许商业使用(请参阅许可协议)。 你可以在此处找到关于架构设计和高层实现的[**详细文档**](https://emryll.gitbook.io/byte4byte/genesis)。实现细节请直接阅读代码。除非显而易见,否则这些想法很大程度上记录在代码注释中。 ## 范围 - 一个用于实验端点安全的**沙盒**。 - 让你能够测试工具,并**详细**了解是什么导致了**检测**。 - 提供了安全软件如何检测恶意软件的**具体示例**。 - 允许你根据任意行为定义新的检测规则。 - **不**期望能捕捉到**APT 级别**的恶意软件。 - **不**适用于 7x24 小时或商业使用。 - **不**是一个生产就绪的 EDR 解决方案。 ## 概述 该系统基于一种自定义的 YAML 领域特定语言 (DSL) 中的模式运行,将行为描述为一系列事件的时间线。此外,YARA 规则被用于对内存和文件进行 YARA-X 扫描。 该系统由多个不同的组件组成,每个组件都有其特定的目的。每个端点的核心是**代理 (agent)**;它集中化遥测数据收集,处理大部分扫描及其调度,管理数据存储生命周期,并最终做出决策。 其余的组件纯粹是为了提供代理做出决策所需的信息。这些组件包括一个**遥测 DLL**、一个 **ETW 消费者**和一个**内核驱动程序**。 系统实现了一种类似于**瑞士奶酪模型**的机制;有各种不同的测试和扫描可以影响进程或文件的评分。其理念是,单一方法不可能检测所有恶意软件,但当采用多种方法时,至少其中一层捕获到恶意行为的可能性要大得多。 ### 功能特性 - **系统配置文件** - 配置系统逻辑、扫描间隔,定义行为允许和阻止列表。 - **静态分析引擎** - 自动扫描已加载文件,评估其恶意可能性评分。 - 支持手动扫描任意文件。 - **行为分析引擎** - 分析遥测数据和其他指标以检测恶意行为模式。 - 使用自定义领域特定语言灵活、准确地描述任意行为。 - **API 钩子** - 监控系统 API 使用情况,为进程行为提供宝贵的可见性。 - *该系统的设计考虑了这些钩子可能被绕过的假设。* - **Windows 事件跟踪 (ETW)** - 接收关于文件系统活动、注册表活动和其他关键行为的内核事件。 - **内核回调** - 提供可靠、实时的遥测数据,涵盖进程创建、线程创建和已打开句柄等事件。 - **内存扫描** - 针对内存的不同部分进行多种类型的内存扫描。 - 系统自动调度内存扫描,并允许操作员手动查询扫描任何用户模式内存。 - **线程扫描** - 通过在线程创建时和全局扫描期间检查线程来检测代码注入。 - **基于句柄的检测** - 检查句柄以在实时和事后识别恶意活动。 - **代码注入检测** - 一套用于检测各类代码注入的机制集合。 - **防篡改机制** - 防止恶意软件篡改检测系统的各种机制。 - 心跳机制,用于检测关键组件(特别是 ETW 消费者或遥测 DLL)的丢失。 - IAT 和内联钩子检测,包括监控自身钩子。 - 通过哈希进行模块内存完整性检查。 - **进程遏制** - 如果恶意软件持续执行,检测就没什么用。 - 该系统旨在将相关联的进程分组,跟踪已注册的持久化项,并跟踪释放的文件。当检测到恶意行为时,会清理这些以阻止恶意软件。 - 在未来版本中,将实现进程隔离机制,作为对可疑行为的较温和响应来限制进程。 ## 如何使用 要开始使用该系统,请克隆此仓库并运行安装程序。要从源代码构建,你将需要 C、C++ 和 Golang 编译器,以及在你的机器上安装 OpenSSL。
标签:AMSI绕过, Conpot, DNS信息、DNS暴力破解, EDR, ETW, URL发现, Windows安全, x64架构, YAML DSL, YARA规则, 二进制发布, 内存扫描, 内核驱动, 威胁检测, 安全实验, 安全检测, 安全测试工具, 安全评分, 客户端加密, 开源工具, 教育工具, 文件扫描, 瑞士奶酪模型, 端点安全, 网络协议, 脆弱性评估, 行为模式, 补丁管理, 遥测收集