A la hora de administrar una red local, entre otras
muchas tareas que ya hemos visto, es posible que tengamos que controlar
ciertos tipos de activades relativas a dispositivos conectados a las
máquinas de los usuarios como dispositivos USB, teléfonos moviles, cámaras digitales, adaptadores WiFi, Bluetooth, etc. Los dispositivos conectados a través de puertos USB pueden acarrearnos muchos problemas de seguridad y fugas de información.
En esta ocasión veremos la forma de auditar este tipo
de dispositivos, historial de uso y toda la información relativa a cada
dispositivo conectado, así como fechas. Lo veremos a través del registro de Windows y programas diseñados para tal efecto y como pueden ser USB History Dump, USBDeview y DeviceLock Plug and Play Auditor.
El Registro de Windows.
Cuando a una máquina se conecta un dispositivo USB, el administrador
Plug and Play recibe una notificación, consulta el descriptor de
dispositivos para obtener información tal como el fabricante, etc para
encontrar un driver o controlador para el dispositivo o cargar un nuevo
controlador. Todo esto queda reflejado en el archivo setupapi.log
que registra información relativa a los dispositivos instalados,
drivers y el historial de instalación y errores. También se almacenará
la fecha y la hora en que el dispositivo de almacenamiento extraíble
USB se conectó al sistema por primera vez:
[2010/01/21 12:33:16 644.7 Driver Install]
#-019 Buscando Id. de hardware: usbstor\diskkingstondatatraveler_2.01.00,usbstor\diskkingstondatatraveler_2.0,usbstor\diskkingston,usbstor\kingstondatatraveler_2.01,kingstondatatraveler_2.01,usbstor\gendisk,gendisk
#-018 Buscando Id. compatibles: usbstor\disk,usbstor\raw
#-198 Línea de comando procesada: C:\WINDOWS\system32\services.exe
#I022 Encontrado “GenDisk” en C:\WINDOWS\Inf\disk.inf; Dispositivo: “Unidad de disco”; Controlador: “Unidad de disco”; Proveedor: “Microsoft”; Fab: “(Unidades de disco estándar)”; Nombre de sección:”disk_install”.
#I023 Sección de instalación actual: [disk_install.NT]. Rango: 0×00000006. Fecha de controlador efectiva: 07/01/2001.
#-166 Función de instalación de dispositivo: DIF_SELECTBESTCOMPATDRV.
#I063 El controlador seleccionado se instala desde la sección [disk_install] in “c:\windows\inf\disk.inf”.
#I320 El GUID de clase del dispositivo se conservará como {4D36E967-E325-11CE-BFC1-08002BE10318}.
#I060 Se ha establecido el controlador seleccionado.
#I058 Se ha seleccionado el mejor controlador compatible.
#-166 Función de instalación de dispositivo: DIF_INSTALLDEVICEFILES.
#I124 Realizando instalación sólo de copia de “USBSTOR\DISK&VEN_KINGSTON&PROD_DATATRAVELER_2.0&REV_1.00703120512562&0″.
#-166 Función de instalación de dispositivo: DIF_REGISTER_COINSTALLERS.
#I056 Coinstaladores registrados.
#-166 Función de instalación de dispositivo: DIF_INSTALLINTERFACES.
#-011 Instalando sección [disk_install.NT.Interfaces] desde “c:\windows\inf\disk.inf”.
#I054 Se han instalado las interfaces.
#-166 Función de instalación de dispositivo: DIF_INSTALLDEVICE.
#I123 Realizando instalación completa de “USBSTOR\DISK&VEN_KINGSTON&PROD_DATATRAVELER_2.0&REV_1.00703120512562&0″.
#I121 La instalación del dispositivo de “USBSTOR\DISK&VEN_KINGSTON&PROD_DATATRAVELER_2.0&REV_1.00\0703120512562&0” terminó correctamente.
#-019 Buscando Id. de hardware: usbstor\diskkingstondatatraveler_2.01.00,usbstor\diskkingstondatatraveler_2.0,usbstor\diskkingston,usbstor\kingstondatatraveler_2.01,kingstondatatraveler_2.01,usbstor\gendisk,gendisk
#-018 Buscando Id. compatibles: usbstor\disk,usbstor\raw
#-198 Línea de comando procesada: C:\WINDOWS\system32\services.exe
#I022 Encontrado “GenDisk” en C:\WINDOWS\Inf\disk.inf; Dispositivo: “Unidad de disco”; Controlador: “Unidad de disco”; Proveedor: “Microsoft”; Fab: “(Unidades de disco estándar)”; Nombre de sección:”disk_install”.
#I023 Sección de instalación actual: [disk_install.NT]. Rango: 0×00000006. Fecha de controlador efectiva: 07/01/2001.
#-166 Función de instalación de dispositivo: DIF_SELECTBESTCOMPATDRV.
#I063 El controlador seleccionado se instala desde la sección [disk_install] in “c:\windows\inf\disk.inf”.
#I320 El GUID de clase del dispositivo se conservará como {4D36E967-E325-11CE-BFC1-08002BE10318}.
#I060 Se ha establecido el controlador seleccionado.
#I058 Se ha seleccionado el mejor controlador compatible.
#-166 Función de instalación de dispositivo: DIF_INSTALLDEVICEFILES.
#I124 Realizando instalación sólo de copia de “USBSTOR\DISK&VEN_KINGSTON&PROD_DATATRAVELER_2.0&REV_1.00703120512562&0″.
#-166 Función de instalación de dispositivo: DIF_REGISTER_COINSTALLERS.
#I056 Coinstaladores registrados.
#-166 Función de instalación de dispositivo: DIF_INSTALLINTERFACES.
#-011 Instalando sección [disk_install.NT.Interfaces] desde “c:\windows\inf\disk.inf”.
#I054 Se han instalado las interfaces.
#-166 Función de instalación de dispositivo: DIF_INSTALLDEVICE.
#I123 Realizando instalación completa de “USBSTOR\DISK&VEN_KINGSTON&PROD_DATATRAVELER_2.0&REV_1.00703120512562&0″.
#I121 La instalación del dispositivo de “USBSTOR\DISK&VEN_KINGSTON&PROD_DATATRAVELER_2.0&REV_1.00\0703120512562&0” terminó correctamente.
A continuación genera una entrada en el registro denominada Device Class ID en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR que identifica la clase del dispositivo.
Bajo esta clave se crea otra clave ID de formá uníca ó Unique Instance ID utilizando el número de serie del dispositivo o de no haberlo obtenido o encontrado, el sistema genera un identificador también único. Eso lo podemos identificar si el segundo carácter del identificador ( Unique Iinstance ID ) contiene el símbolo &.
Lo vemos:
En rojo tenemos el Device Class ID y en azul el Unique Instance ID.
En la ventana de la derecha del editor de registro vemos también:
Observamos que el ClassGUID 4D36E967-E325-11CE-BFC1-08002BE10318 lo tenemos también en el fragmento del archivo setupapi.log que tenemos más arriba.
Observad el ParentIdPrefix: 7&146f1415&0 que lo usaremos un poco más abajo.
Si realizamos una búsqueda en el registro por el valor de Unique Instance ID que más arribas tenemos marcado en azul: 0703120512562&0 vemos que lo encontramos en:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses
Enmarcado en rojo tenemos el valor de Unique Instance ID que más arribas tenemos marcado en azul: 0703120512562&0
Un poco más abajo tenemos otra subclave que contiene el ParentIdPrefix: 7&146f1415&0 :
Estas dos subclaves anteriores corresponden a Class GUID keys de disco y de volumen.
Tenemos otra clave HKEY_LOCAL_MACHINE\SYSTEM\MountedDevices
Aquí y con el valor de ParentIdPrefix, veremos en que volumen se montó el dispositivo USB. Solo tenemos que editar el valor binario para en la parte en Haxadecimal buscar el valor ParentIdPrefix mencionado:
En este caso no aparece el volumen. Puede ocurrir. En la mayoría si:
En este último caso, y buscando en la clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR vemos que se trata de un dispositivo similar para el cual se ha creado un Unique Instance ID diferente:
Vamos ahora con las fechas y otras informaciones que nos pueda aportar las claves. Si volvemos a HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\DeviceClasses
y elegimos la subclave que nos interesa, por ejemplo, las mismas
marcadas en el ejemplo más arriba reseñado, hacemos lo siguiente: botón derecho del ratón y explortar en archivo .txt, si lo editamos encontraremos:
Software para auditar eventos de dispositivos USB.
Para esta tarea tenemos programas como USBDeview o DeviceLock Plug and Play Auditor que, además, puede auditar Firewire (IEEE 1394) y PCMCIA. Para usar en la consola DOS, tenemos también USB History Viewing. que, además, puede auditar Firewire (IEEE 1394) y PCMCIA. Para usar en la consola DOS, USB History Dump.
DeviceLock Plug and Play Auditor
Con DeviceLock Plug and Play Auditor podenos escanear una red local en busca de dispositivos en pouertos USB:
La información que nos aporta es mucha y como vemos más abajo tenemos dispositivos moviles Nokia, USB extraibles, etc y además información de si está en este momento en uso:
Para poder entrar en las máquinas a escanear, previamente hay que introducir las credenciales desde el menu File > Credentials..
Tenemos las siguientes columnas de información:
- Description: la descripción del dispositivo que proporciona su fabricante.
- Device Information: información adicional relativa al dispositivo proporcionada por el fabricante.
- Connected to: interfaz donde está conectado el dispositivo (USB, FireWire oPCMCIA).
- Class: la clase del dispositivo proporcionada por Windows.
- Class description: la descripción de la clase del dispositivo proporcionada por Windows.
- Present: indica si el dispositivo está actualmente conectado o no (Yes o No).
- DeviceID: texto proporcionado por el fabricante que identifica un dispositivo en particular.
- Driver: nombre del controlador que está controlando este dispositivo.
USBDView.
Al ejecutar el programa:
botón derecho del ratón en cualquiera de los items y Propiedades.
Como veis no tiene mucha historia:
USB History Dump.
Lo descargamos desde aquí: http://sourceforge.net/projects/usbhistory/files/usbhistory/release%20one/usbHistory.r1.i386.zip/download
Lo ejecutamos desde una consola DOS:
Aquí tenemos información relativa a:
- Unique InstanceID
- ParentIdPrefix
- en que unidad se montó el dispositivo por última vez
- Disk Stamp y Volume Stamp.
Del los ejemplos que hemos visto más arriba en el registro de Windows:
(6) — Kingston DataTraveler 2.0 USB Device
instanceID: 0703120512562&0
ParentIdPrefix: 7&146f1415&0
Driver:{4D36E967-E325-11CE-BFC1-08002BE10318}002
Disk Stamp: 05/13/2010 07:56
Volume Stamp: 05/13/2010 07:56
ParentIdPrefix: 7&146f1415&0
Driver:{4D36E967-E325-11CE-BFC1-08002BE10318}002
Disk Stamp: 05/13/2010 07:56
Volume Stamp: 05/13/2010 07:56
instanceID: 2008012500000000000002AB&0
ParentIdPrefix: 7&15730ba3&0
Driver: {4D36E967-E325-11CE-BFC1-08002BE10318}011
Disk Stamp: 04/15/2010 13:35
Volume Stamp: 04/15/2010 13:35
ParentIdPrefix: 7&15730ba3&0
Driver: {4D36E967-E325-11CE-BFC1-08002BE10318}011
Disk Stamp: 04/15/2010 13:35
Volume Stamp: 04/15/2010 13:35
instanceID: 20080125000000000000039D&0
ParentIdPrefix: 7&154fd82a&0
Last Mounted As: \DosDevices\E:
Driver: {4D36E967-E325-11CE-BFC1-08002BE10318}003
Disk Stamp: 05/13/2010 12:03
Volume Stamp: 05/13/2010 12:03
—————
ParentIdPrefix: 7&154fd82a&0
Last Mounted As: \DosDevices\E:
Driver: {4D36E967-E325-11CE-BFC1-08002BE10318}003
Disk Stamp: 05/13/2010 12:03
Volume Stamp: 05/13/2010 12:03
—————