Agujas, pajares e imanes: Análisis forense de malware fileless (V)

En el artículo anterior Ángela ya tenía gracias al análisis forense toda la información del ataque, así que le toca continuar con la respuesta al incidente en las fases de contención, erradicación y recuperación.

Respuesta al incidente

Con todas las respuestas importantes en la mano, Ángela puede hacer un esquema muy rápido del incidente:

  1. Los atacantes envían un spear-phishing a Pepe Contento y otros altos cargos el 3 de noviembre sobre las 10.37h.
  2. El usuario Pepe Contento abre el correo y pincha sobre el enlace el mismo día a las 11.05h, ejecutando el código malicioso entregado por Sharpshooter y comprometiendo su equipo con una sesión de Meterpreter.
  3. Los atacantes verifican que tienen privilegios de administrador y obtienen las credenciales del equipo, encontrando el hash de un administrador de dominio (que tenía sesión iniciada en el equipo).
  4. Los atacantes se hacen pasar por la cuenta de administrador de dominio y acceden a las contraseñas cifradas de varios altos cargos.
  5. Estas contraseñas cifradas son rotas por los atacantes mediante un ataque de fuerza bruta, obteniendo las contraseñas en claro.
  6. Los atacantes emplean esas credenciales para acceder a los webmail de diversos altos cargos entre las 11.30h y las 16.00h del mismo día.
  7. A las 15.30h la usuaria maria.feliz detecta un comportamiento inusual de su cuenta de correo y lo comunica al CAU.
  8. A las 15.45h el CAU corrobora el comportamiento extraño y avisa a Seguridad.
  9. Seguridad accede a las 15.55h a los logs del correo y detecta los accesos anómalos.
  10. Se declara incidente de seguridad a las 16.00h.

[Read more…]

Agujas, pajares e imanes: Análisis forense de malware fileless (IV)

Paso 7: Correo

En la entrada anterior Salvador había destripado el malware y encontrado el C2, y Ángela había confirmado que era una sesión de Meterpreter, habiéndose hecho una idea de las posibles acciones realizadas por los atacantes.

Tan solo queda localizar el vector de entrada, que por el análisis de memoria sabíamos que era un correo electrónico malicioso. Es el momento perfecto para recuperar el equipo del usuario pepe.contento, entrar con un LiveUSB forense (como DEFT o SIFT) y recuperar el .ost del usuario del directorio C:\Users\pepe.contento\AppData\Local\Microsoft\Outlook.

Para leerlo en modo solo lectura la forma más cómoda es emplear Kernel OST Viewer, que permite abrir el fichero de correo entero (y con acceso a los metadatos). En 30 segundos Ángela ha encontrado lo que buscaba:
[Read more…]

Agujas, pajares e imanes: Análisis forense de malware fileless (III)

Paso 5: Análisis de malware

En la entrada anterior Ángela había encontrado la persistencia del malware, así que procede analizarlo para ver su contenido. Salvador (a pesar de su espesa barba digna de un administrador de HP-UX de principios de siglo) está más contento que un niño con zapatos nuevos, así que se lanza a por el malware como un fox-terrier hambriento.

Lo primero de todo es comprobar si nos estamos enfrentando a un malware conocido. Para ello Salvador copia el código en base64 a un fichero de texto, calcula su hash con HashMyFiles y lo sube a VirusTotal sin obtener resultados. Interesante…

El segundo paso sería subir el fichero a VirusTotal, pero Salvador ha estado atento a lo explicado por sus profesores del curso de análisis de malware: algunos atacantes vigilan de forma constante VirusTotal para comprobar si su malware ha sido subido a la plataforma, usándola como un sistema de alerta temprana.
[Read more…]

Agujas, pajares e imanes: Análisis forense de malware fileless (II)

Paso 3: Logs de eventos

En la entrada anterior dejamos a Ángela blasfemando por la manera en la que los atacantes habían empleado un antiguo dominio del MINAF para realizar su ataque. Ahora toca comprobar lo sigilosos que han sido revisando los logs del sistema.

Todo equipo Windows tiene un registro de eventos, situado en los equipos modernos en:

C:\Windows\System32\winevt\Logs

Existen diversos registros en función de los eventos que se guardan. Los clásicos son Seguridad, Sistema y Aplicación, pero a día de hoy tenemos varias docenas más de registros, que en algunos casos nos pueden dar información vital. Estos registros se guardan en formato binario, por lo que necesitamos algún programa para abrirlos.

[Read more…]

Agujas, pajares e imanes: Análisis forense de malware fileless (I)

[Nota: Esta serie de posts es una narración de un análisis forense de un caso práctico totalmente ficticio (pero contada, esperamos, de forma didáctica y con gracia y salero). Si queréis una versión con la misma dosis técnica pero con menos narrativa, podéis consultar el vídeo de la charla que el autor dio en las XII Jornadas STIC del CCN-CERT, o echar un ojo las slides de la presentación].

[Nota 2: Estos posts desgranan un taller de análisis forense básico. Habrá algunas cosas que se podrían hacer de manera más eficiente y elegante, pero la idea era hacerlas de forma sencilla para que fueran fáciles de entender. Y como todo buen taller práctico, se puede seguir paso a paso: el CCN-CERT está alojando en LORETO todo el material, que podéis descargar desde aquí. Tenéis tanto las evidencias en bruto (si queréis primero intentar encontrar el bicho por vuestra cuenta sin leer nada de la solución) como una guía paso a paso con todas las herramientas y evidencias necesarias en cada paso].

Un nuevo día empieza en las instalaciones del MINAF (Ministerio de la Alegría y la Felicidad), lo que para Ángela de la Guarda (CISO del MINAF) significa café, reuniones y papeleo. Al menos, el proyecto del ENF (Esquema Nacional de Felicidad) está de una vez saliendo adelante…

