Automatizando la extracción de evidencia forense en Windows
Cuando se realiza un analisis forense digital, automatizar procesos es muy importante, ya que muchas veces nos encontramos en situaciones donde el tiempo es vital para una investigacion y tenemos una ventana muy pequeña para extraer toda la informacion necesaria para realizar nuestro analisis, si no tenemos nuestras herramientas "afiladas" posiblemente no alcancemos a pasar por esa pequeña ventana que nos han dado como plazo y nuestra investigacion no pueda ser llevada a cabo o se realice con datos incompletos.
En este post enumeraremos un gran numero de aplicaciones que nos ayudarán en la tarea de extraccion automatizada de evidencia en entornos windows, asi como buenas practicas forenses para estar preparados en esos momentos en los que "el tiempo apremia".
La primera recomendacion es revisar en la caja de herramientas y confirmar si se cuenta con un medio de almacenamiento sanitizado, (un dispositivo de almacenamiento borrado de forma segura), ya que este proceso normalmente tarda bastante y el propósito es agilizar los procesos de cara al cliente, en este disco se debe tener un "Kit de Herramientas" que ayuden a recolectar la información necesaria y hacer también la copia bit a bit de los equipos a analizar.
Por lo general estos equipos pueden ser hallados en dos formas:
- Vivo: Cuando se encuentra el dispositivo encendido con procesos en ejecución y/o conectado a la red suele dársele el nombre de entorno vivo, ya que cuenta con información de interés en medios volátiles como la memoria RAM o los archivos de paginación, que se podrían perder al apagar el equipo.
- Muerto: Cuando se encuentra el dispositivo apagado o solo contamos con un medio de almacenamiento desconectado, se le suele dar el nombre de entorno muerto, ya que no tiene procesos activos y la información almacenada en él no es volátil.
Según el estado en el que se encontre el equipo se debe realizar diferentes procedimientos, por ejemplo, si el equipo está vivo lo recomendable es dumpear (volcar) la memoria RAM, extraer la información básica del sistema y luego halar del cable de corriente (practica recomendada ya que Windows realiza modificaciones y elimina archivos al realizar su proceso normal de apagado).
Luego de ejecutar esta acción, se puede manipular la evidencia como si fuese un entorno muerto, es decir realizamos la copia bit a bit (copia exacta) de los medios de almacenamiento, garantizando que nuestro entorno de adquisición no modifica en ningún momento el sistema de archivos (modo solo lectura) para lo que se recomienda contar una distribucion LIVE CD forense como CAIN, DEFT o incluso el mismo KALI, después de tener la imagen bit a bit, es vital generar inmediatamente su correspondiente HASH en MD5 y SHA-1 para poder dar fe de la integridad de los datos recién adquiridos y que más adelante no existan inconvenientes con su integridad.
El siguiente paso es analizar nuestra imagen por medio de una suite como autopsy o encase (entre muchas otras), para el análisis de los datos que contiene, en esta etapa es donde se pone a prueba la experiencia del perito forense, ya que debe limitar la línea de tiempo del evento que esté analizando; conocer los archivos donde se aloja la información útil para su caso; realizar una búsqueda exhaustiva de cualquier anomalía en el sistema operativo que pueda dar alguna luz sobre la investigación que está llevando a cabo, y todo esto, sacando la información en crudo directamente de los archivos del sistema.
La mayoría de las suites forenses, permiten montar de forma segura el sistema de archivos de la imagen para poder recorrer los directorios y ficheros con mayor facilidad, algunas ayudan a extraer información de forma automática, pero sí realmente queremos facilitar y automatizar la búsqueda de información con herramientas gratuitas (que es la finalidad de este articulo), lo que se usa en estos casos es revivir el sistema que se va a analizar en un entorno controlado (normalmente sacamos una copia adicional de nuestra imagen cruda y se convierte a disco virtual usando herramientas como dd2vmdk).
Cuando se revive un entorno virtualizado, la copia bit a bit, tenemos las siguientes ventajas:
- se puede aislar totalmente el sistema para evitar la comunicación con el mundo exterior.
- se puede< ejecutar herramientas gratuitas que permitan extraer la información gráfica y automáticamnete sin comprometer un entorno real.
- se tiene la posibilidad de sacar snapshots del sistema sin tener comprometido el segundo original.
- se puede ver el entorno real que tenía el usuario.
- se puede buscar información de una manera más rápida y fácil, ya que la navegación por el sistema será más intuitiva.
NirSoft es una de las empresas que más herramientas ha creado para este propósito, dentro de su catálogo encontramos aplicaciones que permiten obtener información puntual de un equipo con Windows, por ejemplo extraer los enlaces visitados de un navegador, el horario de encendido/apagado del equipo, las conexiones que estableció ese equipo a redes inalámbricas o las cookies y el cache almacenado en el pc y otras que visualizaremos en el siguiente listado:
INFORMACIÓN MEMORIA RAM
- Memoryze: Es un software gratuito de uso forense, creado por la empresa de seguridad Mandiant (si, los del famoso APT1) que permite dumpear (y analizar) la memoria ram.
INFORMACIÓN DE CONFIGURACIONES DEL SISTEMA Y CADA PROGRAMA
- WinAudit: es una aplicación que me permite realizar una auditoria muy completa de toda la información del sistema, los programas instalados, las configuraciones, el hardware del equipo, los parches instalados, etc..., el informe que arroja la herramienta es bastante detallado y bien organizado en formato html lo que facilita la búsqueda de la información.
INFORMACIÓN DE INTEGRIDAD DE LOS DATOS
- Fciv: Herramienta de Microsoft que permite calcular la integridad de los datos utilizando los algoritmos de hash en MD5 o SHA-1, funciona desde la linea de comandos.
INFORMACIÓN DE NAVEGADORES
- BrowsingHistoryView: Herramienta creada por Nirsoft que permite leer datos de historial de 4 navegadores (Internet Explorer, Mozilla Firefox, Google Chrome y Safari) y que arroja como resultado una tabla organizada con la URL Visitada, Título, Tiempo de Visita, Contador de Visitas, navegador Web y perfiles de usuario.
- ChromeCacheView: Herramienta construida por Nirsoft que permite leer la carpeta de cache de Google Chrome navegador Web y muestra una lista de los archivos almacenados en la memoria cache.
- IECacheView: Herramienta creada por Nirsoft que permite leer la carpeta de cache de Internet Explorer navegador Web y muestra una lista de los archivos almacenados en la memoria cache.
- MozillaCacheView: Herramienta implementada por Nirsoft que permite leer la carpeta de caché de los navegadores web Firefox / Mozilla / Netscape, y muestra la lista de todos los archivos almacenados en la memoria caché.
- MyLastSearch: Herramienta desarrollada por Nirsoft que permite examinar los archivos de caché y el historial de su navegador de Internet, y localizar todas las consultas de búsqueda que ha realizado con los motores de búsqueda más populares (Google, Yahoo y MSN) y con los sitios populares de redes sociales (Twitter, Facebook, MySpace).
- MozillaCookiesView: Herramienta puesta en circulación por Nirsoft que permite tener una alternativa a la norma 'Cookie Manager' proporcionada por Netscape y Mozilla.
- OperaCacheView: Herramienta de Nirsoft que permite leer la carpeta de caché de Opera navegador Web, y muestra la lista de todos los archivos almacenados en la memoria caché.
INFORMACIÓN DE MENSAJERÍA INSTANTÁNEA (CHATS)
- SkypeLogView: Herramienta de Nirsoft que permite leer los archivos de registro creados por la aplicación de Skype, y muestra los detalles de las llamadas entrantes / salientes, mensajes y transferencias de archivos realizadas por la cuenta de Skype especificada de chat.
INFORMACIÓN DE PASSWORDS EN ALGUNAS APLICACIONES O DEL SISTEMA
- BulletsPassView: Herramienta implementada en Nirsoft que permite revelar contraseñas almacenadas detrás de las caja de texto estándar del sistema operativo de Windows e Internet Explorer navegador Web.
- Mailpv: Herramienta desarrollada en Nirsoft para recuperación de contraseña que revela las contraseñas y otros datos de la cuenta para los siguientes clientes de correo electrónico:
- Outlook Express
- Microsoft Outlook 2000 (cuentas POP3 y SMTP solamente)
- Microsoft Outlook 2002/2003/2007/2010/2013 (POP3, IMAP, HTTP y SMTP Cuentas)
- Windows Mail
- Windows Live Mail
- IncrediMail
- Eudora
- Netscape 6.x / 7.x (Si la contraseña no se cifra con la clave maestra)
- Mozilla Thunderbird (Si la contraseña no se cifra con la clave maestra)
- Group Mail Free
- Correo Yahoo! - Si la contraseña se guarda en la aplicación Yahoo! Messenger.
- Electrónico de Hotmail / MSN - Si la contraseña se guarda en la aplicación MSN / Windows / Live Messenger.
- Gmail - Si la contraseña se guarda mediante la aplicación Gmail Notifier, Google Desktop, o Google Talk.
- Mspass: hecha por Nirsoft para la recuperación de contraseña que revela las contraseñas de las siguientes aplicaciones de mensajería instantánea:
- MSN Messenger
- Windows Messenger (en Windows XP)
- Windows Live Messenger (en Windows XP / Vista / 7)
- Yahoo Messenger (versiones 5.xy 6.x)
- Google Talk
- ICQ Lite 4.x / 5.x / 2003
- AOL Instant Messenger v4.6 o inferior, AIM 6.x, y AIM Pro.
- Trillian
- Trillian Astra
- Miranda
- GAIM / Pidgin
- MySpace IM
- PaltalkScene
- Digsby
- Netpass: Desarrollada por Nirsoft. Cuándo se conecta a un recurso compartido de red de la LAN o de su cuenta de Passport NET, Windows le permite guardar su contraseña para poder utilizarlo en cada vez que se conecta al servidor remoto. Esta utilidad recupera todas las contraseñas de red almacenados en su sistema para que el usuario haya iniciado la sesión actual. También puede recuperar las contraseñas almacenadas en el archivo de una unidad externa, como siempre que se sepa el último registro de la contraseña de inicio.
- Rdpv: Creada por Nirsoft que revela la contraseña almacenada por Microsoft utilidad de conexión a escritorio remoto dentro de los archivos .rdp.
- RouterPassView: La mayoría de los routers modernos que permiten realizar copias de seguridad de la configuración del router en un archivo, y luego restaurar la configuración desde el archivo cuando es necesario.
- El archivo de copia de seguridad del router por lo general contiene datos importantes, como su nombre de usuario ISP / contraseña, la contraseña de acceso del router y las claves de red inalámbrica.
Si ha perdido una de estas contraseñas / claves, pero todavía tiene un archivo de copia de seguridad de su router configuración, RouterPassView puede ayudarle a recuperar su contraseña perdida de su archivo de router. - WebBrowserPassView: Otra gran herramienta de Nirsoft para la recuperación de contraseñas que revela las contraseñas almacenadas por los siguientes navegadores web: Internet Explorer (Version 4.0 - 11.0), Mozilla Firefox (todas las versiones), Google Chrome, Safari y Opera. Esta herramienta se puede utilizar para recuperar su / contraseña perdida olvidada de cualquier sitio web, incluyendo sitios web populares, como Facebook, Yahoo, Google, GMail y, siempre y cuando la contraseña es almacenada por su navegador Web.
- WirelessKeyView: Herramienta desarrollada por Nirsoft que recupera todas las claves de seguridad de red inalámbrica / contraseñas (WEP / WPA) almacenados en su ordenador a través del servicio de Windows XP el "Wireless Zero Configuration" o por el servicio de Windows Vista, Windows 7, Windows 8 y Windows Server la 'Configuración automática de WLAN' 2008.
OTROS
- AlternateStreamView: Herramienta desarrollada por Nirsoft que te permite escanear la unidad NTFS, y encontrar todas las corrientes alternas ocultas almacenadas en el sistema de archivos.
- AppCrashView: Herramienta desarrollada por Nirsoft. Es una pequeña utilidad para Windows Vista y Windows 7 que muestra los detalles de todos los bloqueos de la aplicación se produjo en su sistema.
- Awatch: Herramienta desarrollada por Nirsoft que muestra información útil sobre sus adaptadores de red: direcciones IP, dirección de hardware, servidores WINS, servidores DNS, el valor MTU, Número de bytes recibidos o enviados, La velocidad de transferencia de corriente, y más. Además, muestra estadísticas generales de TCP / IP / UDP / ICMP para el equipo local.
- USBDeview: Herramienta desarrollada por Nirsoft que permite listar todos los dispositivos USB que actualmente conectados al ordenador, así como todos los dispositivos USB que utilizó anteriormente.
- BlueScreenView: Herramienta desarrollada por Nirsoft que escanea todos los archivos creados durante un minivolcado "pantalla azul de la muerte” crashes, y muestra la información acerca de todos los accidentes en una tabla.
- EventLogSourcesView: Herramienta desarrollada por Nirsoft que muestra la lista de todas las fuentes de registro de eventos instalados en su sistema.
- JumpListsView: Herramienta desarrollada por Nirsoft que muestra la información almacenada por la característica "Jump List 'de Windows 7 y Windows 8.
- LastActivityView: Herramienta desarrollada por Nirsoft que permite al sistema operativo de Windows recopilar información de varias fuentes en un sistema en funcionamiento, y muestra un registro de las acciones realizadas por el usuario y los eventos ocurrió en este equipo.
- MyEventViewer: Herramienta desarrollada por Nirsoft para el visor de eventos estándar de Windows. A diferencia de visor de sucesos de Windows, MyEventViewer le permite ver varios registros de eventos en una lista, así como la descripción del evento y los datos se muestran en la ventana principal.
- NetResView: Herramienta desarrollada por Nirsoft que muestra la lista de todos los recursos de la red (computadores, discos compartidos, y comparte la impresora) en su LAN. A diferencia de módulo "Mis sitios de red" de Windows, pantalla NetResView todos los recursos de la red de todos los dominios / grupos de trabajo en una sola pantalla, y que incluyen acciones de administración / ocultos.
- NTFSLinksView: Herramienta desarrollada por Nirsoft. A partir de Windows Vista, Microsoft utiliza enlaces simbólicos y los puntos de unión del sistema de archivos NTFS con el fin de realizar cambios en la estructura de carpetas de Windows y mantener la compatibilidad de las aplicaciones escritas para versiones anteriores de Windows. Esta utilidad simplemente te muestra una lista de todos los enlaces simbólicos y los cruces en la carpeta especificada y sus rutas de destino.
- RecentFilesView: Herramienta desarrollada por Nirsoft. Cada vez que usted abre un archivo desde el Explorador de Windows o desde un estándar abierto de diálogo-caja / guardar, el nombre del archivo que abrió es registrado por el sistema operativo. Algunos de los nombres se guardan en la carpeta de 'reciente’. Otros se guardan en el Registro.
- ShellBagsView: Herramienta desarrollada por Nirsoft. Cada vez que usted abre una carpeta en el Explorador, Windows guarda automáticamente la configuración de esta carpeta en el Registro. Esta utilidad muestra la lista de todas las configuraciones de carpetas guardadas por Windows. Para cada carpeta, se muestra la siguiente información: La fecha / hora de que lo abrió, el número de entrada, el modo de visualización (detalles, iconos, Azulejos, etc...), la última posición de la ventana, y el último tamaño de la ventana.
- UserProfilesView: Herramienta desarrollada por Nirsoft que muestra la lista de todos los perfiles de usuario que tiene actualmente en su sistema.
- WhatInStartup: Herramienta desarrollada por Nirsoft que muestra la lista de todas las aplicaciones que se cargan automáticamente cuando se inicia Windows. Permite deshabilitar fácilmente o eliminar programas no deseados que se ejecutan en su arranque de Windows.
- WinLogOnView: Herramienta desarrollada por Nirsoft para Windows Vista / 7/8/2008, que analiza el registro de sucesos de seguridad del sistema operativo Windows, y detecta la fecha / hora que los usuarios inician sesión y cierra la sesión.
- WinPrefetchView: Herramienta desarrollada por Nirsoft. Cada vez que se ejecuta una aplicación en el sistema, un archivo Prefetch que contiene información sobre los archivos cargados por la aplicación es creada por el sistema operativo Windows. La información contenida en el archivo Prefetch se utiliza para optimizar el tiempo de carga de la aplicación en la próxima vez que lo ejecute.
- UserAssistView: Herramienta desarrollada por Nirsoft que permite descifrar y muestra la lista de todas las entradas UserAssist almacenados bajo llave HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ UserAssist en el Registro. La clave UserAssist contiene información sobre los archivos exe y enlaces que se abren con frecuencia.
Las herramientas listadas anteriormente han sido seleccionadas por que todas tienen en comun una cosa, se pueden ejecutar por linea de comandos (puedes ver las opciones que recibe como parametros haciendo clien en su nombre) y generan informes rapidamente, lo que se acostumbra en estos casos, es utilizar un archivo de procesamiento por lotes (.BAT) con los parametros adecuados para cada herramienta y con un simple click, ejecutar de forma secuencial y organizada todas estas herramientas. Hasta hace muy poco esta era la forma la manera en que se hacía la automatización de los procesos de extracción cuando revivía un entorno, PERO la famosa Ventana Negra (CMD) con todas sus limitaciones, no ofrecia muchas opciones de usabilidad, lo que motivó a generar una mejor solución.
El lenguaje de programacion a utilizar para crear esta solución, devería ser compatible con Windows y que además no tuviese dependencias de librerías como .NET ni máquinas virtuales como JAVA, por tanto se decantó por Visual Basic 6.0 que tiene compatibilidad nativa desde Windows XP en adelante (Sistemas Objetivos de esta herramienta), despues de elegir el sistema, solo era sentarse una tarde y darle forma a DAWF la herramienta para automatización de estos procesos.
DAWF (DragonJAR Automatic Windows Forensic) realiza la ejecución de forma ordenada de cada una de las herramientas que se usan normalmente en la extracción de información forense en un equipo Windows, DAWF comprueba antes de lanzar la siguiente herramienta si la anterior ya ha realizado su trabajo, organiza las salidas de una manera dinámica guardándolas en el medio de almacenamiento desde el que es ejecutada la aplicación (normalmente el medio de almacenamiento que sanitizamos o la memoria del auditor), muestra de forma gráfica el progreso de la ejecución de todas las herramientas y la aplicación corriendo actualmente, adicional a esto da la opción de diferenciar la extracción de información entre un entorno vivo (en el cual solo Dumpea la RAM y la información del sistema) o muerto (donde es ejecutadas todas las herramientas menos el Dump de la RAM) y finalmente genera un informe c0n cada una de las aplicaciones que se utilizaron, su hora de ejecución, los archivos generados, la ruta donde se encuentran y los hash en MD5 y SHA-1 de todos los archivos involucrados en la extracción de información.
En una próxima entrega publicaré la herramienta y un texto más detallado de cómo funciona el DAWF y cada una de sus aplicaciones, como están estructurados los archivos de configuración desde donde se ejecutan la mayor parte de los comandos.
El proyecto DAWF ya esta disponible para descarga.
Artículo escrito por Edgar Parra para La Comunidad DragonJAR