Difference between pages "USB History Viewing" and "Bruce Allen"

From ForensicsWiki
(Difference between pages)
Jump to: navigation, search
 
 
Line 1: Line 1:
Windows systems (Microsoft Windows 2000/XP/2003/Vista) will record artifacts as a result of USB removable storage devices (thumb drives, iPods, digital cameras, external HDD, etc.) being connected to the system.
+
Bruce Allen is a Research Associate at the [http://www.nps.edu Naval Postgraduate School] in Monterey, California.
  
When a USB removable storage device is connected to a Windows system for the first time, the Plug and Play (PnP) Manager receives the event notification, queries the device descriptor for the appropriate information to develop a device class identifier (device class ID) and attempts to locate the appropriate driver for that device.
+
Interests include Software architecture, computer languages, parallel computing, parallel processor architectures, and supporting open-source software. Software contributions include development of the [[hashdb]] tool, development of the [[Bulk Extractor Viewer]] User Interface (used to browse Features extracted using the [[Bulk Extractor]] digital media triage tool), some of the Bulk Extractor scanners, the jlibewf and libewfcs readers, and implementations of high speed encryption and hashing algorithms that run on the Cell Broadband Engine processor.
 
+
Looking for and installing the correct driver for the device is recorded in the [http://www.microsoft.com/whdc/driver/install/setupapilog.mspx setupapi.log] file.  For example:
+
 
+
    [2007/06/10 21:25:41 1140.8 Driver Install]
+
    #-019 Searching for hardware ID(s): usbstor\disksandisk_u3_cruzer_micro_3.27,...
+
 
+
This provides the date and time that the removable storage device was first connected to the system.  The Windows system will also create an entry in the Registry beneath the HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\ key using the device class ID:
+
 
+
    Disk&Ven_SanDisk&Prod_U3_Cruzer_Micro&Rev_3.27
+
 
+
This identifies the class of the device.  Beneath this Registry key, a unique instance ID key will be created, using either the serial number retrieved from the device's device descriptor (you can use [http://www.microsoft.com/whdc/device/stream/vidcap/UVCView.mspx UVCView] to view the contents of the device descriptor), or, if the device does not have a serial number, using an identifier generated by the system itself (based on additional information retrieved from the device descriptor, the USB port the device was plugged into, etc...the vendor has not publicized the algorithm used to generate this identifier).  For example:
+
 
+
    0000161511737EFB&0
+
 
+
Note: If the second character of the unique instance ID is a '&', then the ID was generated by the system, as the device did not have a serial number.
+
 
+
Beneath this key are several Registry values that provide information about the device itself.  Of particular note is the ParentIdPrefix value; this value can be used to map to the MountedDevices Registry key in order to identify the drive letter to which the device was mounted.  Beneath the MountedDevices Registry key are several values, all of which are REG_BINARY data types.  With RegEdit open, select one of the values that begins with "\DosDevices\" and includes a drive letter.  The value selected should be one whose data begins with "5C 00 3F 00 3F 00".  Right-click the value name and choose "Modify".  When the "Edit Binary Value" dialog appears, you will see the binary data displayed as if it were viewed in a hex viewer.  On the right-most column, you should see what appears as:
+
 
+
    \??\STORAGE#RemovableMedia#'''7&2c9a320d&0'''&RM#{53f5630d...
+
 
+
The portion in bold is the ParentIdPrefix for the device.
+
 
+
In order to determine the last time the device was connected to the system, we have to navigate to the following Registry key:
+
 
+
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses
+
 
+
Beneath this key are two other keys of interest:
+
 
+
    {53f56307-b6bf-11d0-94f2-00a0c91efb8b}
+
 
+
and  
+
 
+
    {53f5630d-b6bf-11d0-94f2-00a0c91efb8b}
+
 
+
These are Device Class GUID keys for Disks and Volumes, respectively.  Beneath the Disk GUID key are several subkeys that appear as follows (the key name is wrapped):
+
 
+
    ##?#USBSTOR#Disk&Ven_SanDisk&Prod_U3_Cruzer_Micro&Rev_3.27#'''0000161511737EFB&0'''
+
    #{53f56307-b6bf-11d0-94f2-00a0c91efb8b}
+
 
+
The bold portion of the key name is the devices unique instance ID, which in this case, is also the device's serial number.  Similarly, the Volume GUID key contains subkeys for each volume that was mounted on the system, and those subkey names appear as follows:
+
 
+
    ##?#STORAGE#RemovableMedia#'''7&2c9a320d&0'''&RM#{53f5630d-b6bf-11d0-94f2-00a0c91efb8b}
+
 
+
The bold portion of the key name is the ParentIdPrefix value for the device.
+
 
+
To determine when the device was last connected to the system, obtain the LastWrite time value from the respective Disk and Volume GUID Registry keys for the device.
+
 
+
----
+
 
+
You can view a history of USB devices plugged into Windows systems (Windows 2000/XP/2003/Vista) by using [http://www.nirsoft.net/utils/usb_devices_view.html USBDeview].
+
 
+
To do this, extract the SYSTEM file from c:\Windows\System32\config (or equivalent path.) 
+
 
+
You can do this indirectly via Encase or any other system imaging format/type (.dd, .e01, etc) by extracting the "SYSTEM" file from the image to a local path.
+
 
+
Once this is complete, open up a command prompt and run USBDeview.  Example:
+
 
+
  usbdeview.exe /regfile "c:\case number\system"
+
 
+
This provides information including the device name, description, last plug/unplug date & time, serial number, etc.
+
 
+
[[Category:Howtos]]
+

Latest revision as of 15:54, 17 June 2014

Bruce Allen is a Research Associate at the Naval Postgraduate School in Monterey, California.

Interests include Software architecture, computer languages, parallel computing, parallel processor architectures, and supporting open-source software. Software contributions include development of the hashdb tool, development of the Bulk Extractor Viewer User Interface (used to browse Features extracted using the Bulk Extractor digital media triage tool), some of the Bulk Extractor scanners, the jlibewf and libewfcs readers, and implementations of high speed encryption and hashing algorithms that run on the Cell Broadband Engine processor.