[Read more…]

Análisis de Linux.Haikai: dentro del código fuente

Hace unos días conseguimos el código fuente del malware Haikai, el cual corresponde a una más de la multitud de implementaciones llevadas a cabo por el continuo reciclaje de código fuente perteneciente a diferentes botnets IoT. A pesar de que no hemos identificado ninguna novedad respecto a versiones de malware IoT anteriores, nos ha permitido la obtención de mucha información sobre las técnicas, mejoras y autores.

Comentar también que, según diferentes registros obtenidos, esta botnet ha estado actuando durante gran parte del último mes de junio.

En las siguientes líneas se analizará el código, así como las posibles atribuciones y las implementaciones no referenciadas en el hilo de ejecución, las cuales nos permiten adivinar que el código va mutando en diferentes líneas en paralelo para una misma función.

Así pues vamos a comenzar analizando la estructura de los ficheros. [Read more…]

TeleRAT: Un nuevo troyano que utiliza Telegram como covert channel.

Este es el nombre del último troyano de Android, que ha sido descubierto por investigadores de Palo Alto Network. Está diseñado y programado para usar los servicios de Telegram, más concretamente se utiliza el “API Bot de Telegram” como canal encubierto para la comunicación con su servidor Command and Control (C&C) con el fin de exfiltrar datos.

Según informan, la API Bot de Telegram ya estaba siendo empleada por atacantes para robar información que abarca desde SMS e historial de llamadas hasta listas de archivos de dispositivos Android infectados. Funcionalidades de otro malware denominado IRRAT.  Gracias a los estudios que se estaban realizando, se encontraron las trazas de este nuevo malware.

Pero… ¿cómo funciona TeleRAT?

Aunque se están haciendo comparaciones entre IRRAT y TeleRAT, el funcionamiento de ambos es muy diferente. Si hablamos de IRRAT,, este roba contactos, lista de cuentas de Google registradas en los dispositivos, historial de SMS, etc. Una vez que se ha hecho esto, mantiene a los datos robados en la tarjeta SD del teléfono y además los envía a un servidor después del primer lanzamiento de la aplicación.
[Read more…]

Drupalgeddon 2: una lucha entre mineros

El pasado 28 de marzo el equipo de Drupal publicó la vulnerabilidad CVE-2018-7600, la cual permite la ejecución remota de código en las versiones 7.x 8.x y ha sido calificada como crítica.

Tal y como se hizo eco el portal https://isc.sans.edu/, dicho CVE está siendo utilizado para el minado de criptomoneda. Sin embargo, no solo hemos encontrado que hay más de un grupo utilizando la presente vulnerabilidad, sino que compiten entre ellos por el control de los mismos.
Así pues, en el siguiente post se va a llevar a cabo el análisis de los diferentes malware que hacen uso de la vulnerabilidad de Drupal, así como de la metodología utilizada tanto para la detección de servidores vulnerables como para la infección del mismo por parte de las diferentes muestras detectadas.

Según hemos podido encontrar, la detección de los servidores vulnerables se hace a través de lo que ha sido bautizado como Drupalgeddon 2: [Read more…]

Análisis de Samouri: una botnet de noobs, para noobs

Hace unos días encontramos un malware Linux con elementos bastante conocidos hasta la fecha, sobretodo importados de Gafgyt. Sin embargo, ciertas modificaciones hicieron que le dedicáramos el tiempo de analizarlo.

En un primer momento, el malware lleva a cabo funciones de reconocimiento del entorno, obteniendo la IP pública del sistema o el Endianness, donde por defecto tomará little endian (recordemos que arquitecturas como ARM, PowerPC o MIPS pueden trabajar con ambos órdenes.) [Read more…]

‘Reversing’ de protocolos de red de malware con ‘angr’

Uno de los objetivos que en el análisis de un binario malicioso suele ser más difícil de obtener es el del descubrimiento de todas las funcionalidades que posee. Si además estas funcionalidades sólo se ejecutan a discreción de los atacantes a través de su centro de control, la cosa se complica. Por diversas razones, muchas veces no podemos llevar a cabo un análisis dinámico completo, como por ejemplo por la caída de la infraestructura del malware o el aislamiento de la muestra para evitar el contacto con el C&C. En estos casos suele ser más lento el análisis de la interacción entre el servidor del atacante y la muestra, ya que hay que crear un servidor ficticio o estar continuamente parcheando/engañando a la muestra para llevarla por todos los distintos caminos que queremos investigar. Dependiendo del tamaño y complejidad del código analizado o del objetivo del análisis, esta tarea puede variar su dificultad y extensión en el tiempo.

Voy a proponer un ejemplo de estudio de las funcionalidades de un RAT ficticio que pueden ser ejecutadas según las órdenes que reciba desde su panel de C&C. Nuestro objetivo sería crear un servidor que simule ser el del atacante. Para ello hemos de comprender el protocolo de comunicación entre el servidor y la muestra instalada en el dispositivo de la víctima.

En lugar de analizar todo el funcionamiento interno de la muestra utilizando las típicas herramientas de desensamblado y depuración, voy a delegar la responsabilidad de parte del análisis en una nueva herramienta que llevaba tiempo queriendo probar: ‘angr’. ‘angr’ es un entorno de trabajo para el análisis de binarios que hace uso tanto de análisis estático como dinámico simbólico del código. Este herramienta puede ser utilizada con distintos fines que se enumeran en su sitio web en el que además se muestran infinidad de ejemplos. Para esta entrada nos vamos a centrar en la ejecución simbólica, que puede definirse como el análisis de un programa para determinar qué condiciones de entrada han de darse para ejecutar diferentes partes de su código.
[Read more…]