Anda di halaman 1dari 42

Siguiendo el rastro

a dispositivos USB
en sistemas
Windows
Agosto 2009

Murena Myrope Lavín Martínez


CCNA, CCSA, Security +, CHFI, GCFA, CISSP
Agenda

• Introducción
• Perfil único de dispositivos USB
• SetupApi.log
• Llaves de registro
• Registros de tipo “Shellbags”
• Archivos de tipo “shortcut”
• Dispositivos U3
• Copia de archivos
• Algo sobre sistemas Linux
Los Sherlock Holmes modernos

1892:
«"Interesante aunque elemental," dijo [Sherlock
Holmes] mientras regresaba a su rincón favorito, donde
se hallaba el sofá. "Ciertamente hay dos o tres indicios
en el bastón. Nos proveen de la base para varias
deducciones."

2009:
«"Interesante, en la imagen del disco duro del
sospechoso; realizando una búsqueda de las palabras
clave del caso, fue posible recuperar de los archivos
borrados una conversación de ‘messenger’ que nos
provee de la base para varias deducciones.”
¿Qué es el análisis forense computacional?

‘Serie metódica de técnicas y procedimientos


para recopilar evidencia de equipos
computacionales y dispositivos de
almacenamiento digitales que puede ser
presentada en una corte de justicia en un
formato coherente y significativo’
Introducción

• ¿Es posible saber si un cierto


dispositivo USB estuvo
conectado a un equipo?

• ¿Es posible conocer que


archivos fueron copiados desde
o hacia este dispositivo?
Componentes de una memoria USB

1. Conector USB
2. Dispositivo de control de
almacenamiento
masivo USB (consta de
un microprocesador
RISC y un pequeño
número de circuitos de
memoria RAM y ROM)
3. Puntos de Prueba
4. Circuito de Memoria
flash
5. Oscilador de cristal
6. LED
7. Interruptor de seguridad
contra escrituras
8. Espacio disponible para
un segundo circuito de
memoria flash
Perfil Único de dispositivos USB

• Los sistemas Windows construyen un perfil único que


permite identificar individualmente a cada
dispositivo USB.
– Es persistente incluso si el equipo es apagado
– Elimina la necesidad de reinstalar el dispositivo
cada vez que se conecta al sistema
– Permite crear perfiles para dispositivos que
pertenecen al mismo fabricante
• De acuerdo a la especificación USB, este tipo de
dispositivos debe almacenar un número de serie
(que sea único) en el descriptor del dispositivo
• Windows utiliza ese número de serie junto con la
información del producto y del fabricante para
crear el identificador único del dispositivo USB.
Insertando un USB
1. El Plug and Play (PnP) Manager recibe la
notificación del evento
2. Reconoce el dispositivo y lo instala utilizando el
driver genérico USBSTOR.SYS
3. El Windows Mount Manager (MountMgr.sys)
accede al dispositivo para obtener su información
única de identificación
4. El Mount Manager crea las llaves de registro
apropiadas y le asigna una letra de drive (E:, F:, Z:,
etc.) con el que podrá ser accedido
Primera pista: SetupApi.log
• Registro de la búsqueda e instalación del driver
apropiado para controlar el dispositivo USB
• Localizado en “C:\Windows”
• Nos proporciona la fecha y hora en que el dispositivo
fue conectado por primera vez al sistema
SetupApi.log
• La herramienta SAEX permite agrupar los eventos del
archivo “SetupApi.log” y ordenarlos en un archivo
de Excel
– www.argen.og
Creando las llaves de
registro
• “HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Enum\USBSTOR\”
– Dentro de esta llave se genera una subllave
utilizando el “device ClassID” del dispositivo:

– Dentro de esta llave se genera una instancia


única que utiliza el número de serie del
dispositivo:

– Si el dispositivo no cuenta con un número de


serie, el sistema operativo utiliza un algoritmo
para generar este valor
UVCView
• La información descriptiva de los dispositivos USB NO se
encuentra localizada en el área de memoria. Una imagen forense
(copia bit a bit) del dispositivo USB NO incluirá la información del
descriptor del dispositivo
• UVCView (USB Video Class descriptor viewer) es parte del
Windows Driver Kit (WDK) y permite ver los descriptores de
cualquier dispositivo USB que se encuentre conectado al sistema.
ParentIdPrefix

• DWORD que permite relacionar el punto de montaje


