siguiendo el rastro a dispositivos usb en sistemas windows bugcon[1]

Post on 03-Jul-2015

680 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Siguiendo el rastro a dispositivos USB

en sistemas Windows

Murena Myrope Lavín Martínez

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

Agosto 2009

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

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."

Los Sherlock Holmes modernos

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.”

‘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’

¿Qué es el análisis forense computacional?

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

top related