¿Aún no formas parte de nuestro canal de noticias de Telegram?
¡Únete y mantente al día de toda la actualidad tecnológica!
Compartir
Ransomware

MalwareTech, así se identifica la persona que lleva un blog sobre malware, es conocido por evitar que se propagase aún más el ransomware que ayer fue noticia en todos los medios del mundo y que afectó a muchas de las empresas más importantes en casi un centenar de países.

MalwareTech relata como detuvo la infección

El autor contó ayer en su poco tiempo libre, así lo relató, como consiguió poner fin a WannaCrypt, en el que halla, al principio sin saberlo, la forma de detener la propagación del malware. Y así nos lo cuenta:

Me levanté a las 10 de la mañana y eché un vistazo en la plataforma de intercambio de amenazas cibernéticas del Reino Unido donde estuve siguiendo la expansión del malware bancario Emolet, algo que estaba siendo bastante significante hasta hoy. Hubieron algunos reportes sobre varias organizaciones que estaban siendo atacadas por un ransomware, pero no era significante… todavía. Más tarde me fui a comer mientras el ataque WannaCrypt entraba en pleno apogeo.

Un ransomware afecta a varias empresas importantes

Cuando volví a casa a las 14:30 horas, la plataforma de intercambio de amenazas estaba repleta de reportes sobre varios sistemas del servicio público de salud británico estaban siendo afectados, lo que me llevó a pensar que este ataque es realmente algo grande. A pesar de que un ransomware en los sistemas del sector público no era algo de interés periodístico, sí lo era el hecho de que estos sistemas estuvieran siendo infectados a la vez, lo que me llevó a pensar que como los empleados del NHS (servicio público de salud británico) no abren correos que puedan ser portadores de ataques de phishing, así el ataque podría estar siendo propagado por otra vía.

El inicio de la investigación

Rápidamente fui capaz de obtener una muestra del malware con la ayuda de un amigo. Cuando me dispuse a probar este ejemplar en mi entorno de pruebas, inmediatamente reconocí que intentaba acceder a un dominio aún no registrado, así que lo registré rápidamente.

Usando el programa Cisco Umbrella, podemos ver el volumen de la consulta al dominio antes de registrarlo a la vez que presenciar que el inicio del ataque fue sobre las 8 de la mañana (horario UTC).

Artículo WannaCrypt traducido

Mientras el dominio que había registrado se estaba propagando, volví a hacer pruebas en mi entorno virtual con WannaCrypt, e hice que el ransomware encontrase el dominio que buscaba; aunque lo más interesante fue ver que tras el cifrado de los archivos que dejé para la prueba, este empezó a conectarse a IPs aleatorias a través del puerto 445 (usado por SMB).

La gran cantidad de intentos me llevó inmediatamente a pensar que estaba haciendo la función de un escáner de exploits, y el hecho de que estuviese usando ese puerto me hizo echar la vista atrás al reciente filtrado de exploits de la NSA (Agencia de Seguridad Nacional de los E.E.U.U) que contenía, entre otros, un exploit que aprovechaba una vulnerabilidad sobre SMB.

Obviamente no tenía evidencia alguna de que estuviese buscando máquinas host con SMB ni que usase el exploit de la NSA, así que redacté un tuit con mi descubrimiento y le eché un vistazo al dominio que previamente había registrado y ya se había propagado.

El dominio registrado es un factor clave de la investigación

Ahora una cosa que ha sido importante notar es que el registro del dominio no ha sido un simple capricho. Mi trabajo consiste en buscar vías para rastrear y detener botnets (y otros tipos de malware), así que estoy siempre en primera línea de batalla para hacerme con dominios aún no registrados de servidores de control de malware. De hecho, el pasado año registré varios miles de ellos.

Nuestro procedimiento estándar transcurre algo parecido a:

  • Buscamos dominios no registrados o expirados que pertenezcan a botnets activas para luego dirigirlas hacia nuestro “sumidero” (Sinkhole, o sumidero es como el autor describe al servidor diseñado para capturar el tráfico malicioso y prevenir que los criminales tomen el control de los equipos infectados)
  • Buscamos información relativa a la distribución geográfica de los equipos infectados y la escala de la infección, incluyendo direcciones IP, que pueden ser usadas para notificar a las victimas de que han sido atacadas para luego asistirlos legalmente.
  • Aplicamos ingeniería inversa sobre el malware en cuestión para ver si contiene alguna vulnerabilidad en su código que nos permita tomar el control de toda la botnet para así evitar que se siga propagando o que se use para fines ilícitos, todo ello vía el dominio que registramos en el primer paso.

Pero, aunque aún no era consciente de ello, los tres pasos para el caso de WannaCrypt eran en realidad uno solo. Unos segundos después recibí un mensaje privado de un analista de Talos que me preguntaba por el ejemplar de WannaCrypt que estaba escaneando por hosts SMB, así que le di el ransomware.

Era gracioso no saber que en este punto de nuestra investigación aún no sabíamos que habíamos detenido la expansión del malware, así que existía una gran confusión ya que el investigador no podía obtener el mismo resultado al ejecutar las pruebas. Curioso era, pero debido a la presión que llevaba encima por el tiempo, no podía seguir investigando sobre ello, puesto que nuestro “sumidero” estaba llegando a un punto cercano al colapso debido a la gran cantidad de carga de trabajo que llevaba.

Así que me aseguré de que nuestro servidor sumidero seguía funcionando de manera estable y así poder obtener datos del dominio que había registrado (aunque en este punto no sabía la utilidad del dominio, aparte de que todo aquel afectado se conectaba a él, lo que nos permitía saber el alcance de la infección).

