Gorstak-Zadar/GEDR
GitHub: Gorstak-Zadar/GEDR
GEDR 是一款轻量级开源 EDR 平台,为 Windows 企业环境提供端点威胁检测、行为分析和自动响应能力。
Stars: 0 | Forks: 0
# 🏢 GEDR - Gorstak Endpoint Detection & Response
## 📋 概述
GEDR (Gorstak Endpoint Detection & Response) 是旗舰级企业安全平台,提供全面的端点保护。它结合了编译型 C# 的强大性能与 PowerShell 的灵活性,提供生产就绪的 EDR 解决方案。
### 🎯 功能特性
- 🖥️ **系统托盘应用** - 用户友好的状态与控制界面
- ⚙️ **Windows 服务** - 后台持续性保护
- 🔍 **高级检测** - 多向量威胁识别
- 🧠 **行为分析** - AI 驱动的异常检测(Akinator 引擎)
- 📊 **仪表板集成** - 支持外部仪表板的 Webhook HMAC
- 🔒 **自我保护** - Mutex 支持的持久性,可选的磁盘哈希基线,已加载模块白名单(异常 DLL 路径 → 告警 / 可选重启)
- 🌐 **网络监控** - C2 信标检测和供应商白名单
- 💾 **隔离管理** - 支持 SHA 解密的安全威胁遏制
## 📁 项目文件
| 文件/文件夹 | 描述 |
|-------------|-------------|
| `GEDR.exe` | 主编译 EDR 可执行文件 (v33.0) |
| `Build.ps1` | 构建自动化脚本 (`csc` + 清单 + 图标) |
| `config.example.json` | 配置模板 |
| `decrypt_quarantine_sha.ps1` | 隔离文件恢复工具 |
| `HashDatabase/` | 可选的本地 SHA256 黑名单 (`threats.txt`) |
| `src/` | C# 源代码 |
| `tools/` | 构建和测试工具(例如 EICAR 测试脚本)|
| `.editorconfig` | 代码风格配置 |
### 源代码架构 (`src/`)
| 组件 | 文件 | 用途 |
|-----------|-------|---------|
| **Core Engine** | `EdrBootstrap.cs`, `EdrCache.cs` | 初始化与缓存 |
| **Detection** | `EdrAkinator.cs`, `EdrBehavioralBaseline.cs` | 行为分析 |
| **ASR** | `EdrAsrRules.cs` | Attack Surface Reduction (攻击面减少) |
| **Autoruns** | `EdrAutorunsLog.cs` | 启动项监控 |
| **Reputation** | `EdrCleanGuard.cs` | 多源文件判定 |
| **Audio** | `EdrAudioHelper.cs` | 安全音频警报 |
| **UI Resources** | `Autorun.ico`, `app.manifest` | 系统托盘资源 |
## ⚙️ 技术规格
### GEDR v33.0 (更新日志)
- **默认值** — `SelfModuleGuardEnabled` 和 `SelfIntegrityCheckEnabled` 在内置默认值和 `config.example.json` 中默认为**开启**(即使没有 `config.json`,仍会启用 self-module + hash baseline)。代码中 `IncrementalScheduledScanEnabled` 的默认值现在也**开启**(与示例模板匹配)。
- **Self-module guard** — 枚举 GEDR 进程中的模块;报告 Windows(除了 `Windows\Temp`)、Program Files、`%ProgramData%\GEDR` 和安装目录之外的路径;可选的 `%ProgramData%\GEDR\Data\self_module_allowlist_paths.txt` 用于添加额外前缀。`SelfModuleGuardRestartOnViolation` 默认保持**关闭**(避免重启循环)。
### GEDR v32.0 (更新日志)
- **Windows 服务** — 在启动作业计时器之前,使用与托盘模式相同的 `JobStartupDelaySeconds` 延迟,以减少启动/登录争用。
- **系统安全** — 隔离和重复删除操作拒绝白名单和关键路径;`MoveToQuarantine` 在入口处阻止;保护 `userinit`;`\Windows\System32\config\` 被视为关键路径。
- **打包器签名者** — `EdrPackagerSignerBlocklist`:包括 Obsidium 和 Martin Tofall(以及可选的 `%ProgramData%\GEDR\Data\blocked_signer_substrings.txt`);策略作业将 Obsidium 工件目录和 TrustedPublisher (LM/CU) 中的匹配证书添加到 Disallowed 存储。
### GEDR v31.0 (更新日志)
- **隔离 ACL** — 隔离文件夹上的 `icacls` 对 Everyone 使用 `(OI)(CI)RX` 而不是 `(AD)(R)`,后者在某些系统上可能会失败并返回退出代码 87。
- **ResponseEngine** — 使用共享文件访问权限读取模块日志,以便在服务写入时不会阻塞 `edr_*.log`;将 LocalSystem 配置文件路径排除在可疑路径扫描之外(避免在 `systemprofile\…\INetCache` 下重复出现访问拒绝);软化对系统配置文件下剩余未授权访问的日志记录。
- **凭据保护** — 仅在 `schtasks /query` 确认存在后,才删除旧的 `GenerateRandomPassword` 计划任务(避免任务从未安装时出现虚假删除失败)。
- **安装** — 如果文件被临时锁定,在升级期间复制 `GEDR.exe` 时增加重试次数 / 更长的退避时间。
- **防火墙监控** — 增加 `netsh` 防火墙枚举超时,以减少繁忙主机上的误报超时。
### GEDR v30.0 功能特性
- 🔐 **Webhook HMAC** - 安全的仪表板通信
- 🧬 **主机功能** - 设备姿态评估
- 🔄 **Mutex 支持的持久性** - 防止服务终止
- 📡 **信标检测** - 识别 C2 通信模式
- ✅ **供应商白名单** - 减少误报
- 📊 **仪表板操作** - 对 SIEM 友好的输出格式
- 🔓 **SHA 解密** - 安全的隔离文件恢复
- 📂 **实时文件监控** - 固定/网络驱动器根目录,递归;监视 `.exe`, `.com`, `.scr`, `.dll`, `.sys`, `.winmd`(以及重命名启发式)
- 🛡️ **v30 检测模块**(补充核心作业):
- **VulnerableDriverHeuristics** — 已知的 BYOVD 风格驱动程序名称和非标准驱动程序路径
- **ContainerExecutionAbuse** — 可疑的 Docker/WSL/kubectl/Podman 命令行
- **UserAssistedDeliveryDetection** — ISO/IMG/CAB 投递,双重扩展名,可移动/光盘介质上的 `autorun.inf`
- **BrowserProfileAbuseDetection** — 非浏览器进程引用浏览器凭据/cookie 路径
- **FirstSeenPublisherDetection** — 高风险路径中已签名二进制文件的首见 Authenticode 指纹
- **DefenseTamperingDetection** — 敏感映像上的 IFEO 调试器;注册表中 `WinDefend` 服务被禁用
### 程序集信息
```
Version: 33.0.0.0
Architecture: .NET Framework 4.x (csc build)
```
## 🚀 用法
### 安装
```
# 构建
.\Build.ps1
# 安装 / 服务(按照您的部署文档所述以提升权限运行)
.\GEDR.exe /install
```
### 配置
1. 将 `config.example.json` 复制到您的构建所使用的 GEDR 数据/安装路径下的 `config.json`。
2. 根据您的环境编辑设置(`ResponseConsensusEnabled`、`CorrelationModuleThreshold` 等)。
3. 重启 GEDR 服务。
### 隔离恢复
```
# 解密并恢复隔离文件
.\decrypt_quarantine_sha.ps1 -FilePath "C:\Quarantine\[filename]"
```
### 可选测试样本
使用 `tools\Create-EicarTestFile.ps1` 创建或下载标准的 EICAR 测试文件;判定结果遵循正常的信誉管道(无引擎短路)。
## 🔒 操作说明
- ⚠️ **生产就绪** - 专为企业部署设计
- 🔐 **自我保护** - 主动篡改检测
- 📝 **详尽日志** - 全面的审计跟踪
- 🔄 **自动更新** - 支持 OTA 更新
- 🧪 **冒烟测试** - 使用 `tools\smoke.ps1` 进行验证
## 📜 许可与免责声明
## 综合法律免责声明
本项目仅用于授权的防御、管理、研究或教育目的。
- 仅在您拥有明确许可的系统、网络和环境上使用。
- 滥用可能违反法律、合同、政策或可接受使用条款。
- 运行安全、加固、监控或响应工具可能会影响稳定性,并可能中断合法软件。
- 在生产使用之前,请在测试环境中验证所有更改。
- 本项目按“原样”提供,不附带任何形式的保证,包括适销性、特定用途适用性和非侵权性。
- 作者和贡献者不对直接或间接损害、数据丢失、停机、业务中断、法律风险或合规影响负责。
- 您需独自承担合法操作、配置选择以及您所在司法管辖区合规义务的责任。
由 Gorstak 精心构建
标签:AI合规, AMSI绕过, ASR, C2检测, DLL监控, DNS 反向解析, EDR, Gorstak, IPv6, IP 地址批量处理, PowerShell, quarantine, SHA256解密, Windows服务, 企业安全, 哈希校验, 威胁检测, 恶意软件防护, 攻击面减少, 端点安全, 系统托盘应用, 终端检测与响应, 网络安全, 网络安全审计, 网络资产管理, 脆弱性评估, 自保护, 自动化响应, 补丁管理, 隐私保护, 隔离管理