CCNA: Cybersecurity Operations. Análisis del Exploit Kit Angler

Para la practica final del curso CCNA: Cybersecurity Operations que pude realizar gracias a haber conseguido el acceso a las Becas Digitaliza de Cisco, realizamos el análisis de un Exploit Kit, concretamente Angler. A continuación el análisis que realicé por mi parte. Tened en cuenta que no tiene por ser 100% verídico, y que puede haber cosas que no sean del todo correctas conceptual o técnicamente hablando, pues bien es cierto que en este tema soy de momento un aprendiz.

Espero que de alguna manera sirva para ayudar a aclarar algunas dudas a quienes hayan realizado el curso, o que estén analizando el comportamiento de Angler EK.

La practica se realiza analizando eventos principalmente en SGUIL, aunque también se hace uso de ELSA.

Análisis inicial

En este ataque por lo que se puede ver se producen 11 eventos relacionados, los cuales SNORT es capaz de detectar correctamente:

Podemos ver que el ataque inicia a las 15:31:12 y termina a las 15:31:34

La duración del ataque no es mayor a 40 segundos:

Si analizamos el evento con Alert ID 3.722 en Wireshark, en el paquete No. 1, si inspeccionamos la capa de enlace de datos y la capa de red, concretamente el campo Source Address, podemos detallar que el host interno implicado en el ataque es el 00:1b:21:ca:fe:d7 con dirección IP 192.168.0.12:

Eventos sospechosos

A simple vista los eventos son realmente sospechosos. En el Alert ID 3.722 podemos ver que cuando el host 192.168.0.12 visita el sitio web http://www.earsurgery.org/ , esta web parece estar comprometida y redirige al host al sitio web: adstairs.ro  (93.114.64.118) y una vez allí se realiza la descarga de un fichero Shockwave Flash de nombre ‘extraño’. Esto como tal ya debe generar una sospecha, ya que tenemos el antecedente de que la versión de Flash esta desactualizada. Lo podemos ver a continuación:

La alerta anterior implica que la versión puede contener alguna vulnerabilidad al estar desactualizada. Si analizamos la versión exacta de Flash que tiene el host, vemos que se esta usando la versión de Flash 11,4,402,287:

Esto se convierte en un punto vulnerable que es explotado por Angler EK

Si analizamos la regla de SNORT que ha generado la alerta:

Es decir, que si no se esta usando la versión 26 de Flash, la alerta se mostrará sí o sí. 

Y en la capa de aplicación podemos observar el redireccionado a adstairs.ro:

Además, podemos ver:

  • En el paquete No 4 se realiza una petición HTTP GET para obtener el fichero: 544b29bcd035b2dfd055f5deda91d648.swf
  • En el paquete No 6 podemos ver que el servidor devuelve el fichero .swf, correctamente.

Si extraemos el objeto Shockwave Flash (.swf) en Wireshark:

File > Export Objetcs > HTTPs > Save AS

