Windows应急响应之USBDevices日志
字数 2654 2025-08-22 12:23:25
Windows应急响应之USB设备日志分析指南
1. SetupAPI.dev日志分析
1.1 日志位置与作用
- 路径:
C:\Windows\INF\setupapi.dev.log - 作用:记录系统上加载的驱动程序和设备相关事件,可用于BadUSB排查和驱动后门排查
1.2 日志级别设置
注册表键值:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\LogLevel
默认值0x20004001含义:
0x20000000:写入每个条目后不将日志刷新到磁盘(提高速度但可能丢失数据)0x00004000:在详细模式下记录错误、警告和其他信息(设备日志记录级别)0x00000001:关闭设备安装日志记录(常规日志记录级别)
1.3 日志事件类别
注册表键值:HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup\LogMask
事件类别及对应值:
dvi:设备安装 (TXTLOG_DEVINST) - 0x00000001inf:管理INF文件 (TXTLOG_INF) - 0x00000002flq:管理文件队列 (TXTLOG_FILEQ) - 0x00000004cpy:复制文件 (TXTLOG_COPYFILES) - 0x00000008reg:管理注册表设置 (TXTLOG_REGISTRY) - 0x00000010sig:验证数字签名 (TXTLOG_SIGVERIF) - 0x00000020prp:管理设备和驱动程序属性 (TXTLOG_PROPERTIES) - 0x00000040bak:备份数据 (TXTLOG_BACKUP) - 0x00000080ui :管理用户界面对话框 (TXTLOG_UI) - 0x00000100ndv:新建设备管理器 (TXTLOG_NEWDEV) - 0x01000000ump:用户模式PnP管理器 (TXTLOG_UMPNPMGR) - 0x02000000sto:管理驱动程序存储 (TXTLOG_DRIVER_STORE) - 0x04000000cci:类安装程序或合作安装程序操作 (TXTLOG_INSTALLER) - 0x40000000dvs:供应商提供的操作 (推测为Driver Setup) - 无官方文档说明
1.4 USB设备日志分析示例
以SanDisk U盘为例:
设备标识符格式:
USBSTOR\DISK&VEN__USB&PROD__SANDISK_3.2GEN1&REV_1.00\0501BAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx6047
各字段含义:
USBSTOR:USB存储类设备DISK:子类标识,表示磁盘设备VEN:供应商ID(Vendor ID)PROD:产品ID(Product ID)REV:固件版本号- 长串字符:设备唯一序列号
驱动安装过程分析:
-
系统尝试更新驱动程序(
DIF_UPDATEDRIVER_UI) -
返回错误
0xe000020e表示无新驱动程序可用 -
系统搜索硬件ID进行匹配:
usbstor\disk_usb_____sandisk_3.2gen11.00 usbstor\disk_usb_____sandisk_3.2gen1 usbstor\disk_usb____ usbstor\_usb_____sandisk_3.2gen11 _usb_____sandisk_3.2gen11 usbstor\gendisk gendisk -
匹配到通用磁盘驱动:
- 硬件ID:
GenDisk - INF文件:
C:\WINDOWS\System32\DriverStore\FileRepository\disk.inf_amd64_d110994be2d911c1\disk.inf - 设备描述:磁盘驱动器
- 签名来源:
INBOX(Windows内置驱动) - 驱动版本:
10.0.22621.4391
- 硬件ID:
-
设备类GUID更改为:
{4d36e967-e325-11ce-bfc1-08002be10318}(磁盘驱动器类)
1.5 VID和PID解析
设备标识符中的VID_xxxx和PID_xxxx:
VID:供应商代码(4位十六进制)PID:产品代码(4位十六进制)
示例:USB\VID_0781&PID_5591\
VID_0781:供应商代码,可查询对应厂商PID_5591:产品代码,供应商分配
2. Kernel-PnP日志分析
2.1 Configuration日志
主要事件ID:
400:已配置设备410:已启动设备411:设备在启动时出现问题420:已删除设备421:无法删除设备430:设备需要进一步安装
2.2 Driver Watchdog日志
记录驱动设备启动过程时间过长的信息,包括:
- 线程ID
- 设备信息
- 服务信息
3. DeviceSetupManager日志
3.1 日志文件
Microsoft-Windows-DeviceSetupManager%4Operational.evtxMicrosoft-Windows-DeviceSetupManager%4Admin.evtx
3.2 关键字段
Prop_DeviceName:设备名称(如"LEGION M500")Prop_TaskCount:设备安装/配置过程中的任务总数Prop_ContainerId:设备UUID(可能因接口变化而变化,不唯一)
注意:同一设备的ContainerId可能变化,需结合设备名、VID、PID等综合判断。
4. Amcache日志分析
4.1 日志位置
C:\Windows\appcompat\Programs\Amcache.hve
4.2 解析方法
使用工具AmcacheParser.exe:
AmcacheParser.exe -f "C:\Windows\appcompat\Programs\Amcache.hve" --csv result
4.3 记录内容
包含设备驱动的详细信息:
- 驱动ID
- 硬件ID
- 厂商名
- 设备型号
- 驱动目录
- 版本号等
5. 综合分析建议
- 多日志关联分析:将SetupAPI日志与Kernel-PnP、DeviceSetupManager日志交叉验证
- 时间线分析:关注设备插入、驱动加载的时间序列
- 异常驱动检测:
- 非Windows内置驱动(非INBOX签名)
- 异常硬件ID
- 非常规驱动加载路径
- 设备唯一性判断:结合VID/PID、序列号、设备名等多因素识别
- 工具辅助:
- 使用
usbdetective.com社区版解析USB设备信息 - 使用
AmcacheParser解析Amcache日志
- 使用
通过综合分析这些日志,可以有效追踪USB设备使用记录,识别可疑设备或恶意驱动加载行为。