fckapplications/traceusb

GitHub: fckapplications/traceusb

基于 PowerShell 的 Windows USB 活动与安全事件轻量级分析工具,通过提取系统日志生成结构化的时间线报告。

Stars: 0 | Forks: 0

# TraceUSB 轻量级 Windows USB 和系统事件分析器,提供纯净的本地输出。 ## 概述 TraceUSB 是一个基于 PowerShell 的实用工具,旨在提取 Windows 系统上与 USB 活动和安全相关日志的**客观系统事件数据**。 它生成一份**结构化、人类可读的报告**,不进行任何解读、评分或行为假设。 其目标很简单:为计算机上发生的事情提供**清晰的可见性**。 ## 功能 * USB 连接和移除时间戳 * 检测 Windows 日志清除事件(事件 ID 104) * Windows Defender 威胁检测(事件 ID 1116 / 1117) * Windows Defender 状态变更(事件 ID 5001) * Windows Defender 配置更改(事件 ID 5004) * Windows Defender 引擎故障(事件 ID 5010) * 列出当前连接的 USB 设备 * 简洁且结构化的输出 * USB 设备类型分类(存储、音频、输入等) * USB 会话持续时间追踪 * 按时间顺序的时间线输出(timeline.txt) ## 输出 该脚本将在以下位置生成报告: ``` Desktop\analise.txt ``` ## 脚本分析内容 TraceUSB 从多个原生 Windows 来源收集数据。 ### 1. 日志清除事件(事件 ID 104) 来源:Windows Event Log(系统) 检测 Windows 日志何时被手动清除。 收集的数据: * 日志名称(例如 System、Security、Setup) * 日期和时间 目的: * 识别清除活动痕迹的潜在企图 ### 2. USB 设备活动 来源:Plug and Play (PnP) #### 已连接和已移除的设备 收集的数据: * 设备名称 * 连接时间戳 * 移除时间戳 来源: ``` Get-PnpDeviceProperty → LastArrivalDate / LastRemovalDate ``` #### 仅连接的设备 以下设备: * 具有连接时间戳 * 没有记录的移除操作 可能的情况: * 设备仍处于连接状态 * 系统未记录移除操作 #### USB 增强 TraceUSB 现在为 USB 活动提供了额外的上下文信息: - 设备类型分类(基于设备名称) - 已连接设备的使用时长 - 改进的时间线关联 这有助于更好地了解设备连接了多长时间以及它是什么类型的设备。 ### 3. 活跃 USB 设备 所有当前连接的 USB 设备的快照。 过滤并移除了: * 集线器 * 主机控制器 * 根设备 目的: * 显示执行时物理连接的设备 ### 4. Windows Defender — 检测事件(1116 / 1117) 来源: `Microsoft-Windows-Windows Defender/Operational` * **1116 → 检测到威胁** * **1117 → 已采取操作** 收集的数据: * 日期和时间 * 威胁名称 * 文件路径 ### 5. Windows Defender — 状态(5001) 指示 Microsoft Defender Antivirus 已被**禁用**。 收集的数据: * 日期和时间 * 完整的事件消息 目的: * 检测系统保护何时被关闭 ### 6. Windows Defender — 配置更改(5004) 指示 Defender 设置已被修改。 示例: * 添加了排除项 * 切换了保护状态 * 策略更改 收集的数据: * 日期和时间 * 事件消息 ### 7. Windows Defender — 引擎故障(5010) 指示 Defender 未能执行操作。 可能的原因: * 内部错误 * 扫描失败 * 外部干扰 收集的数据: * 日期和时间 * 事件消息 ## 数据来源 * `Get-WinEvent` * `Get-PnpDevice` * `Get-PnpDeviceProperty` 无外部依赖。 ## 隐私与安全 TraceUSB 是**完全本地且非侵入性**的工具。 它不会: * 读取个人文件 * 访问文件内容 * 收集凭据 * 监控网络活动 * 向外部发送任何数据 它仅读取: * 系统事件元数据 * USB 设备元数据 没有任何数据会离开本机。 ## 系统要求 * Windows 10 / 11 * PowerShell 5.1+ * 标准用户权限 ## 用法 ### 本地运行 ``` .\TraceUSB.ps1 ``` ### 远程运行 ``` irm https://raw.githubusercontent.com/fckapplications/traceusb/main/TraceUSB.ps1 | iex ``` ### 绕过执行策略运行 ``` powershell -ExecutionPolicy Bypass -Command "irm https://raw.githubusercontent.com/fckapplications/traceusb/main/TraceUSB.ps1 | iex" ``` ### 更安全的方法 ``` irm https://raw.githubusercontent.com/fckapplications/traceusb/main/TraceUSB.ps1 -OutFile traceusb.ps1 powershell -ExecutionPolicy Bypass -File traceusb.ps1 ``` ## 输出结构 报告分为以下几部分: * 日志清除事件 * USB(已连接和已移除) * USB(仅连接) * 活跃 USB 设备 * Windows Defender 检测 * Windows Defender 配置与故障 * Windows Defender 状态变更 ## 限制 * 并非所有 USB 设备都会暴露时间戳 * 数据依赖于驱动程序和 Windows 内部机制 * 无法重构完整的活动会话 ## 项目结构 ``` . ├── TraceUSB.ps1 ├── README.md ├── LICENSE ├── .gitignore └── CHANGELOG.md ``` ## 贡献 欢迎贡献: * 解析改进 * 新的事件源 * 性能优化 ## 免责声明 本工具适用于: * 教育用途 * 本地诊断 * 系统审计 请负责任地使用。 ## 许可证 MIT License
标签:AI合规, Conpot, CSV输出, Google搜索, IPv6, Libemu, OpenCanary, PowerShell, TraceUSB, URL发现, USB活动记录, USB设备分析, Windows Defender, Windows安全, 事件追踪, 安全检测, 库, 应急响应, 数字取证, 本地脚本, 痕迹清理检测, 端点安全, 系统事件分析, 自动化脚本, 补丁管理, 设备监控