Posts Tagged ‘Forensic’

Esos colegas…

|

Hace poco he tenido la suerte de ver en directo a uno de los mejores profesionales forenses españoles en acción. Se trata de Pedro Sanchez, de ConexiónInversa, que nos deleitó con un curso irrepetible.

Veo en su blog que el agradecimiento es mutuo y me alegro mucho por ello, esta es la foto de grupo:


img_0008

Como dice Pedro somos muy sexys :)

Análisis forense de perfiles en Mozilla Firefox

|

Este post pretende ser una introducción al análisis forense del uso de este conocido navegador web.
Cuando analizamos los rastros que deja un navegador en una máquina fundamentalmente nos interesa saber a qué URL’s ha accedido el usuario, su historial de navegación para establecer si realiza un uso adecuado del mismo, extensiones instaladas, etc.

En Mozilla Firefox casi todos esos datos se guardan en el perfil, que se haya en una ruta variable en función del sistema operativo en que se ejecute:

Linux: /home/usuario/.mozilla/firefox/directorio_del_perfil
Windows XP: C:\Documents and Settings\usuario\Datos de programa\Mozilla\Firefox\Profiles\directorio_del_perfil
Windows Vista: C:\Users\usuario\AppData\Roaming\Mozilla\Firefox\Profiles\directorio_del_perfil
MacOS: /Library/Application Support/Firefox/Profiles/directorio_del_perfil

Hay que tener en cuenta que previamente se ha realizado la adquisición de la imágen, recuperación de datos que hayan sido borrados, etc.
A continuación comenzaremos el estudio del historial, para ello mi aplicación favorita es el Mandiant Web Historian, es gratuita, funciona sobre Windows y es una delicia. Nos va a producir un informe en el que nos mostrará el nombre, URL’s, fechas de primer y último acceso, si ha sido borrada, número de visitas, etc.
Animo a todo el mundo a probar esta herramienta, que por cierto no funciona únicamente sobre historiales de Mozilla Firefox.
A continuación una captura de Web Historian:


Free Image Hosting at www.ImageShack.us

Una fuente de información muy útil son las cookies del navegador, con ellas podemos no solo establecer patrones de navegación sino en ciertos casos obtener cookies de sesión que puedan ser determinantes a lo largo de la investigación. De la mano de Nirsoft tenemos el programa MozillaCookiesView, gratuita y para plataformas Windows. A continuación una captura de MozillaCookiesView:


Free Image Hosting at www.ImageShack.us

Otra fuente de información alternativa y muy util son los contenidos cacheados por el navegador, estos pueden visualizarse directamente a través del sistema de ficheros en las carpetas temporales. Me gusta bastante la herramienta Web Cache View que funciona para varios navegadores y puede hacernos esta tarea un poco más sencilla, también gratuita y para plataformas Windows.

Junto con todo esto lo ideal es realizar un análisis de todo el perfil, y tenemos una herramienta para ello. Se trata de FireFox Forensics, esta herramienta realiza un análisis bastante completo de todo el perfil, permisos, historial, favoritos, etc. Aqui tenemos una captura del programa en accion:


Free Image Hosting at www.ImageShack.us

Vamos a dar un paso más centrándonos fundamentalmente en el navegador de la fundación Mozilla. Internamente funciona utilizando una base de datos de SQlite para guardar diversos datos, el esquema de dicha base de datos es el siguiente:


Free Image Hosting at www.ImageShack.us

Extraer manualmente esos datos puede resultar muy tedioso. Afortunadamente tenemos la herramienta Firefox3 Extractor f3e, esta herramienta de comandos gratuita y para plataformas Windows puede aportarnos un plus muy interesante a lo que hayamos encontrado anteriormente, su uso es muy simple, colocamos los ficheros de la misma (f3e.exe y sqlite3.dll) en la carpeta del perfil y la ejecutamos, como podemos ver a continuación:


Free Image Hosting at www.ImageShack.us

A modo de resumen, aunque pueda parecer algo no especialmente interesante, el análisis forense del navegador, en este caso Mozilla Firefox puede proporcionarnos datos de vital importancia en el curso de una investigación. A modo de nota resaltar que no he encontrado herramientas intersantes para automatizar estas tareas sobre UNIX, una lástima.

:: Referencias ::
http://www.securityfocus.com/infocus/1827
http://www.securityfocus.com/infocus/1832
http://www.mozilla-hispano.org/documentacion/Carpeta_del_perfil

Análisis forense de conexiónes de dispositivos USB

|

El presente artículo tiene por objetivo introducirnos al análisis forense de un sistema Windows para investigar qué dispositivos USB han sido conectados y permitir extraer la mayor información posible sin tenerlos a mano, solo por los rastros que dejan en el equipo.
Puede parecer banal pero en realidad supone una parte muy importante en algunas investigaciones, ya que nos permite no solo conocer si un dispositivo ha sido conectado sino cuándo se ha realizado la última conexión, tipo de dispositivo, etc.

Teoría.

Lo primero que debemos conocer es cómo funciona el sistema, qué sucede cuando enchufamos un dispositivo USB, por ejemplo un pendrive al sistema Windows:

1. El Manager Plug and Play (PnP) recibe el evento y le pregunta al dispositivo por sus descriptores en el firmware del mismo. Un ejemplo de esta información es el fabricante, tipo de dispositivo, etc.

2. El Manager PnP utiliza esta información para localizar el driver que utiliza el dispositivo y si es necesario cargar uno nuevo( lo que quedaría reflejado en el fichero de log c:\windows\setupapi.log ).

3. Una vez identificado el sistema crea una entrada en el registro de Windows en la siguiente rama:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR

El propio nombre de esta entrada ya nos proporciona información, veamos un ejemplo práctico:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USBSTOR\Disk&Ven_TomTom&Prod_
GO

4. El dispositivo está listo para usarse.

Práctica.

Imaginemos por ejemplo que estamos examinando un servidor y nos encontramos con la entrada que vimos anteriormente, claro indicio de que alguien con acceso al mismo ha conectado su dispositivo de navegación GPS TomTom, probablemente para actualizarlo.

Pero esto es solo el principio, hasta aqui podemos identificar qué tipo de dispositivos se conectan pero una parte fundamental del análisis forense sería identificar unívocamente el dispositivo concreto que se ha conectado al sistema. Para ello nos sirve el campo iSerialNumber.
Todos los dispositivos certificados con el logotipo de Windows tienen un valor único para el campo iSerialNumber. En el siguiente ejemplo vemos una imágen en la que podemos apreciar el número de serie de un dispositivo USB:


Free Image Hosting at www.ImageShack.us

La pregunta a realizarse ahora es qué sucede si conectamos un dispositivo que no tiene el logo y por lo tanto es susceptible de no incorporar número de serie. Lo que sucede en estos casos es que el manager PnP le asigna un identificador, que será unico en el equipo, pero que evidentemente no coincidirá con los que les asigne otro sistema Windows. Esto puede resultarnos una complicación en el caso de que investiguemos el rastreo de un dispositivo concreto, aunque el campo FriendlyNameParentIdFix. Microsoft no proporciona información acerca de cómo se crea dicho campo, pero nunca me he encontrado dos dispositivos idénticos que en distintas máquinas den distinto valor en el ParentIdFix. Esto no es muy científico, por lo que únicamente con esto no disponemos de una prueba consistente, pero puede ayudar en algunos momentos o darnos pistas en el curso de una investigación.

Otra pregunta que surge llegados a este punto es diferenciar los dispositivos que tienen número de serie unívoco de los que no. Es muy sencillo, los que no lo tienen, contienen en su segundo carácter del identificador asignado por el Manager PnP el símbolo &.
En el siguiente ejemplo vemos el rastro de dos dispositivos, uno con iSerialNumber propio y otro sin él (asignado por el sistema):


Free Image Hosting at www.ImageShack.us

Otro valor importante que se puede obtener del registro es el LastWrite time, o momento de última escritura. Si comprobamos el LastWrite de la clave correspndiente al iSerialNumber podremos establecer la hora a la que dicho dispositivo fue conectado por ultima vez.

Herramientas.

Como se ha podido intuir esta tarea puede suponer un trabajo muy tedioso si investigamos un equipo que lleve funcionando varios años. La cantidad de dispositivos que han podido ser conectados mediante USB al mismo puede llegar a ser muy considerable.
Afortunadamente hay herramientas que automatizan en gran parte este proceso, de manera que nos ahorran el trabajo tedioso de investigar manualmente el registro.

USBDeview. Esta aplicación de Nirsoft se conecta al registro y nos muestra de manera muy sencilla diversos datos sobre los dispositivos USB: fecha de creación, última vez que fueron conectados, número de serie, tipo de dispositivo, etc. Es gratuita y muy pero que muy recomendable.
A continuación muestro una captura de pantalla de la herramienta:


Free Image Hosting at www.ImageShack.us

DeviceLock Plug and Play. Similar al anterior.

Referencias.

Windows Forensic Analysis. Halan Carvey.
Información del registro de Windows. Microsoft.

SANS SIFT Workstation

|

La SIFT Workstation es una vmware appliance preparada para realizar análisis forenses. Básicamente es una Fedora 9 preparada con múltiples programas:

ssdeep & md5deep (Hashing Tools)
Foremost/Scalpel (File Carving)
WireShark (Network Forensics)
HexEditor
Vinetto (thumbs.db examination)
Pasco (IE Web History examination)
Rifiuti (Recycle Bin examination)
Volatility Framework (Memory Analysis)
DFLabs PTK (GUI Front-End for Sleuthkit)
Autopsy (GUI Front-End for Sleuthkit)
The Sleuth Kit (File system Analysis Tools)

Hay unos scripts en perl para windows muy interesantes en la ruta “/usr/local/src/windows_perl“:

regripper.pl and plugins Registry Forensic Carver
regslack.pl         Registry slack
deleted.pl         Registry deleted key examination
regtime.pl        Registry timelime creator – now with sleuthkit bodyfile output
windata.pl        Windows Time

Credenciales de acceso:
login:  root
contraseña: forensics

Free Image Hosting at www.ImageShack.us

Hace poco ha sido liberada la versión 1.2. Puede descargarse gratuitamente previo registro desde la siguiente URL:

http://forensics.sans.org/community/downloads/retrieve.php?file=sift_workstation.zip