(drive H:) con el dispositivo USB que estuvo montado
por última vez allí
• Cada que sea asignado un punto de montaje
diferente (H:, F:, Z:, etc.) a un dispositivo USB se crea
una nueva instancia que contiene un
“ParentIDPrefix” diferente
Asociando al punto de
montaje
• HKLM/System/Mounted Devices
• La DWORD de cada drive tiene un formato similar al
siguiente:

– La parte negra representa el valor del


ParentIDPrefix del último dispositivo USB que
estuvo montado en dicha unidad
Determinando la última vez que el dispositivo USB
estuvo conectado al sistema

• HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Control\DeviceClasses
• Subllaves genéricas de clase para dispositivos de
discos y volúmenes respectivamente
– {53f56307-b6bf-11d0-94f2-00a0c91efb8b}
– {53f5630d-b6bf-11d0-94f2-00a0c91efb8b}
• Las subllaves de “discos” tienen el siguiente formato:

– La parte en negritas corresponde al número de serie del


dispositivo
• Las subllaves de “Volumen” tienen el siguiente
formato:

– La parte en negritas corresponde al “ParentIDPrefix” del


dispositivo
Determinando la última vez que el dispositivo USB
estuvo conectado al sistema

• Búsqueda por número de serie en


“Disk GUI”
Determinando la última vez que el dispositivo USB
estuvo conectado al sistema

• Búsqueda por “ParentIDPrefix” en


“Volume GUI”
Determinando la última vez que el dispositivo USB
estuvo conectado al sistema

• Obtener la fecha de última escritura de las llaves


correspondientes
– En “regedit” colocarse en la llave
– Archivo > Exportar
– Guardar como > Archivo de texto (*.txt)
– Abrir el archivo
Determinando la última vez que el dispositivo USB
estuvo conectado al sistema

• También es posible obtener la fecha de


última escritura de las llaves utilizando la
herramienta “Regscanner” de Nirsoft
– http://www.nirsoft.net/utils/regscanner.html

– La fecha de última escritura puede ser utilizada


en el análisis de línea de tiempo de las
actividades en el sistema
Herramientas automatizadas

• USBDeview
– http://www.nirsoft.net/utils/usb_devices_v
iew.html
– Proporciona información sobre los dispositivos
USB que han estado conectados
– Incluyendo la fecha que fue desconectado por
última vez
Herramientas automatizadas
• Usbhistory.exe
– http://nabiy.sdf1.org/index.php?work=us
bHistory
– Proporciona información de la última vez que se
conecto un dispositivo USB utilizando las llaves de
disco y de volumen
Registros de tipo “shellbags”

• Windows conserva los datos de “tamaño del display”


de las carpetas en ciertos registros
• Esta información NO se limpia cuando las carpetas
asociadas son borradas
• Aún mejor, también mantiene los valores para carpetas
que residan en dispositivos de almacenamiento
externo (por ejemplo USB’s)
• Esto es útil para conocer la estructura de carpetas de
algún USB que estuvo conectado al sistema

• La herramienta “Registry Viewer” de Access Data


permite decodificar las llaves para observar la
información en formato legible
– http://www.accessdata.com/forensictoolkit.html
Registros de tipo “shellbags”

 HKCU\Software\Microsoft\Windows\Shell\BagMRU
 HKCU\Software\Microsoft\Windows\Shell\Bags
 HKCU\Software\Microsoft\Windows\ShellNoRoam\BagMRU
 HKCU\Software\Microsoft\Windows\ShellNoRoam\Bags

• Otras llaves donde se encuentra información similar a la de


“Shellbags” son:

 HKCU\Software\Microsoft\Windows\Currentversion\Explorer\Str
eamMRU
 HKCU\Software\Microsoft\Windows\Currentversion\Explorer\Str
eams
Registros de tipo “shellbags”
ShellbagsView
• Herramienta que despliega la lista de las
características de las carpetas guardadas en los
registros de tipo “shellbags” (fecha de modificación,
posiciones de la ventana, etc.)
– http://nirsoft.net/utils/shell_bags_view.html
Registros de tipo “shellbags”

• Sólo se conservan entradas de 28 StreamMRUs, 200


