Partition/Diagnostic 1006: conexiones USB y números de serie
El evento 1006 de Microsoft-Windows-Partition/Diagnostic registra cada disco USB con modelo, serie y VBR. Cómo leerlo y obtener el número de serie del volumen.
En resumen. En Windows 10 1703+, cada llegada de un disco escribe el evento 1006 en Microsoft-Windows-Partition/Diagnostic con el fabricante, el modelo, el número de serie, la capacidad, el ID del dispositivo padre, la tabla de particiones, el MBR y los registros de arranque de volumen. El registro de arranque proporciona el número de serie del volumen (VSN) — el valor que guardan los accesos directos y las Jump Lists —, así que el 1006 es el puente entre un dispositivo físico y los archivos abiertos en él.
Qué contiene el evento
Los campos de EventData más útiles:
| Campo | Uso |
|---|---|
Manufacturer, Model, Revision, SerialNumber | Lo que informa la pila de almacenamiento (puede diferir del número de serie del descriptor en USBSTOR) |
ParentId | La instancia del dispositivo USB, p. ej. USB\VID_3F10&PID_4C21\CS1234567890 — vincula el evento con Enum\USB |
BusType | 7 para USB (12 SD, 13 MMC); los demás buses corresponden a discos internos |
Capacity | Bytes; los profesionales indican 0 al extraer el disco |
PartitionStyle, PartitionTable, Mbr | Estructura MBR/GPT; la firma de disco del MBR también aparece en MountedDevices |
Vbr0…Vbr3 | Registro de arranque de cada partición, en binario |
La lista exacta de campos varía entre compilaciones de Windows, así que lee los campos por nombre y no por posición.
El número de serie del volumen a partir del VBR
El número de serie del volumen está en un desplazamiento fijo del sector de arranque, que depende del sistema de archivos (comprueba primero el nombre OEM en el desplazamiento 3):
| Sistema de archivos | Identificación | Desplazamiento del número de serie | Tamaño |
|---|---|---|---|
| NTFS | OEM NTFS | 0x48 | 8 bytes (Windows muestra los 4 inferiores) |
| exFAT | OEM EXFAT | 0x64 | 4 bytes |
| FAT32 | FAT32 en 0x52 | 0x43 | 4 bytes |
| FAT12/16 | FAT1x en 0x36 | 0x27 | 4 bytes |
Lee los cuatro bytes en little-endian y muéstralos como XXXX-XXXX. Una memoria formateada en exFAT con los bytes A2 51 9D 3C en 0x64 tiene el número de serie 3C9D-51A2 — exactamente lo que un acceso directo a un archivo de esa memoria registra en su VolumeID. Consulta número de serie del volumen.
Al formatear se crea un nuevo número de serie. Si un mismo dispositivo muestra dos números de serie en sus eventos 1006, se reformateó entre ellos: los archivos abiertos bajo cada número de serie pertenecen a la misma memoria física.
Conexiones, extracciones y huecos
Empareja cada llegada (capacidad > 0) con el siguiente evento de capacidad cero para obtener las ventanas de conexión. Después compáralas con el registro: 0066 (última conexión) debería coincidir con la llegada más reciente del registro de eventos. Si el registro es más reciente y ningún evento coincide, el registro de eventos se sobrescribió o se borró; si el registro de eventos es más reciente, puede que el hive se copiara antes. Conviene documentar ambas situaciones, no disimularlas.
Limitaciones
- Solo Windows 10 1703+; los sistemas más antiguos requieren setupapi.dev.log y los eventos de Kernel-PnP y DriverFrameworks.
- El registro de eventos tiene un tamaño máximo y se sobrescribe.
- El
SerialNumberdel 1006 es el número de serie de almacenamiento, que puede diferir del número de serie USB de USBSTOR;ParentIdes el vínculo fiable.
USB Forensics decodifica cada registro 1006, extrae el sistema de archivos y el VSN de cada VBR y los vincula con el dispositivo y con los accesos directos que mencionan el mismo VSN — cada dato con una etiqueta que apunta al número de registro. Más contexto en el mapa completo de artefactos USB.