Y lo subimos, por ejemplo, a una plataforma como: Virustotal (https://www.virustotal.com), veremos lo siguiente:

Por lo cual concluimos de esta forma que efectivamente el fichero Shockwave Flash descargado por el usuario detrás del host 192.168.0.12 es un fichero malicioso, más concretamente un Troyano.

Gracias a la captura de paquetes también podemos saber que el host interno afectado esta usando el SO Windows. Si analizamos una petición HTTP hecha por el host, del User Agent podemos obtener el sistema operativo que se esta usando. En este caso:


También se puede extraer esta información desde Network Miner:

Para localizar el Exploit Kit que se utiliza en este caso, lo podemos ver en el Alert ID 3.724, allí vemos que se esta usando Angler Exploit Kit:

Características de Angler

Realizando una búsqueda rápida en Google acerca de Angler, descubrimos un poco más sus características:

  • El proceso de infección con malware usando Angler EK no requiere acciones por parte del usuario. Es totalmente transparente.
  • Algunos sitios webs son comprometidos para almacenar el código del Angler EK, este código puede ser: HTML, JavaScript, Flash, Silverlight y/o Java, por ejemplo.
  • Mayoritariamente hace uso de redirecciones HTTP las cuales son invisibles al usuario
  • Se usa un formulario web para enviar valores codificados, estos valores son: IP, User-Agent y URL. En el ejemplo que estamos tratando ocurre exactamente lo mismo y en varios casos leídos en Internet, Angler EK actúa de la misma manera.
  • Hace uso de DGA (Domain Generation Algorithms) para conectarse al servidor CnC

¿Este ataque se corresponde con la definición de un Exploit Kit?

Sí. Lo más probable es que antes de lanzar el exploit de Flash, haya buscado otras tecnologías vulnerable en el sistema, pero al encontrar el Flash con esta version antigua, Angler EK le sirve al host la descarga del fichero .swf y termina explotando la vulnerabilidad concreta que tiene el host.

Esto podemos detallarlo analizando los siguientes eventos:

Alert ID 3.723

En el evento con Alert ID 3.723, podemos ver:

En el paquete No 4, el usuario realiza un HTTP POST contra el servidor: 173.201.198.128, esta petición lleva datos codificados:

Se puede ver más claramente si desplegamos la pestaña “HTML Form URL Encoded: application/x-www-form-urlencoded” en Wireshark:

En el paquete No 6 podemos ver que el servidor remoto le devuelve un “HTTP 200 OK”. En este momento se ha enviado la dirección IP del host, el User-Agent y una URL a un host remoto, probablemente controlado por el atacante. He intentando decodificar estos datos ya que aparentemente están en base 64, pero no he podido obtener ningún resultado.

Alert ID. 3.772

Este evento se genera al detectarse que en la comunicación se encuentra un fichero que contiene los siguientes valores en hexadecimal: “f1 f4 c2 a2 8b 34 6e 68”

Si abrimos los paquetes capturados de este evento en Wireshark, podremos ver lo siguiente:

En el paquete No 4, el host 192.168.0.12 realiza una petición “HTTP GET” al servidor 192.99.198.158 a la siguiente URL:

http://qwe.mvdunalterableairreport.net/680VBFhpBNBJOYXebSxgwLrtbh3g6JFUllqksWFSsGshhwsguyNL26MGul2oZ3b8

En el paquete No 6, podemos ver que el servidor devuelve un “HTTP 200 OK”  y el contenido del body empieza exactamente por el valor en hexadecimal de la regla SNORT:

En Azul vemos el “HTTP 200 OK” y en Rojo podemos ver los caracteres hexadecimales.  Estos caracteres hexadecimales se corresponden con una Shell-code que ha sido descargada específicamente para la vulnerabilidad que se ha detectado en Flash.

Concluyendo entonces, claramente estamos ante un Exploit Kit, que ha detectado una vulnerabilidad en una tecnología (Flash) y le ha servido un exploit y un paylaod para dicha vulnerabilidad.

Determinando el origen del malware

Todas las direcciones IPs involucradas en este ataque son:

  • Victima: 192.168.0.12
  • Atacantes: 93.114.64.118, 173.201.198.128, 192.99.198.158  y 209.126.97.209

La dirección IP del host que inicia el ataque, provocando la descarga del fichero .swf es 93.114.64.118. 

El nombre de dominio asociado con esa dirección IP es adstairs.ro desde donde se efectúa la descarga del fichero swf.

Resumen del ataque 

  • Esa web redirige a: http://qwe.mvdunalterableairreport.net donde se realiza una petición HTTP GET al endpoint: 3xdz3bcxc8 y al endpoint: xPF_HAXN7TK9bMAgBjZDwQzO1-Wf5GvrN5_lIReIhbrhqHAlWyTDbaOBMPWitjnX
  • Esta última petición (1) descarga un fichero .dll (2), como se puede ver en la siguiente imagen, este seria el Shellcode. Una vez cargado el código en memoria ahora el malware puede seguir ejecutando ordenes para descargar otros malware, por ejemplo.

 

  • El malware comprueba el Timezone del host infectado, enviando una petición HTTP POST a: http://www.earthtools.org/timezone/0/0
  • Usando el algoritmo de generación de dominios, consulta varios dominios hasta que uno de ellos le responde, este será el CnC con el que se comunicará. Estos datos se pueden ver en ELSA.

    En Rojo vemos los dominios que no responden y en Verde el dominio que responde: aemmiphbweeuef59.com -> 209.126.97.209

  • Se realiza una comunicación cifrada a través del puerto 443 con el CnC:

  • Ahora el host infectado responde a cualquier orden enviada por el servidor CnC.

Y eso es básicamente todo, espero que os haya podido ayudar de alguna manera. Recordad que si tenéis alguna duda, podéis dejármela en los comentarios.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s