bags de carpetas locales y 200 bags de carpetas de
red
• Se pueden revisar las copias históricas del archivo
“NTUSER.DAT” (que contiene los registros “shellbags”)
de los diferentes puntos de restauración de un
sistema
Archivos de tipo “shortcut”
(*.lnk)
• Los archivos de tipo “shortcut” pueden apuntar a archivos,
imágenes o documentos sobre los que estemos
investigando
• Si la ruta del archivo apunta a una letra de drive que fue
utilizada por un dispositivo móvil es posible desde la llave
de “MountDevices”, utilizando el “ParentIDPrefix” y
asociándolo con la fecha de última escritura buscar el
último dispositivo USB que estuvo montado en ese drive
Archivos de tipo “shortcut”
(*.lnk)
• Metadata de un archivo de tipo “shortcut” que
muestra sus tiempos MAC y el hash del archivo
Archivos de tipo “shortcut”
(*.lnk)
• Los archivos de tipo “shortcut” también almacenan
el número de serie del volumen de la unidad de
almacenamiento externo (VSN)
• El VSN es generado por un algoritmo que toma en
cuenta la fecha cuando fue formateada la partición
y agregada al “boot sector” (puede cambiar)
• El valor de VSN NO aparece en el registro de
Windows
• Si se cuenta físicamente con el dispositivo USB es
posible comparar el valor de VSN del archivo de
“shortcut” contra el del dispositivo
Archivos de tipo “shortcut”
(*.lnk)
Dispositivos U3
• Conjunto de herramientas de software que permiten
la ejecución automática de aplicaciones
(navegadores, firewalls personales, antivirus, etc.)
desde una memoria USB (USB smart drive)
• Son reconocidos por el sistema operativo como dos
unidades de disco:
1. Unidad virtual de CD de sólo lectura, desde donde se
autoejecuta el U3 Launchpad; partición de tipo CDFS
(CD file system)
2. Unidad de disco flash estándar (FAT), que posee un
directorio oculto con las aplicaciones instaladas
• La unidad virtual de CD generará una llave de
registro dentro de:
– HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\US
BSTOR\
Dispositivos U3
• Los dispositivos USB de tipo U3 corren programas y crean
registros al ser montados en un sistema
• El análisis de la línea de tiempo de la imagen de un sistema
mostrará tiempos de creación/modificación de múltiples
archivos relacionados con el dispositivo U3
• Para comprender lo que sucede durante el proceso de
inserción se puede utilizar la herramienta “Filemon”
– http://technet.microsoft.com/en-
us/sysinternals/bb896642.aspx
• Esta herramienta monitorea y despliega lo que sucede en el
sistema de archivos en tiempo real
Dispositivos U3

• El archivo “U3launcher.log” localizado bajo el


directorio del usuario en C:\Documents and
Settings\<username>\Local Settings\Temp\
• Contiene información relativa a fechas y números
de serie del dispositivo USB
Copia de archivos a un disco
duro externo
• En general Windows NO mantiene un registro de los
archivos que son copiados
– “ en la fecha X, el usuario Z copio el archivo Y de
la ruta G a la ruta H”
• Si el investigador cuenta con imágenes del disco
duro del equipo investigado y del dispositivo de
almacenamiento externo es posible tener una idea
de la dirección de la copia si ésta ocurrió
• Si se encuentran documentos con el mismo nombre
en ambos lados será necesario comparar los
tiempos MAC de ambos documentos, el tamaño, la
metadata y la suma de MD5 o hash para poder
establecer si estos documentos tiene relación entre
sí…
Análisis de línea de tiempo
Algo sobre dispositivos USB en
sistemas linux

• /var/log/messages
– Identificar el momento en que el dispositivo se
conecto y desconecto el dispositivo
– Ubicación física en la que fue detectado
– Número de sectores, tamaño en MB
– Velocidad de transmisión
– Protección contra escritura
– Marca
Algo sobre dispositivos USB en
sistemas linux

• /var/log/syslog
– Misma información que /var/log/messages
– Número de serie del dispositivo
Algo sobre dispositivos USB en
sistemas linux

• /var/log/Kern.log
Algo sobre dispositivos USB
en sistemas linux

• “lsusb –v” command


– Utilería que despliega información sobre
dispositivos usb conectados al sistema
Referencias

• http://www.forensicswiki.org/index.php?title=USB_History_Viewing
• http://sansforensics.wordpress.com/2008/10/31/shellbags-
registry-forensics/
• http://nabiy.sdf1.org/index.php?work=usbHistory
• http://windowsir.blogspot.com/2008/07/copying-files.html
• http://windowsir.blogspot.com/2007/04/from-lab-mapping-usb-
devices-via-lnk.html
• http://www.i2s-
lab.com/Papers/The_Windows_Shortcut_File_Format.pdf
• http://pdfserve.informaworld.com/489600__779634181.pdf
Preguntas y
respuestas

Anda mungkin juga menyukai