¿Cómo leer el archivo de hibernación de Windows (hiberfil.sys) para extraer datos?

8

Necesito encontrar qué datos están almacenados en el archivo de hibernación analizándolos. Sin embargo, hasta ahora, solo he logrado hacerlo manualmente abriéndolo en un editor Hex y luego buscando textos en él. Encontré sobre SandMan Library pero no hay ningún recurso presente. ¿Alguna idea de cómo leer el archivo? ¿O hay alguna herramienta / biblioteca u otro método para hacerlo?

descifrador
fuente
3
un archivo hiberfil es una imagen del sistema ram en el momento en que se hibernaba. como tal, sí, un editor hexadecimal es probablemente lo mejor que obtendrá. Esta tarea no es esencialmente diferente a tratar de leer el contenido de su RAM.
Frank Thomas
66
Relevante: security.stackexchange.com/questions/23787/…
Der Hochstapler
1
@FrankThomas, ¿sabes cuál es el formato del archivo de hibernación?
codificador
@OliverSalzburg ¿Quiero conocer alguna estructura de datos para leer el archivo?
codificador
1
@WernerHenze para mi tarea
codificador

Respuestas:

7

Puede encontrar mucha información sobre el Hiberfil.sysen la página ForensicWiki .

Aunque la mayoría de las estructuras de datos necesarias para analizar el formato de archivo están disponibles en los símbolos de depuración de Microsoft Windows, la compresión utilizada (Xpress) no fue documentada hasta que Matthieu Suiche realizó la ingeniería inversa. Creó con Nicolas Ruff un proyecto llamado Sandman, que es la única herramienta de código abierto que puede leer y escribir el archivo de hibernación de Windows.

El pdf del proyecto Sandman se encuentra aquí .

Los creadores del proyecto Sandman también crearon una herramienta para volcar la memoria y el Hiberfil.sysarchivo (y extraerlo del formato de compresión XPress). MoonSols Windows Memory Toolkit

Algunos de los otros enlaces en la página ForensicWiki ya no funcionan, pero aquí hay uno que encontré: (Si desea sumergirse directamente en la estructura de formato, puede usar este recurso. Para el encabezado, los primeros 8192 bytes del archivo, no necesita descomprimirlos)

Hibernation File Format.pdf

Este último PDF y el último enlace en la página ForensicWiki deberían proporcionarle suficiente información sobre la estructura del archivo Hiberfil.sys.

Los archivos de hibernación consisten en un encabezado estándar (PO_MEMORY_IMAGE), un conjunto de contextos y registros de kernel como CR3 (_KPROCESSOR_STATE) y varios conjuntos de bloques de datos Xpress comprimidos / codificados (_IMAGE_XPRESS_HEADER y _PO_MEMORY_RANGE_ARRAY).

El encabezado estándar existe en el desplazamiento 0 del archivo y se muestra a continuación. En general, el miembro Signature debe ser "hibr" o "wake" para que se considere válido, sin embargo, en casos excepcionales, el encabezado PO_MEMORY_IMAGE completo se ha puesto a cero, lo que puede evitar el análisis del archivo de hibernación en la mayoría de las herramientas. En esos casos, la volatilidad utilizará un algoritmo de fuerza bruta para localizar los datos que necesita.

Las referencias en esos documentos también deberían darle muchas otras fuentes para explorar.

Rik
fuente
3

Le recomiendo que eche un vistazo a esta respuesta de security.stackexchange.com . Muestra una gran manera, cómo extraer los datos y también información sobre el algoritmo en sí.

He destacado las partes importantes.

Sí, lo almacena sin cifrar en el disco. Es un archivo oculto en C:\hiberfil.sys, que siempre se creará en cualquier sistema que tenga habilitada la hibernación. Los contenidos se comprimen utilizando el algoritmo Xpress, cuya documentación está disponible como un documento de Word de Microsoft . Matthieu Suiche hizo un análisis exhaustivo de ello como una presentación de BlackHat en 2008, que puede obtener en formato PDF . También hay una herramienta llamada MoonSols Windows Memory Toolkit que le permite volcar el contenido del archivo. Sin embargo, no sé si te permite volver a convertir. Es posible que tenga que trabajar para hacerlo usted mismo.

Una vez que haya obtenido los datos, es posible extraer o modificar datos, incluidas las instrucciones. En términos de mitigación, su mejor solución es usar cifrado de disco completo como BitLocker o TrueCrypt.

Fuente

cristiano
fuente
3

Convierta el archivo hiberfil.sys en una imagen sin formato utilizando http://code.google.com/p/volatility/downloads/list . La última versión a partir de ahora es 2.3.1. Específicamente, puede usar la siguiente línea de comando para crear primero la imagen sin formato: -f imagecopy -O hiberfil_sys.raw. Esto creará una imagen en bruto para que luego ejecute la volatilidad contra la cual lo ayudará a extraer información como procesos, conexiones, sockets y colmenas de registro (solo por nombrar algunos). Puede encontrar una lista completa de los complementos aquí: https://code.google.com/p/volatility/wiki/Plugins . Por supuesto, la línea roja de mandiant es otra herramienta que proporciona esa funcionalidad. Espero que esto haya ayudado.

labgeek
fuente