Informática Forense. Recuperación en la $MFT. Cuándo, cómo y a veces porque no se puede…

Muy buenas amigos, ya me encuentro de vuelta para seguir compartiendo mis escasos conocimientos con quien le puedan servir de algo. Lo se, tenía que haber vuelto a escribir antes pero, ¿qué queréis que os diga? Los sanfermines fueron muy duros señores…

Antes de nada, quisiera dedicar estas humildes líneas a un compañero que esta trabajando por el bien y la seguridad común de todos nosotros.Y además, creo que esta trabajando en mi tierra. Marcos, esta entrada como te prometí va por ti.

¿De que vamos a hablar hoy? De un tema que realmente siempre acaba saliendo cuando se realiza un análisis forense a Windows, los problemas que hay con la $MFT o Master File Table.

Hasta aquí se había comentado de su importancia  a la hora de realizar un dictamen pericial en entornos Windows y sin duda la tiene, pero, por poner un ejemplo, ¿qué pasa si se borra un archivo del disco duro? ¿Se puede recuperar siempre?¿Hasta dónde se puede recuperar información? ¿Se puede llegar a perder información del disco o de la $MFT? ¿Qué podemos llegar a extraer?¿Qué podemos perder?¿Qué pasaría si un presunto delincuente malintencionado, borra archivos y luego hace una restauración a un punto de, por poner un ejemplo, 2 años atrás? Por poner algunos ejemplos que os pongan en situación… Pues bien, para explicarlo va este post.

 

¿Qué es la $MFT? La $MFT, Master File Table, es el archivo más importante en un sistema de archivos NTFS. Realiza un seguimiento de todos los archivos en el volumen, su ubicación lógica en carpetas, su ubicación física en el disco, y los metadatos de los archivos, incluyendo:

  1. Fecha de Creación, de modificación, fecha de acceso, así como la última fecha de acceso al archivo, todo esto como información estandard.
  2. El tamaño y peso del archivo
  3. (Permisos de acceso de seguridad) para el archivo

Toda esta información se va almacenando como entradas dentro de la $MFT.

reading

Las entradas de la $MFT tienen un tamaño de 1024 bytes, de serie. Cada archivo y carpeta, tiene que tener una entrada en la $MFT, para ser reconocido por el ordenador, incluyendo la propia $MFT.

Las primeras 16 entradas de la $MFT están reservados para los archivos de sistema NTFS, éstos incluyen:

$MFT, $MFT Mirror(espejo) y $Bitmap (mapa de bits).

Llegado aquí, considero importante incidir en un par de puntos apara que los tengáis en cuenta de ahora en adelante:

  1. La primera entrada en la $MFT es una descripción muy completa de lo que hay dentro.
  2. La segunda entrada es el espejo (mirror) es una copia de seguridad de las primeras entradas de la $MFT por si hubiera algún problema de pérdida de datos en la primera. Quisiera insistir en este punto ya que es bastante importante y en mas de una ocasión os salvará el pellejo, si por el motivo que fuera le pasara algo a la principal.

 

Aprovecho, ya que estamos a ello, para recordar que la $MFT, contiene toda mucha información acerca de todo el sistema de archivos. Por poner un ejemplo, correos electrónicos, también son archivos, de modo que también se pueden buscar ahí.

 

Vale, todo esto está muy bien pero…

happend

La $MFT puede expandirse pero nunca contraerse (evidentemente  me estoy refiriendo a unas condiciones normales de uso).

Este punto es muy importante para la informática forense, amigos investigadores, ya que afecta tanto a la recuperación de datos, como a la identificación propiamente dicha de los archivos borrados, así como de la información  contenida (creación, accesos, modificación…etc).

