nickthelegend/evtx_new

GitHub: nickthelegend/evtx_new

运行在 Windows 主机上的 Python 安全代理,自动采集事件日志并通过 Chainsaw + Sigma 规则进行威胁狩猎,将检测结果上传至后端 API。

Stars: 0 | Forks: 0

# evtx_new — Windows 日志收集器与 Sigma 威胁狩猎工具 ## 概述 `evtx_new` 是一个运行在 Windows 主机上的 Python 代理,用于自动化安全日志的收集和检测。在固定周期内,它从原生 Windows 事件日志(安全 / 系统 / 应用程序)中提取记录,将其导出为 JSON、XML 和 `.evtx` 格式,然后使用一套 Sigma 规则库对捕获的 `.evtx` 文件运行内置的 [Chainsaw](https://github.com/WithSecureLabs/chainsaw) 二进制程序,以标记可疑活动。收集的事件和所有检测结果都会上传到后端 API(并可选择发送邮件),这使其成为轻量级日志管理 / SIEM 风格流水线的端点部分。 该仓库包含了该收集器的多个迭代版本,以及将其打包成单个独立 Windows 可执行文件所需的资源。 ## 功能 - **Windows 事件日志收集**:通过 `pywin32` (`win32evtlog`) 实现 — 读取安全、系统和应用程序日志,并对每个事件进行标准化处理(EventID、时间戳、来源、类型、类别、格式化消息)。 - **多格式导出** — 将事件写入 JSON 和 XML,并使用 `wevtutil epl` 将原始通道快照保存为 `.evtx` 格式。 - **基于 Sigma 的威胁狩猎** — 使用内置的 Sigma 规则集(`needed/` 目录下的 127 条 `win_security_*` 规则)以及 `mappings/` 目录下的 Chainsaw 事件日志映射,对捕获的 `.evtx` 文件调用 `chainsaw.exe hunt`。 - **后端集成** — 将收集的日志和 Chainsaw 检测结果 POST 到 API endpoint,并附带访问密钥、主机本地 IP 和主机名标记;还可以触发检测结果的邮件报告。 - **持续运行** — 按照固定的时间间隔在循环中运行,从而实现对主机的持续监控。 - **单文件分发** — PyInstaller 规范文件 (`evtx.spec`) 将脚本、`chainsaw.exe`、Sigma 规则和映射打包成一个 `evtx.exe`,该程序会请求 UAC 提权(读取安全日志时必需)。 ## 技术栈 - **语言:** Python 3 - **Windows API:** `pywin32` (`win32evtlog`, `win32evtlogutil`, `win32security`), `wevtutil` - **HTTP:** `requests` - **威胁检测:** [Chainsaw](https://github.com/WithSecureLabs/chainsaw) (内置 `chainsaw.exe`) + Sigma 规则 - **打包:** PyInstaller (`evtx.spec` → `evtx.exe`) ## 入门指南 ### 前置条件 - 具备管理员权限的 Windows - Python 3.x ### 安装依赖 ``` pip install pywin32 requests ``` ### 运行收集器 主要入口点是 `evtx.py`,它负责收集安全日志、运行 Chainsaw 并上传结果。它需要一个 API 访问密钥和一个报告邮箱: ``` python evtx.py --access-key --email you@example.com ``` `main.py` 是一个独立的变体,它仅收集系统 / 安全 / 应用程序日志,并将其写入本地的 `json/`、`xml/` 和 `evtx/` 文件夹(不上传到 API): ``` python main.py ``` ### 构建独立可执行文件 ``` pip install pyinstaller pyinstaller evtx.spec # 生成 dist/evtx.exe(包含 chainsaw.exe、Sigma rules 和 mappings) ``` API endpoint 配置在脚本的顶部(例如 `API_ENDPOINT`, `CHAINSAW_ENDPOINT`),默认指向 `http://localhost:3001` 上的本地后端。 ## 项目结构 ``` evtx_new/ ├── evtx.py # Main agent: collect Security logs → Chainsaw → upload + email ├── final.py # Earlier full-pipeline variant (collect → Chainsaw → upload) ├── main.py # Standalone multi-channel collector (JSON/XML/EVTX, no upload) ├── evtx.spec # PyInstaller build spec (bundles binary + rules → evtx.exe) ├── chainsaw.exe # Bundled Chainsaw threat-hunting binary ├── needed/ # Sigma rule set (win_security_* .yml rules) ├── mappings/ # Chainsaw event-log field mappings ├── output/ # Chainsaw detection results (JSON) └── dist/ # PyInstaller build output ``` 由 [nickthelegend](https://github.com/nickthelegend) 开发 · [nickthelegend.tech](https://nickthelegend.tech)
标签:AMSI绕过, Python, Sigma规则, 威胁检测, 子域名变形, 安全运营, 扫描框架, 无后门, 日志收集, 漏洞挖掘, 目标导入