Alhasan100/eventguard-ps

GitHub: Alhasan100/eventguard-ps

一款基于 PowerShell 的 Windows 安全事件离线分类工具,能将安全日志转化为 ATT&CK 映射的结构化发现并生成多格式报告,适用于无 SIEM 环境下的事件快速研判。

Stars: 0 | Forks: 0

# EventGuard-PS **版本:** 1.0.0 | **作者:** Alhasan Al-Hmondi [![许可证:GPL v3](https://img.shields.io/badge/License-GPLv3-blue.svg)](https://www.gnu.org/licenses/gpl-3.0) EventGuard-PS 是一个基于 PowerShell 的安全事件分类 CLI,专为 Windows 下的蓝队工作流设计。它将导出的 Windows 安全事件转化为更易于审查、解释和记录的发现,而无需完整的 SIEM。 ## 为什么会有这个项目 我想要一个能反映我感兴趣的工作内容的项目:Windows 安全监控、脚本编写和实用的防御工具。我没有构建一个通用的演示,而是专注于一个 CLI,它可以提取导出的事件数据,突出显示可疑活动,并生成对分类、实验室工作和文档记录有用的输出。 ## 选用的技术栈 - PowerShell 5.1+ - 原生 JSON 处理,无需外部依赖 - 用于导出 Windows 事件的原生 XML 解析 - 用于可移植验证的自定义 PowerShell 测试运行器 该技术栈适合 Windows 管理、IT 支持和网络安全操作工作,同时对于学生作品集而言也切合实际。 ## 当前构建的功能 - 检测短时间窗口内的重复登录失败 - 检测近期失败后的成功登录 - 检测账户锁定 - 检测新的本地用户创建事件 - 检测账户密码重置以及账户启用和禁用操作 - 检测特权组成员的添加和移除 - 将发现结果映射到 MITRE ATT&CK 战术和技术 - 在每个发现中包含分析师建议 - 支持针对已知无害规则、用户、主机或 IP 的抑制文件 - 支持文本、JSON 和独立 HTML 输出格式 - 支持 JSON 数组、Windows 事件 XML 导出和原生 EVTX 文件作为输入 - 跳过格式错误或不完整的记录,并发出明确的解析警告,而不是导致整个扫描失败 - 包含一个收集助手,可将最近的 Windows 实验室主机安全日志数据导出为 EventGuard 可用的文件 - 包含用于离线测试的样本事件数据 - 支持严格解析模式,用于在跳过记录时应失败的自动化工作流 ## 项目结构 ``` eventguard-ps/ docs/ examples/ LICENSE scripts/ src/ tests/ ``` ## 安装 1. 在项目目录中打开 PowerShell。 2. 使用附带的样本数据运行 CLI: ``` powershell -ExecutionPolicy Bypass -File .\scripts\invoke-eventguard.ps1 -Path .\examples\security-events.json ``` ## 使用方法 文本报告: ``` powershell -ExecutionPolicy Bypass -File .\scripts\invoke-eventguard.ps1 -Path .\examples\security-events.json -Format Text ``` JSON 报告: ``` powershell -ExecutionPolicy Bypass -File .\scripts\invoke-eventguard.ps1 -Path .\examples\security-events.json -Format Json ``` XML 输入报告: ``` powershell -ExecutionPolicy Bypass -File .\scripts\invoke-eventguard.ps1 -Path .\examples\security-events.xml -Format Text ``` EVTX 输入报告: ``` powershell -ExecutionPolicy Bypass -File .\scripts\invoke-eventguard.ps1 -Path .\exports\Security.evtx -Format Text ``` 将最近的安全日志事件收集为 JSON: ``` powershell -ExecutionPolicy Bypass -File .\scripts\export-security-events.ps1 -OutputPath .\reports\lab-security-events.json -Format Json -HoursBack 12 -MaxEvents 300 ``` 将最近的安全日志事件收集为 XML: ``` powershell -ExecutionPolicy Bypass -File .\scripts\export-security-events.ps1 -OutputPath .\reports\lab-security-events.xml -Format Xml -HoursBack 12 ``` 将最近的安全日志事件收集为 EVTX: ``` powershell -ExecutionPolicy Bypass -File .\scripts\export-security-events.ps1 -OutputPath .\reports\lab-security-events.evtx -Format Evtx -HoursBack 12 ``` HTML 报告导出: ``` powershell -ExecutionPolicy Bypass -File .\scripts\invoke-eventguard.ps1 -Path .\examples\security-events.xml -Format Html -OutputPath .\reports\security-events.html ``` 带抑制规则的报告: ``` powershell -ExecutionPolicy Bypass -File .\scripts\invoke-eventguard.ps1 -Path .\examples\security-events.json -SuppressionsPath .\examples\suppressions.json -Format Text ``` 严格解析模式: ``` powershell -ExecutionPolicy Bypass -File .\scripts\invoke-eventguard.ps1 -Path .\examples\security-events.json -StrictParsing ``` 运行测试: ``` powershell -ExecutionPolicy Bypass -File .\tests\run-tests.ps1 ``` ## 示例工作流 1. 在 Windows 主机或实验室 VM 上使用收集助手,将最近的安全日志活动导出为 JSON、XML 或 EVTX。 2. 针对导出的文件运行 EventGuard-PS。 3. 查看 ATT&CK 映射和分析师建议,以了解突发失败、可疑成功登录、账户更改和权限更改。 4. 当您想要一个更清晰的工件用于屏幕截图、文档或案例记录时,导出 HTML 报告。 5. 为经过批准的管理员活动添加抑制规则,以便持续的初步分析报告保持重点突出。 6. 查看所有解析警告,以便在信任完整结果之前能够发现损坏的导出或不完整的记录。 7. 将结果作为事件分类、实验室笔记或检测调优的起点。 ## 最终范围 此版本有意识地专注于 Windows 安全事件分类。它涵盖了提取、检测、抑制、报告、收集助手、格式错误记录处理和自动化友好的退出代码,而不会变成一个庞大的 SIEM 替代品。 ## 未来改进 - 使用基于时间的异常和规则注释扩展抑制逻辑 - 添加 Sigma 对齐的检测包 - 如果电子表格交接变得有用,则添加 CSV 导出 ## 许可证 该项目根据 GNU 通用公共许可证 v3.0 授权。有关完整的许可证文本,请参见 `LICENSE`。
标签:API安全, Cloudflare, Conpot, EVTX解析, GPLv3, Homebrew安装, HTML报告, IPv6, IT运维, JSON输出, Libemu, MITRE ATT&CK, PowerShell, Python 3.9+, SIEM替代, Socks5代理, TLS, Windows事件日志, Windows安全, 多模态安全, 子域名变形, 安全事件分类, 安全合规, 实验室工具, 密码重置检测, 库, 应急响应, 提权检测, 特权组监控, 离线报告, 红队行动, 网络代理, 网络安全, 账户锁定检测, 防御工具, 隐私保护