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安全, 事件追踪, 安全检测, 库, 应急响应, 数字取证, 本地脚本, 痕迹清理检测, 端点安全, 系统事件分析, 自动化脚本, 补丁管理, 设备监控