Presentación y primer post

Con un cierto retraso por motivos de fuerza mayor y abrumado ante la responsabilidad y confianza que mi “hermano” y gran amigo Paco ha depositado en mi, comienzo este nuevo proyecto.

¿Quién soy? Mi nombre es Diego (@itzala74) en twitter y me dedico a labores de análisis forense  y auditorias de seguridad como perito informático. Compagino ambas labores como buenamente mejor puedo. Amante de las nuevas tecnologías y del mundo Unix en particular (aunque sin despreciar otras tecnologías, a fin de cuentas son herramientas). Maquero y amante de Arch Linux. Estudiante cuando el tiempo (¡ese escaso bien!) lo permite, de python y reciente descubridor de toda la potencia de Powershell (aunque donde esté mi bash…).

¿Qué voy a hacer por aquí? Pues intentar compartir mis escasos conocimientos con quien quiera leerme e intentar mejorar este mundo para todos. Iré enseñando poco a poco técnicas de investigación  forense, algo de hacking y hardering de sistemas en general, aunque de eso otro amigo que espero se pase en breve por aquí sabe mucho mas que yo… En cualquier caso, espero no aburrir demasiado y poder aportar mi granito de arena.

 

¿De que vamos a hablar hoy? Pues hoy voy a empezar con algo suave y fácil que nos dará pie a posteriores posts para ir profundizando sobre ello.

Hoy voy a hablar de la Tabla Maestra de Archivos o $MFT . ¿Qué es la MFT?

La tabla maestra de archivos es el primer archivo de un volumen de tipo NTFS (New Technology File System o sistema de archivos que viene usándose en Windows NT desde las versiones Windows 2000). Básicamente, constituye un directorio centralizado de todos los ficheros del disco y de si misma, haciendo referencia continuamente a ellos mientras el sistema localiza información, la lee y la escribe en el disco.

La tabla maestra de archivos (o $MFT) es la que contiene todos y cada uno de los archivos que componen un volumen,  es decir, cuando el sistema operativo consulta el contenido de un archivo, se dirige a la $MFT para obtener información del mismo, como por ejemplo tamaño, propiedades, atributos, localización, nombres de archivos… etc. La $MFT es, para que nos hagamos una idea mas visual,  como una base de datos que almacena todo la información que necesita a la hora de acceder a un archivo.

Captura de pantalla 2016-05-16 a las 21.13.42

Esta es una representación (muy simplificada eso si) de un típico volumen Windows. Se aprecia claramente el lugar que ocupa y como mas o menos, por la mitad del volumen hay una copia de esa tabla. Quiero indicar también que la  $MFT puede estar en diferentes zonas del disco, es interesante también  indicar que por cada archivo o carpeta crea un registro de 1kbyte, 1024 bytes. Tener esto en cuenta, es especialmente útil para cuando se ha formateado un dispositivo  o la $MFT está dañada.

Todo esto, ademas es muy interesante y práctico, ya que en caso de corrupción o daño de la primera tabla, podremos reconstruirla con la información que obtengamos de la segunda copia (o mirror, como la denomina Microsoft).

También es una fuente de información muy importante, usada para investigaciones forenses donde se usa para extraer todo tipo de evidencias. Cuando se esta realizando una investigación, uno de los pasos para encontrar pruebas digitales, es realizar búsquedas por palabras claves y revisando los resultados muchas veces se encuentran en estas áreas o carpetas recuperadas. Podemos averiguar saber fechas de encendido y apagado de equipos, creación, modificación y destrucción de archivos, instalación de programas, desinstalación… Resumiendo, un timeline muy completo de toda la vida de ese equipo desde que se instaló windows con   mucha información que como perito investigador podremos aprovechar.

Después de esta pequeña introducción, que nos servirá como base para entender lo que vendrá después así como su importancia, vamos a centrarnos en las técnicas forenses en si mismas.

Una práctica que quiero intentar inculcar  desde el principio, es la de no  usar herramientas que nos oculten el proceso al personal técnico  e intentar usar herramientas mas manuales, el motivo es muy simple, las herramientas automatizan mucho trabajo, pero corremos el riesgo de perder de vista lo que corre por debajo y eso es un lujo que como investigadores no podemos permitirnos.

En este caso, voy a mostrar como extraer y parsear la $MFT desde nuestra copia del disco clonado, usaremos para ello la suite Sleuthkit. ¿Qués es The Sleuthkit?

Es una colección de herramientas de análisis forense de volumen de sistema y archivos. Las herramientas del Sistema de Archivos  nos permiten examinar el sistema de archivos de un equipo a investigar, de una manera no intrusiva y altamente eficaz. Las herramientas de volumen de sistema permiten examinar la disposición de los discos y otros medios. The Sleuth Kit soporta particiones DOS, particiones BSD (etiquetas de disco), particiones Mac, partes Sun (índice de volumenes)y disco GPT.  Enlace a la página oficial aqui 

Captura de pantalla 2016-05-16 a las 23.01.51

PARSEADO MFT CON SLEUTHKIT

Partimos de una imagen forense de un ordenador, en esta demo una imagen de un ordenador con windows 7 pro de 64 bits. Podemos hacer las adquisición usando dd, dfcldd, dc3dd, guymager, la herramienta con la que os sintáis mas a gusto… No es la intención de este post (de momento) profundizar en ese tema, mas adelante ya lo tocaremos ya que también es importante. De momento vamos a por lo fácil

Vamos a usar una de las herramientas de esta competa suite, la utilidad fls y mmls

Se usa la utilidad mmls para averiguar entre otras cosas el offset de inicio de windows, tan fácil como esto…

Captura de pantalla 2016-05-16 a las 23.14.10

La zona marcada en azul es el offset de del disco duro.

