Skip to content

USBSTOR: números de serie y marcas de tiempo 0064–0067

Cómo leer Enum\USBSTOR y Enum\USB en el hive SYSTEM: fabricante, producto, número de serie, IDs generados por Windows, ContainerID y marcas de tiempo.

Publicado el 3 min de lectura

En resumen. SYSTEM\ControlSet00x\Enum\USBSTOR\<Disk&Ven_…&Prod_…&Rev_…>\<serial>&<LUN> identifica cada dispositivo de almacenamiento masivo USB. Su subclave Properties\{83da6326-97a6-4088-9453-a1923f573b29} contiene cuatro FILETIME: 0064 fecha de instalación, 0065 fecha de primera instalación, 0066 última conexión, 0067 última extracción. Un número de serie cuyo segundo carácter es & lo ha generado Windows.

Anatomía de una entrada de USBSTOR

Enum\USBSTOR\Disk&Ven_Contoso&Prod_SecureFlash&Rev_1.00\CS1234567890&0
    FriendlyName = Contoso SecureFlash USB Device
    ContainerID  = {5c1e2a7d-8b34-4f0e-9d61-2a7c4e9b0f13}
    Properties\{83da6326-97a6-4088-9453-a1923f573b29}\0064 … 0067
  • La clave de clase codifica fabricante, producto y revisión tal como los informan los datos SCSI inquiry del dispositivo; los guiones bajos representan espacios.
  • La clave de instancia es número de serie & LUN. Quita el &0 final para compararla con otras fuentes.
  • FriendlyName es lo que muestra el Administrador de dispositivos; ContainerID agrupa los nodos de dispositivo que pertenecen al mismo dispositivo físico (ContainerID).

Lee el control set indicado por Select\Current: los demás control sets pueden contener copias más antiguas.

Enum\USB: la parte USB del mismo dispositivo

Enum\USB\VID_3F10&PID_4C21\CS1234567890 es el nodo de dispositivo USB: identificadores de fabricante y de producto, el Service (USBSTOR para almacenamiento masivo, HidUsb para un ratón) y el mismo ContainerID. En los dispositivos con un número de serie real, el nombre de la instancia coincide con el número de serie de USBSTOR; en los demás, cada lado recibe un ID generado distinto y solo el ContainerID los vincula.

No todas las entradas de Enum\USB son de almacenamiento: los concentradores, teclados y ratones también están ahí. Filtra por el servicio o por un vínculo con USBSTOR.

Las marcas de tiempo de propiedades

Windows 8 y posteriores guardan las propiedades del dispositivo bajo la clave de instancia. Las cuatro que interesan aquí proceden de devpkey.h, donde son los identificadores de propiedad 100 a 103 de {83da6326-97a6-4088-9453-a1923f573b29}:

ClavePropiedadSignificado
0064DEVPKEY_Device_InstallDateInstalación más reciente del dispositivo
0065DEVPKEY_Device_FirstInstallDatePrimera instalación en este sistema
0066DEVPKEY_Device_LastArrivalDateÚltima vez que se conectó
0067DEVPKEY_Device_LastRemovalDateÚltima vez que se extrajo

Cada una es el valor predeterminado de su clave, con tipo 0xFFFF0010 (una propiedad de dispositivo de tipo FILETIME). Windows 7 usaba una estructura más profunda (00000065\00000000, valor Data). Algunas guías publicadas intercambian 0064 y 0065; las definiciones de propiedades anteriores son la referencia, y herramientas como regipy las siguen.

Dos precauciones: estas claves solo contienen la última conexión y extracción, y desinstalar el dispositivo desde el Administrador de dispositivos las elimina — la siguiente conexión empieza de cero. Por eso setupapi.dev.log puede mostrar una primera instalación anterior a 0065; consulta setupapi.dev.log para USB.

Números de serie generados por Windows

Cuando un dispositivo no informa ningún número de serie (o uno que Windows no considera único), Windows construye un ID de instancia como 7&1f2e3d4c&0. La señal es el & en segunda posición. El ID depende del puerto donde se conectó el dispositivo y no significa nada en otro equipo. En ese caso, identifica el dispositivo por fabricante, producto, capacidad, número de serie del volumen y horas. Más información en número de serie generado por Windows.

Más allá de USBSTOR

  • Las entradas de Enum\SWD\WPDBUSENUM (vista de dispositivo portátil del volumen) llevan la etiqueta de volumen como FriendlyName.
  • MountedDevices proporciona la letra de unidad y el GUID de volumen.
  • La parte de cada usuario empieza por MountPoints2.

USB Forensics lee todas estas fuentes y muestra las marcas de tiempo de cada dispositivo con una etiqueta que indica la clave exacta de la que proceden, junto a los registros de eventos que las confirman o contradicen.

Artículos relacionados

Todos los artefactos de Windows que registran una memoria USB — registro, setupapi.dev.log, eventos, LNK, Jump Lists, ShellBags — y cómo vincularlos.
Una intrusión ficticia analizada con USB Forensics: localizar la memoria, confirmar cuándo se conectó, atribuir la cuenta y listar los archivos copiados.
Vincula accesos directos, Jump Lists, ShellBags y eventos 4663 con un dispositivo USB físico mediante números de serie, letras de unidad y horas.