Analisis del registro de windows – RegRipper – Part I

Hoy toca hablar de RegRipper, aunque antes… deberíamos hablar del registro de windows, pero como hay mucha información sobre el mismo por internet y no me gusta repertir lo mismo una y otra vez, os agrego un par de links para los que no sepáis qué es el registro de windows y como está estructurado os vayáis haciendo a la idea.

Continuar leyendo “Analisis del registro de windows – RegRipper – Part I”

Nuevo canal de YouTube

Bueno, el titulo lo dice todo pero queríamos presentar el canal y sus contenidos, y lo que puede venir si ayudáis a ello.
Este canal nace como sustituto de nuestro utópico “El PODCAST” eso que llevamos intentando grabar desde antes incluso que juntarnos en este humilde blog para escribir sobre los que nos gusta, y la verdad que se ha convertido en algo casi imposible, ya sea por nuestras labores, otros proyectos, estudios, vamos, la vida en general, que hace que no seamos capaces de juntarnos para grabar todos como creemos que debería de ser.

Continuar leyendo “Nuevo canal de YouTube”

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!

 

Recuperando las contraseñas de las wifi a las que nos hemos conectado – NETSH

Hola a todos!

Este post es un TIP rápido que puede ser útil a muchos, ya sea a nivel forense, nivel de pentester o incluso para los pobres sysadmins, pero antes de empezar como siempre os recomiendo leer nuestra renuncia de responsabilidad.

Escenario: Tenemos acceso físico a un equipo windows y necesitamos por cualquier motivo recuperar a que WIFIs se ha conectado el equipo, obteniendo el SSID, configuración de seguridad de la mismo el tipo de red, contraseña de acceso, etc.

Bueno, llegados a este punto y de forma muy rápida os comento que con un triste comando obtendremos toda esta información, cosa que para algunos nos va genial 🙂 y para otros puede ser un marrón….

netshwlanshowprofiles

Evidentemente, he ocultado un poco la información para proteger dichas redes, pero os podéis hacer una idea con el resultado, con el comando anterior veremos todos los perfiles de conexión realizados con la wifi del equipo en cuestión.

Genial @fpalenzuela pero no veo la información que me has prometido.

Efectivamente, seguimos …..

netshwlanprofiles2

El parámetro name=”*” es para que nos muestre TODOS los perfiles y el parámetro key=clear es autoexplicativo.

Bueno, ya tenemos todos los datos de todas las redes wifi , ya que con el comando ejecutado nos aparecerá en pantalla todas las redes, con todas las configuraciones y contraseñas, para facilitar la lectura de todos los resultados podemos redirigir la salida de todos los datos a un archivo con el siguiente comando.

c:\>netsh wlan show profiles name=”*” key=clear > salidawlans.txt

 

BONUS…

Hay otro comando que os dejo aquí tambien, que os dará otra info… incluyendo las conexiones realizadas, abrid una “cmd” en modo administrador y …..

wlanreport

El parámetro duration=”64″ equivale a que nos muestre la información de los últimos 64 días….

Echad un vistazo a la info que os genera este comando…..     conocer las herramientas que disponemos en nuestros sistemas, puede ser una grata sorpresa….  os invito a investigar todo lo que se puede hacer con este comando… NETSH una pequeña navaja suiza disponible en windows… y olvidada por muchos…

Espero que os sea de utilidad.       🙂

— Como siempre los comentarios son siempre bien recibidos… nos gusta tener feedback… —