Exchange forensics: El misterioso caso del correo fantasma (IV)

Volvemos a la investigación del incidente examinando lo que nuestra compañera había encontrado en los logs del OWA. Si recogemos todos los accesos realizados desde las dos IP con el User-Agent de Firefox, encontramos varios patrones de interés:

  • Patrón 1: Acceso directo: Se observa en los logs cómo los atacantes acceden a la página de login, y luego a la pantalla principal del correo.
  • Patrón 2: Accesos incorrectos: Los atacantes acceden a la página de login, pero la contraseña es incorrecta (observamos repetidos intentos de inicio de sesión, como si estuvieran realizando un ataque manual de fuerza bruta).
  • Patrón 3: Accesos incorrectos + correcto: En un caso específico comprobamos como los atacantes realizan varios intentos de inicio de sesión y al quinto logran entrar.

Este último patrón es el más curioso ¿Cómo han podido los atacantes extraer las contraseñas de un usuario (que son robustas al tener 12 caracteres y forzada la complejidad) en unos pocos intentos? [Read more…]

Exchange forensics: El misterioso caso del correo fantasma (III)

Después de una noche con poco sueño (vueltas, vueltas al incidente intentando comprender qué ha podido pasar, qué nos hemos podido pasar por alto, qué nos falta por probar), volvemos cargados de cafeína a la Organización.

Autopsy ha terminado el procesado de la imagen de disco duro, pero tras un análisis superficial de los resultados nuestra teoría inicial se confirma: el equipo del usuario está limpio. De hecho, está tan limpio que el correo malicioso ni siquiera llegó a tocar ese equipo. Por lo tanto, se confirma que todo lo que haya pasado ha tenido que pasar en el Exchange.

Seguimos dándole vueltas al incidente, y hay algo que nos reconcome: si los atacantes tuvieran control completo del Exchange, habrían podido borrar el correo de la carpeta de los Elementos Recuperables, cosa que no han hecho. Pero lo que sí que han logrado ha sido poder borrarlo de la tabla EventHistoryDB, que opera a más bajo nivel… ¿o a lo mejor no lo han hecho?

[Read more…]

Análisis del Timeline de una evidencia con Plaso

Plaso, evolución de la herramienta conocida como log2timeline, es una herramienta desarrollada en Python que permite extraer la línea temporal de todos los eventos ocurridos en un sistema. Admite como como datos de entrada ficheros, discos virtuales, dispositivo de almacenamiento , algún punto de montaje o un volcado de imagen de disco. Como nota aclaratoria aunque la nueva herramienta pasa a denominarse plaso, para ejecutarla se hará a través de “log2timeline.py” lo cual puede llegar a causar confusión.

Plaso nos ofrece un conjunto de herramientas, que de forma resumida son:

  • log2timeline: extraer el time line de todos los eventos.
  • psort: procesamiento de los datos extraídos.
  • pinfo: muestra los datos del fichero de almacenamiento plaso.
  • image_export: exporta ficheros de una imagen.

Log2timeline se encarga de analizar los datos recibidos como parámetro de entrada generando un fichero de salida con formato “plaso”, el cual contendrá toda la información de los datos analizados. Dicho fichero de almacenamiento plaso contendrá información como:

  • Cuando se ejecutó la herramienta.
  • Metadatos de los ficheros analizados de los datos de entrada.
  • La información parseada.
  • Número de eventos extraídos de los datos de entrada.

Para las pruebas realizadas he optado por usar una imagen de prueba en formato EnCase (parte1 y parte2), accesible para cualquiera que quiera realizar las pruebas.

[Read more…]

Android Log Forensics

El uso del sistema operativo Android está creciendo a una velocidad que asusta. Los últimos datos dicen que cada día se activan 1,3 millones de dispositivos Android y que, si sigue este ritmo, en 4 años habrá más sistemas de Google en funcionamiento que sistemas Windows. Dedicar esfuerzo de investigación hacia este sistema se hace totalmente necesario, y en seguridad, un área importante e interesante es el estudio forense.

Un analista forense debe ser capaz de extraer el máximo de información disponible del dispositivo. Dependiendo del propósito de la investigación, se centrará en extraer unos determinados datos u otros. Por ejemplo, un investigador que analiza un posible smartphone infectado con malware necesitará los procesos en memoria, las conexiones activas, el tráfico entrante y saliente, mientras que en el análisis de un móvil cuyo dueño es sospechoso de un delito, buscará datos que pueda ayudar a la investigación a aportar evidencias, como las llamadas realizadas, emails, posición GPS, fotos, historial de chat, etc.

Tenemos varios métodos para extraer información en un dispositivo android: volcado de memoria RAM, imagen de memoria NAND, de la memoria externa SD-card y extracción de datos en caliente. El post de hoy se va a centrar en recuperar datos mediante comandos propios del sistema de Android, y concretamente, en los logs generados por el sistema.

[Read more…]