Análisis forense de ficheros de hibernación Microsoft Windows

Tener la posibilidad de cerrar la tapa del portátil y encontrarnos las cosas como estaban al volver a abrir la tapa es una gran ventaja para muchas personas. Desde la aparición de Windows 2000, el sistema operativo de Redmond soporta una función que casi todos hemos empleado en alguna ocasión: la suspensión de estado a disco, o hibernación.

La hibernación en el nivel de sistema operativo tiene como principal ventaja no requerir drivers adicionales. Técnicamente hablando también es frecuente encontrar en la literatura referencias al estado de hibernación como ACPI S4 (Advanced Configuration and Power Interface). Este estándar abierto, cuya primera versión data de 1996, fue escrito originalmente por Intel, Microsoft, y Toshiba. En síntesis, y para equipos Microsoft, el estado ACPI S4 se traduce, en términos prácticos, en la creación de un fichero oculto llamado hiberfil.sys, cuyo tamaño total es siempre equivalente a la cantidad de RAM de la máquina. La hibernación sólo es posible si todo el hardware de la máquina cumple con los requisitos ACPI y Plug-and-play, debiendo ser los drivers compatibles con PnP.

hiberfil.sys

Este fichero no es más que una imagen de la memoria de la máquina comprimida con un algoritmo que nunca ha sido publicado ... hasta que alguien encontró la manera de manipular estos ficheros.

Accediendo y manipulando ficheros de hibernación. La manera elegante

La manera elegante (y a su vez, adecuada) para analizar ficheros de hibernación es la transformación en volcados forenses que podamos utilizar en nuestras herramientas habituales. La primera referencia sobre cómo realizar esta tarea es obra de Matthieu Suiche, autor en 2008 de una charla BlackHat llamada Windows Hibernation File for Fun and Profit en la que ofreció detalles acerca de cómo manipular este tipo de ficheros. Suiche, como parte de su proceso de investigación, realizó ingeniería inversa y dedujo cómo estaban comprimidos los ficheros hiberfil.sys. También, como parte del proceso de investigación, Suiche liberó las herramientas Sandman para poder manipular los ficheros de hibernación.

Lo que en su día fue Sandman es hoy en día Moonsols Windows Memory Toolkit, que tiene una versión comercial y una versión community que podéis descargar y usar. Dentro del juego de herramientas hay una aplicación llamada hibr2bin que puede ser utilizada para la conversión.

hibr2bin

También es posible convertir ficheros de hibernación a una imagen cruda empleando Volatility, que dispone de un módulo llamado hibinfo basado en el código de Suiche. Este módulo permite generar una imagen legible a partir del fichero de hibernación.

volatility

Una vez obtenida una imagen lineal, es trivial analizar los contenidos. Ya que hemos hablado de Volatility, ojead este artículo para tomar alguna idea sobre cómo realizar el análisis. También podéis ojear los contenidos de este otro artículo.

Strings en Unix. Una manera rápida de evaluar los contenidos de los ficheros de hibernación.

Si lo que queremos es hacer una evaluación rápida de los posibles contenidos del fichero, sin tener que generar una imagen legible, es posible buscar en los contenidos del fichero una vez extraídas las cadenas.

Estos son algunos ejemplos de los contenidos de mi fichero de hibernación:

Algunos usuarios y servicios de red:

usuarios

Credenciales de Filezilla:

filezilla

Administrador de router, contraseña y contraseña wireless:

router

¿Cómo solucionar el problema?

Aunque la hibernación es una funcionalidad que se puede desactivar, el primer pensamiento que nos puede venir a la mente para protegernos ante la recuperación indeseada del estado de hibernación quizás sea el cifrado completo del disco. Esto, que dicho sobre el papel suena fácil, es en realidad un problema difícil de solucionar. Habida cuenta de que Microsoft no proporciona APIs para manipular el proceso de hibernación, los procesos de cifrado de este fichero se basan (con la excepción de BitLocker, cifrado nativo de Microsoft) en la modificación de componentes de Windows que no están documentados, con lo que ante cualquier cambio por parte del fabricante los medios escogidos para el cifrado podrían tornarse inútiles. La situación de ventaja que tiene BitLocker sobre otros medios es un tema que sigue suscitando polémica, y que sigue sin estar plenamente resuelta.


Información extraída de:

http://www.sahw.com/wp/archivos/2010/07/25/analisis-forense-de-ficheros-de-hibernacion-microsoft-windows/

Entradas populares de este blog

Trinity Rescue Kit: Tutorial para eliminar la contraseña de administrador en Windows

Cómo extraer el handshake WPA/WPA2 de archivos de captura grandes