Después se parsea el disco duro y se pasa todo a un archivo de texto con formato .txt

Captura de pantalla 2016-05-16 a las 23.07.50

fls -r -m “/” -i raw -o 0004202496 /Volumes/WD/windows7.001 > body.txt

Donde -r es para que sea búsqueda recursiva, -m “/” para que busque desde la raiz, -i raw es para indicar que el archivo a analizar es una imagen en formato raw, -o para indicarle el offset de inicio del volumen de windows  (este ya averiguado antes), a continuación indicamos la ruta de la imagen y posteriormente lo redireccionamos a un archivo de texto (en este caso body.txt)

Después tenemos un archivo de texto de un cierto tamaño…

Captura de pantalla 2016-05-16 a las 23.21.06

Para terminar usamos la utilidad mactime para convertir ese archivo de texto a un archivo con extensión .csv que podremos ver luego con Excel por ejemplo.

Captura de pantalla 2016-05-16 a las 23.23.13

 

Captura de pantalla 2016-05-16 a las 23.24.12

¡Voilá! Aquí está el resultado. Aquí tenemos un timeline de toda la vida de ese ordenador y podemos importarlo a Excel y empezar a analizarlo poco a poco.

Abrimos Excel => Importar Datos desde texto => Seleccionamos el archivo .csv y…

Captura de pantalla 2016-05-16 a las 23.28.39

Captura de pantalla 2016-05-16 a las 23.28.50
Captura de pantalla 2016-05-16 a las 23.28.58

Y como resultado final…

Captura de pantalla 2016-05-16 a las 23.36.02Aquí tenemos un timeline donde podemos buscar por fechas, archivos, podemos usar splunk   para hacer búsquedas por parámetros, resumiendo un sinfín de posibilidades.

 

De momento lo voy a dejar aquí, por hoy ya basta, en próximos posts veremos como extraer la $MFT con otra utilidad de la suite (icat)  y como parsearla con un poco de la magia  de  python  hasta convertirla en un archivo con extensión .csv para analizar.  Buscaremos archivos dentro del disco clonado, buscaremos y extraeremos archivos borrados, podemos crear scripts que nos automaticen los procesos y nos filtren y muestren los resultados… etc.  Hay todo un mundo ahí fuera sin interfaz gráfica amigos y funciona muy bien.  Poco a poco iremos entrando en este fascinante mundillo que os enganchará y a la vez, os hará mejores profesionales.

¡Hasta la próxima!

Analisis forense digital en profundidad – Impresiones –

Hola a todos, hace poco finalice el curso de securizame sobre ANALISIS FORENSE DIGITAL EN PROFUNDIDAD  , y tal y como prometí en twitter aquí van mis impresiones.

Todo lo aquí expuesto es mi opinión personal

El curso, en mi caso, no pude asistir a las sesiones en tiempo real, y realice el curso con las grabaciones de las sesiones en webex y la documentación estaba publicada en la plataforma de securizame.

Lo primero hay que decir es que el curso ha estado MUY bien pensado y planificado, el temario ha sido muy amplio y se han visto muchas áreas, desde la parte más legal, pasando por analisis de sistemas WINDOWS (memoria, logs, reversing, timeline, NTFS, MFT, diferencias entre distintas versiones de sistemas, analisis del registro, eventos del sistema, etc.), así como analisis de sistemas Linux, Red, analisis de sistemas IOS y ANDROID. La verdad es que se ha entrado bastante en detalle y personalmente he reforzado conocimientos y aprendido MUCHISIMO.

Sobre la calidad técnica y experiencia de los profesores, ES INCUESTIONABLE, gente de la talla de @aadradex, Juan Garrido @tr1ana, Pedro Sanchez @conexioninversa, Lorenzo Martinez @lawwait, Yago Jesus @yjesus, @dragonjar, giovanni cruz y luis delgado @ldelgadoj.

Igualmente tengo que reconocer, que a nivel personal como no podria ser de otra forma, ha habido temas que me han gustado mucho mas que otros (para gustos los colores), pero todos los temas son importantes, sobre todo si te vas a dedicar a este mundillo.

He echado en falta algunas cosas, por ejemplo la mención de la norma UNE 197001:2011, aunque no es obligatoria, si ayuda a seguir una organización en la presentación del informe, y en un proceso judicial aquí en españa es recomendable utilizar, aunque si es cierto que lo importante no es la forma sino el CONTENIDO. También en algún módulo, la documentación adjunta no ha sido todo lo completa que esperaba, por ejemplo, en un modulo, los solucionarios te daban la solución pero no explicaban como llegar a ella, lo cual ha dificultado la asimilación y resolución de algún lab.

Referente a la comunicación con los profesores, sobre consultas y demás, tengo que decir que en general ha habido con algunos de ellos (desde aquí os pido perdón por ser tan pesado) una predisposición a nivel humano que me ha gustado muchisimo, agradezco al maestro @tr1ana, por contestar y esclarecer mis cuestiones con tanta rapidez, y por contrapartida, hay algunas preguntas a algun profesor que han quedado en el limbo….

Aparte de estas “cosas” puntuales, tengo que decir que el nivel del curso es más que aceptable, tanto a nivel técnico como personal, me ha servido para reforzar conocimientos y aprender muchas cosas. Realmente es un curso más que recomendable, y si replanteasen la estructura o forma de explicar algún módulo ya tendría la consideración de casi perfecto.

NOTA ADICIONAL: Evidentemente, el curso da una base importante, y el estudio y profundización de conceptos y técnicas explicadas, así como de nuevas técnicas y procedimientos,  ha de ser continuo. Eso hay que tenerlo presente.

Desde aquí mi agradecimiento a la organización y a los profesores, sobre todo aquellos que han tenido que sufrirme. Un abrazo a todos.

@fpalenzuela