Arreglar el servidor sumidero nos llevó más de los esperado ya que la semana anterior estuvimos haciendo frente a una gran red de botnet que hizo uso de todo el ancho de banda, pero al final pude poner en marcha un mapa y publicarlo en Twitter (que aún podéis ver pinchando aquí).

Sobre las 18:23 (horario BST) requerí a un empleado para que mirase en el código del virus y verificase que el dominio que intentaba alcanzar no cambiaba, ya que algunos malware están diseñados para buscar nuevos dominios generados por un algoritmo. Mientras tanto, actualicé el mapa para poder ofrecer información a toda la gente que intentaba acceder a él.

MalwareTech paró la expansión, aunque aún lo desconocía

Unos 5 minutos después el empleado me respondió afirmando que el hecho de registrar el dominio había provocado que los archivos de los afectados fuesen encriptados (aunque al final no fuese cierto, como pudimos probar), pero aún así nos entró un poco el pánico.

Contacté con mi amigo Kafeine, que inicialmente nos ofreció la muestra del malware en cuestión y nos reenvió un tuit que un investigador de ProofPoint, Darien Huss había puesto minutos atrás, y en el que demostraba lo contrario a lo que pensábamos (registrar el dominio había detenido la expansión del ataque).

Pudiendo haber observado las dos experiencias contradictorias, volví a mi mesa de análisis y volví a ejecutar el ransomware, sin resultados. Así que modifiqué el archivo hosts para que el ransomware no pudiese acceder al dominio que había registrado y lo volví a ejecutar… INFECTADO.

En este punto no podéis imaginar a alguien tan contento porque había sido infectado, pero ese era el caso. El hecho de que el ransomware fallase y después me infectase demostraba que habíamos conseguido evitar que el malware pudiese infectar ningún equipo tras el registro del dominio (cosa que inicialmente no dije nada mientras que hice ingeniería inversa sobre él tres veces para verificar que estaba en lo cierto, a la vez que el tuit de Darien cosechaba gran difusión).

Explicación del modus operandi de WannaCrypt

Así que… ¿cómo pudo nuestro servidor sumidero parar esta epidemia de infecciones? El investigador de Talos ha escrito un buen artículo explicando como actúa este malware a nivel del código, que me servirá para elaborar una explicación usando capturas de Darien.

WannaCrypt traducido

Todo el código que se puede ver en la imagen superior es el que se encarga de intentar conectarse al dominio que registramos y, en el caso de no poder, el malware infectaba el sistema, mientras que si accedía al dominio este dejaba de funcionar (aún así no me quedó claro desde el principio porque había omitido el contexto de lo que hacía una de las funciones con el resultado de acceder o no al dominio).

Por esta razón imaginé que el dominio actuaba como un “kill switch”, en caso de que algo saliera mal. En algunos entornos de sandbox el tráfico es interceptado respondiendo a todas las peticiones de URL con una dirección IP que pertenece al sandbox en vez de a la IP real, actuando como un efecto secundario de que un dominio no registrado podría responder en el entorno protegido como registrado (algo que nunca debería ocurrir).

Conclusiones de MalwareTech

Creo que trataban de buscar intencionadamente un dominio no registrado para que apareciese como registrado en ciertos entornos de sandboxing, lo que permitiría saber que ciertamente el malware estaba siendo investigado dejando de funcionar para evitar ser explorado de forma más exhaustiva. Esta técnica tiene precedentes, como el troyano Necurs (que trataba de acceder a 5 dominios totalmente aleatorios y, si todos devolvían la misma IP, este dejaba de funcionar)

Aún así, WannaCrypt usaba solo un dominio, por lo que al registrarlo esto llevó a pensar que estaba dentro de un sandbox y le hizo parar el proceso de infección por todo el mundo… aunque inicialmente no lo tuviéramos conocimiento de ello. Por supuesto ahora estamos al corriente de esta posibilidad y continuaremos manteniendo este dominio para que WannaCrypt no pueda hacer daño en el futuro.

Un ciberataque a gran escala nos enseña la importancia de mantener los PC actualizados

Un factor importante es que nuestro sumidero solo puede parar este ejemplar de WannaCrypt, por lo que no podemos evitar que alguien lo modifique eliminando el chequeo de la IP. Por ello, es extremadamente importante que todos los sistemas que aún no hayan sido parcheados lo hagan tan pronto como sea posible.

El autor finaliza mencionando a empresas e instituciones que, de alguna forma u otra, han intervenido para ayudar a mitigar en lo posible el ataque. ¿Qué os ha parecido el método con el que MalwareTech ha conseguido parar a WannaCrypt?

  • Pablo

    Muy interesante!! 😀 Gracias por el articulo!! Siempre es bueno aprender como funcionan estos malware!! 😀

  • Pablo García

    Según le he leído a Chema Alonso, al parecer a dos variantes de este malware: A y B. Lo que describe este artículo es válido solo para la variante A, en cambio la variante B encripta nada más infectar el equipo y esta variante es la que ha dañado a TELEFONICA.

  • Ramiro

    Parece broma pero esto me recuerda el inicio de skynet, recuerdo que todo comienza como un virus que ataca en todos los países y después cuando encienden skynet para acabar con el sucede lo que sucede jejeje.

  • Prisma

    Por fin una página que lo explica con pelos y señales, tenía mucho interés de conocer la parte técnica del proceso más allá de las banales explicaciones de los meidios.
    Bravo.

  • Diana Mejía

    Muy interesante el artículo, solo aclarar que en el escrito donde empiezan a narrar la historia, utilizan la palabra “hubieron” y eso está mal dicho, se dice hubo.