Un dato que muchas personas no conocen, es que cuando se elimina un archivo del disco duro, su entrada $MFT se marca como lista para ser reutilizada. Esta entrada seguirá existiendo hasta que se sobrescriba con una nueva entrada generada por un archivo nuevo en el disco duro. Cuando un nuevo archivo es creado en el disco duro, se sobrescribe la siguiente entrada $MFT disponible, si no hay entradas disponibles para ser sobrescritas a continuación, la MFT comenzará a expandirse. Esto amigos míos, es importante tenerlo en cuenta de ello puede depender o no que podamos recuperar algo o no de información.

como-se-llama-el-inspector-de-la-pantera-rosa

Os pongo un ejemplo para facilitar su comprensión:

  • Un trabajador es despedido de su puesto y su equipo se reutiliza por otro compañero por aquello de optimizar recursos (una opción muy comprensible con los tiempos que corren).
  • Mientras se inicia un proceso de negociación para evitar tener que ir a juicio, el equipo sigue funcionando con total normalidad.
  • Se presupone que ha podido borrar información de la empresa, ¿qué podría pasar a nivel de investigación forense? Muy fácil, sobre las entradas en la $MFT de esas evidencias  “presuntamente” borradas, se van sobrescribiendo las nuevas entradas. Esto nos lleva a que nos podemos enfrentar a que no encontremos ni las evidencias, ni nada de información sobre ellas. Reflexionad sobre esto y sobre como lo podríamos evitar con planificación y sentido común.

Os pongo unos ejemplos mas:

  1. Ejemplo 1:

Si hay 200 entradas de la MFT y un archivo, el archivo X, se borra y luego 1.000 archivos más están creadas inmediatamente después de la entrada MFT para el archivo X se sobrescribe. Aunque los contenidos del archivo pueden existir en el disco duro, la entrada MFT que incluye el nombre, metadatos, etc., se sobrescribe.

 

  1. Ejemplo 2:

Hay 3000 entradas en la $MFT. 100 se suprimen y 2 nuevos archivos se añaden inmediatamente a la unidad. Por lo tanto 98  de las 100 entradas deben ser recuperables. Aunque si los datos de los ficheros son recuperables o no, dependerá de si han sido sobrescritos o no.

 

¿Mas claro así verdad?

 

Nota:

Los datos en si (el archivo en cuestión), están separados de la entrada MFT. Esto da lugar a varias posibilidades tanto durante la eliminación como el posterior uso de un disco duro. Se podría borrar la entrada y los archivos podrían ser extraidos. Unos ejemplos ayudarán a mejorar la comprensión de esto:

1) El archivo se elimina pero la entrada MFT y los datos del archivo son 100% recuperables. El archivo borrado puede ser 100% recuperado.

2) El archivo se elimina y la entrada en la $MFT es recuperable, pero una parte de los datos del archivo se sobrescribe. Esto significa que el archivo sólo se puede recuperar PARCIALMENTE.

3) El archivo se elimina y la entrada $MFT es recuperable, pero los datos del archivo están sobrescritos. El archivo no es recuperable, pero si el information about ( archivo, nombre, fechas, tamaños, etc ).

4) El archivo se elimina y la entrada y archivo de datos en la $MFT es 100% recuperable. El archivo se pierde el 100%. No obstante, con una adecuada investigación forense podríamos extraer una gran cantidad de información sobre el archivo, a través de la $MFT.

5) El archivo se elimina y la $MFT 100%, pero al sobreescribirse los datos del archivo no han sido del 100% sobrescritos. El archivo restante puede ser extraído desde el espacio no asignado en el disco duro. La capacidad de extraer los datos dependerá de la fragmentación, la cantidad de datos recuperables (que podría ser 100% o un 10%) y la naturaleza en si del propio archivo.

Como podéis ver es importante, sumamente importante para una análisis en entornos windows, el tener en cuenta este tema. Espero no haber aburrido mucho a nadie con este tema. 😉

De momento ya vale por hoy, me parece  bastante interesante este tema y os animo a que lo tengáis en cuenta para futuras indagaciones que os toque realizar. ¡Un saludo!

 

Una respuesta a “Informática Forense. Recuperación en la $MFT. Cuándo, cómo y a veces porque no se puede…”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *