Skip to content

USBSTOR : numéros de série et horodatages 0064–0067

Lire Enum\USBSTOR et Enum\USB dans la ruche SYSTEM : fabricant, produit, numéro de série, ID générés, ContainerID et horodatages des propriétés.

Publié le 3 min de lecture

En bref. SYSTEM\ControlSet00x\Enum\USBSTOR\<Disk&Ven_…&Prod_…&Rev_…>\<serial>&<LUN> identifie chaque périphérique de stockage de masse USB. Sa sous-clé Properties\{83da6326-97a6-4088-9453-a1923f573b29} contient quatre FILETIME : 0064 date d’installation, 0065 date de première installation, 0066 dernière arrivée, 0067 dernier retrait. Un numéro de série dont le deuxième caractère est & a été fabriqué par Windows.

Anatomie d’une entrée 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 clé de classe encode le fabricant, le produit et la révision tels que renvoyés par les données SCSI inquiry du périphérique ; les tirets bas remplacent les espaces.
  • La clé d’instance est de la forme numéro de série & LUN. Retirez le &0 final pour comparer avec les autres sources.
  • FriendlyName est le nom affiché par le Gestionnaire de périphériques ; ContainerID regroupe les nœuds de périphérique appartenant au même périphérique physique (ContainerID).

Lisez le control set désigné par Select\Current : les autres control sets peuvent contenir des copies plus anciennes.

Enum\USB : le côté USB du même périphérique

Enum\USB\VID_3F10&PID_4C21\CS1234567890 est le nœud du périphérique USB : identifiants fabricant et produit, le Service (USBSTOR pour le stockage de masse, HidUsb pour une souris) et le même ContainerID. Pour les périphériques dotés d’un vrai numéro de série, le nom d’instance correspond au numéro de série USBSTOR ; pour les autres, chaque côté reçoit un ID généré différent et seul le ContainerID les relie.

Toutes les entrées de Enum\USB ne sont pas des périphériques de stockage : concentrateurs, claviers et souris s’y trouvent aussi. Filtrez sur le service ou sur un lien vers USBSTOR.

Les horodatages des propriétés

Windows 8 et versions ultérieures stockent les propriétés du périphérique sous la clé d’instance. Les quatre qui nous intéressent proviennent de devpkey.h, où elles correspondent aux identifiants de propriété 100 à 103 de {83da6326-97a6-4088-9453-a1923f573b29} :

CléPropriétéSignification
0064DEVPKEY_Device_InstallDateInstallation la plus récente du périphérique
0065DEVPKEY_Device_FirstInstallDatePremière installation sur ce système
0066DEVPKEY_Device_LastArrivalDateDernière connexion
0067DEVPKEY_Device_LastRemovalDateDernier retrait

Chacune est la valeur par défaut de sa clé, de type 0xFFFF0010 (une propriété de périphérique de type FILETIME). Windows 7 utilisait une arborescence plus profonde (00000065\00000000, valeur Data). Certains guides publiés inversent 0064 et 0065 ; les définitions de propriétés ci-dessus font référence, et des outils comme regipy les respectent.

Deux précautions : ces clés ne conservent que la dernière arrivée et le dernier retrait, et la désinstallation du périphérique depuis le Gestionnaire de périphériques les supprime — la connexion suivante repart de zéro. C’est pourquoi setupapi.dev.log peut montrer une première installation antérieure à 0065 ; voir setupapi.dev.log pour l’USB.

Numéros de série générés par Windows

Lorsqu’un périphérique ne fournit aucun numéro de série (ou un numéro que Windows ne considère pas comme unique), Windows construit un ID d’instance tel que 7&1f2e3d4c&0. L’indice révélateur est le & en deuxième position. Cet ID dépend de l’endroit où le périphérique a été branché et n’a aucune signification sur un autre ordinateur. Identifiez plutôt un tel périphérique par son fabricant, son produit, sa capacité, son numéro de série de volume et la chronologie. Plus de détails dans numéro de série généré par Windows.

Au-delà de USBSTOR

  • Les entrées Enum\SWD\WPDBUSENUM (vue « appareil portable » du volume) portent le nom de volume dans FriendlyName.
  • MountedDevices fournit la lettre de lecteur et le GUID de volume.
  • Côté utilisateur, tout commence par MountPoints2.

USB Forensics lit l’ensemble de ces sources et affiche les horodatages de chaque périphérique avec une pastille indiquant la clé exacte dont ils proviennent, à côté des enregistrements des journaux d’événements qui les confirment ou les contredisent.

Articles liés

Chaque artefact Windows qui trace une clé USB — registre, setupapi.dev.log, journaux d’événements, LNK, Jump Lists, ShellBags — et comment les relier.
Une intrusion fictive analysée avec USB Forensics : trouver la clé, confirmer quand elle a été branchée, attribuer le compte et lister les fichiers copiés.
Relier raccourcis, Jump Lists, ShellBags et événements 4663 à une clé USB par numéro de série de volume, lettre de lecteur et heure, et nommer l’utilisateur.