Crazycharlie04/ETW-Windows-telemetry-collector

GitHub: Crazycharlie04/ETW-Windows-telemetry-collector

该系统利用 ETW 遥测采集 Windows 内核级行为数据,并通过 Python 引擎检测恶意软件、勒索软件及 LolBins 攻击行为。

Stars: 0 | Forks: 0

# Windows 遥测恶意软件与勒索软件检测工具 ## 概述 本项目是一个行为恶意软件与勒索软件检测系统,作为桑德兰大学网络安全与数字取证理学学士(荣誉)学位毕业设计的一部分而开发。 该系统使用 Event Tracing for Windows 收集 Windows 进程、文件系统、注册表和网络遥测数据。基于 Python 的分析引擎会检查捕获的事件,寻找与恶意软件、勒索软件以及 Living-off-the-Land 活动相关的行为指标。 本项目使用受控的模拟器来生成可疑行为,而不会执行真实的恶意软件。 ## 主要功能 * 使用 C# ETW 收集器收集 Windows 遥测数据 * 记录进程、文件系统、注册表和网络活动 * 以 JSON Lines 格式存储捕获的事件 * 检测编码或混淆的 PowerShell 执行 * 检测 Office 应用程序启动命令解释器的行为 * 检测 Run 和 RunOnce 注册表持久化 * 检测高频文件写入活动 * 检测快速的文件重命名和删除行为 * 将进程和注册表事件关联为多阶段序列 * 包含用于测试检测规则的安全模拟器 ## 检测架构 1. C# 收集器捕获 Windows 内核遥测数据。 2. 事件被规范化并写入 `C:\Telemetry\telemetry.json`。 3. Python 分析引擎读取捕获的遥测数据。 4. 基于行为和序列的检测规则在控制台中生成警报。 5. 模拟器提供受控的真实基准活动以供评估。 ## 项目文件 * `Program.cs` — 应用程序菜单与组件编排 * `ETWCollector.cs` — ETW 遥测数据收集 * `TelemetryProcessor.cs` — 事件处理与规范化 * `analyze_telemetry.py` — 行为检测与警报生成 * `ETWCollector.csproj` — .NET 项目配置 # 前置条件 在运行系统之前,必须安装以下组件: * **.NET SDK** — 从 [https://dotnet.microsoft.com/en-us/download](https://dotnet.microsoft.com/en-us/download) 下载并安装。安装时请确保选择最新版本。打开命令提示符并运行以下命令进行验证: ``` dotnet --version ``` * **Python** — 从 [https://www.python.org/downloads/](https://www.python.org/downloads/) 下载并安装。安装时请确保勾选 Add Python to PATH。打开命令提示符并运行以下命令进行验证: ``` python --version ``` # 下载项目 下载项目文件夹并将其解压到您选择的位置,例如: ``` C:\ETWTelemetry ``` 项目文件夹应包含以下文件: ``` Program.cs ETWCollector.cs TelemetryProcessor.cs analyze_telemetry.py ETWCollector.csproj ``` # 安装说明 以管理员身份打开命令提示符,并导航至项目文件夹: ``` cd C:\ETWTelemetry ``` 安装所需的 NuGet 包: ``` dotnet add package Microsoft.Diagnostics.Tracing.TraceEvent ``` 创建遥测输出文件夹: ``` mkdir C:\Telemetry ``` 构建项目以确认一切正常: ``` dotnet build ``` 您应该会看到: ``` Build succeeded with 1 warning(s) ``` 如果构建失败,请检查 .NET SDK 是否安装正确,以及文件夹中是否包含所有项目文件。 # 运行系统 以管理员身份打开命令提示符 — 这是 ETW 内核访问所必需的,否则系统将静默失败。 导航至项目文件夹: ``` cd C:\ETWTelemetry ``` 运行应用程序: ``` dotnet run ``` 您应该会看到菜单: ``` === ETW Telemetry Project Menu === 1) Run ETW Collector 2) Run Python Analysis 3) Start File Write Simulator (powershell.exe) [loops] 4) Start Encoded LOLBin Simulator (powershell.exe) [once] 5) Start Multi-Stage Sequence Simulator (cmd.exe) [once] 6) Start File Rename Simulator (wscript.exe) [loops] 7) Start File Delete Simulator (certutil.exe) [once] 8) Start Office Spawn Simulator (winword.exe -> cmd.exe) [once] 9) Exit ``` # 推荐运行顺序 选择选项 1 以启动 ETW 收集器 — 这将在后台开始捕获真实的 Windows 遥测数据,并且必须在运行任何模拟器之前启动。 选择任意模拟器选项 3 到 8,以生成模拟的 Living-off-the-Land 攻击行为。 选择选项 2 以对收集的遥测数据运行 Python 分析,并在控制台输出中查看检测警报。 # 遥测日志 所有遥测数据均写入: ``` C:\Telemetry\telemetry.json ``` 您可以随时打开此文件以检查捕获的原始事件。请注意,在 ETW 收集器运行期间,此文件会持续增长。要开始新的收集,请在再次启动收集器之前删除或重命名现有文件。 # 重要提示 系统必须以管理员身份运行,否则 ETW 内核会话将无法启动。 该系统仅在 Windows 11 上进行了测试。
标签:DNS 反向解析, ETW, Python, 勒索软件检测, 多人体追踪, 无后门, 逆向工具