Skip to content

Análisis forense de dispositivos USB en Windows: el mapa

Todos los artefactos de Windows que registran una memoria USB — registro, setupapi.dev.log, eventos, LNK, Jump Lists, ShellBags — y cómo vincularlos.

Publicado el 5 min de lectura

En resumen. Ningún artefacto de Windows cuenta por sí solo toda la historia de una memoria USB. El hive SYSTEM identifica el dispositivo y aporta cuatro marcas de tiempo de propiedades; setupapi.dev.log fecha su primera instalación; los registros de eventos fechan cada conexión y extracción; los artefactos por usuario (MountPoints2, accesos directos, Jump Lists, ShellBags) muestran quién lo usó y qué se abrió en él. El trabajo del analista consiste en unirlos, y las claves que los unen son el número de serie / ID de instancia, el GUID de volumen y el número de serie del volumen.

Las tres preguntas

Una investigación USB casi siempre plantea las mismas tres preguntas:

  1. ¿Qué dispositivo? Fabricante, modelo, número de serie y si ese número de serie es real.
  2. ¿Cuándo? La primera conexión, cada conexión y extracción posteriores, y la última.
  3. ¿Quién y qué? Qué cuenta lo montó y qué archivos y carpetas se abrieron, escribieron o leyeron en él.

Cada pregunta la responde una familia distinta de artefactos, y cada familia tiene su propio identificador para el mismo dispositivo. Por eso el análisis USB se parece tanto a un trabajo de costura.

Qué dispositivo: el hive SYSTEM

Bajo ControlSet00x\Enum\USBSTOR, Windows mantiene una clave por clase de dispositivo de almacenamiento masivo (Disk&Ven_Contoso&Prod_SecureFlash&Rev_1.00) con una subclave por instancia (CS1234567890&0). El nombre de la instancia es el número de serie del dispositivo seguido de & y un número de LUN. Consulta USBSTOR.

Dos advertencias:

  • Si el segundo carácter del número de serie es & (por ejemplo 7&1f2e3d4c&0), el dispositivo no informó un número de serie utilizable y Windows generó el ID. Solo es único en este equipo — consulta número de serie generado por Windows.
  • Enum\USB\VID_xxxx&PID_yyyy\<serial> contiene la parte USB (identificadores de fabricante y de producto). Comparte un ContainerID con la entrada de USBSTOR, lo que los vincula incluso cuando sus nombres de instancia difieren.

Cada clave de instancia tiene además una subclave Properties\{83da6326-97a6-4088-9453-a1923f573b29} con las marcas de tiempo de propiedades del dispositivo: 0064 fecha de instalación, 0065 fecha de primera instalación, 0066 última conexión, 0067 última extracción. El artículo sobre USBSTOR las trata en detalle.

MountedDevices asocia letras de unidad y GUID de volumen con dispositivos, y el hive SOFTWARE añade etiquetas de volumen (Windows Portable Devices) y, en sistemas donde se evaluó ReadyBoost, entradas de EMDMgmt que emparejan el número de serie de un dispositivo con una etiqueta de volumen y un número de serie del volumen.

Cuándo: setupapi y los registros de eventos

  • C:\Windows\INF\setupapi.dev.log tiene una sección por cada instalación de dispositivo. La primera sección de un dispositivo corresponde a su primera conexión a este equipo. Sus horas están en hora local — consulta setupapi.dev.log para USB.
  • Microsoft-Windows-Partition/Diagnostic, evento 1006, se registra cuando llega un disco (con modelo, número de serie, tabla de particiones y registros de arranque de volumen) y, según la investigación de profesionales del sector, de nuevo con capacidad cero cuando el disco desaparece. Es la fuente individual más rica en Windows 10 1703 y posteriores — consulta Partition/Diagnostic 1006.
  • Kernel-PnP/Configuration 400/410 registran la configuración y el inicio del dispositivo; DriverFrameworks-UserMode 2003 / 2100–2102 registran la llegada y la extracción UMDF cuando ese canal está habilitado; Security 6416 registra que se reconoció un nuevo dispositivo externo cuando Auditar actividad PNP está activado.

Las marcas de tiempo del registro dan la última conexión y extracción; los registros de eventos dan todas las que aún conservan. Cuando discrepan, la propia discrepancia es evidencia: una reinstalación, registros de eventos sobrescritos o un hive copiado en otro momento.

Quién y qué: artefactos por usuario

Los artefactos de todo el sistema nunca nombran a un usuario. Para eso necesitas cada perfil:

  • MountPoints2 en NTUSER.DAT lista los GUID de volumen montados en la sesión de ese usuario. Crúzalos con MountedDevices — consulta MountPoints2.
  • Los accesos directos (Recent\*.lnk) y las Jump Lists guardan la ruta de destino y el tipo de unidad, la etiqueta y el número de serie del volumen. El número de serie vincula un archivo con una memoria física incluso cuando la letra de unidad se reutilizó.
  • Las ShellBags registran las carpetas exploradas en el Explorador, solo con la letra de unidad.
  • Security 4663 sobre almacenamiento extraíble (cuando Auditar almacenamiento extraíble está activado) registra lecturas y escrituras de archivos, con una ruta \Device\HarddiskVolumeN.

El artículo sobre LNK, Jump Lists y ShellBags explica cómo atribuirlos.

Unirlo todo

ClaveDónde aparece
Número de serie / ID de instanciaUSBSTOR, USB, WPDBUSENUM, datos de MountedDevices, EMDMgmt, setupapi, Kernel-PnP, 6416, ParentId de 1006
Container IDUSB, USBSTOR, SWD\WPDBUSENUM
GUID de volumenMountedDevices, MountPoints2
Número de serie del volumenRegistro de arranque del volumen en 1006, EMDMgmt, VolumeID de LNK / Jump List

USB Forensics realiza esta unión en tu navegador: suelta una colección de triage y obtendrás una ficha por dispositivo, una línea de tiempo y etiquetas de evidencia que indican el archivo y la clave, el registro o la línea que respalda cada dato. La guía de recopilación enumera qué hay que recopilar.

Artículos relacionados

Una intrusión ficticia analizada con USB Forensics: localizar la memoria, confirmar cuándo se conectó, atribuir la cuenta y listar los archivos copiados.
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.
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.