Cuando a mediados de febrero detectamos y analizamos las primeras muestras del ransomware Locky, ya vimos que no se trataba de una variante más y que iba a dar mucha guerra en el futuro. El hecho de que estuviese estrechamente relacionado con la estructura criminal detrás del troyano bancario Dridex y que ambos malware usasen en varias ocasiones la misma infraestructura y vectores de ataque similares, eran aspectos preocupantes de cara al posible número de usuarios que podrían afectar.
Sin embargo, tras la campaña realizada a finales de mayo habíamos estado varias semanas sin tener noticias de Locky, algo bastante extraño y que podía significar importantes cambios en el caso de que volviese a aparecer. Y eso es exactamente lo que sucedió.
El retorno de Locky
Tras unas semanas durante junio sin apenas noticias de este ransomware, a partir del día 21 empezaron a detectarse una gran cantidad de correos electrónicos en inglés con un fichero adjunto malicioso en formato JavaScript que descargaba la variante de Locky más reciente. Estos correos han utilizado varios asuntos en sucesivas oleadas, pero siempre haciendo mención a un informe o factura, por lo que parece claro que su objetivo es el sector corporativo.
Estos son algunos ejemplos de correos utilizados por Locky desde el 21/06/2016:
Todos estos mensajes parecen provenir de remitentes legítimos que han sido infectados previamente y se encuentran controlados por los delincuentes a través de la botnet Necurs. Si bien hemos visto cómo Locky ha utilizado anteriormente un recurso clásico como la suplantación de un servicio postal, en esta ocasión han optado por algo que si bien no es novedoso, resulta igualmente efectivo.
Junto a estos e-mails encontramos un fichero adjunto comprimido en formato .zip, que contiene a su vez un archivo JavaScript. Este archivo malicioso es el que se pone en contacto con alguno de los servidores controlados por los criminales para descargar el payload de Locky, ejecutarlo y empezar a cifrar los archivos.
Respecto a los servidores que están siendo utilizados para alojar las variantes de Locky durante esta campaña y como centros de mando y control, vemos que se están usando numerosos dominios comprometidos y otros generados aleatoriamente. Algunos de los dominios comprometidos ya fueron usados a finales de mayo en la anterior campaña de propagación, lo que demuestra que sus propietarios no se han dado cuenta de que sus webs están siendo aprovechadas por los delincuentes para propagar malware.
En la siguiente imagen podemos ver un ejemplo de un dominio español que ha sido usado para distribuir variantes de Locky durante el último mes.
Con respecto a la detección de las muestras, hay que tener en cuenta que los delincuentes las actualizan constantemente para intentar evitar la detección por parte de los antivirus. Sin embargo, hemos comprobado que las soluciones de seguridad de ESET son capaces de bloquear la gran mayoría de dominios comprometidos, evitando así que se descargue el ransomware en los equipos de los usuarios.
Para que la detección de este tipo de malware sea lo más eficaz posible, recomendamos a los usuarios de las soluciones de seguridad de ESET que activen la herramienta ESET Live Grid si no lo hicieron durante la instalación. Esta herramienta aumenta notablemente la capacidad de detectar todo tipo de amenazas gracias al análisis continuo que de ellas se hace en nuestros laboratorios, y que aumenta drásticamente la capacidad de reacción del antivirus al no depender únicamente de las base de firmas de virus.
Locky implementa nuevas técnicas de evasión y detección
Una de las preguntas que muchos investigadores nos hicimos durante las semanas de inactividad de Locky era si en su regreso incorporaría nuevas funcionalidades o características adicionales. Desde la detección de las primeras muestras a mediados de febrero hasta las detectadas durante la última semana hemos visto cómo Locky ha ido evolucionando para conseguir un mayor número de víctimas.
Como ya hemos mencionado, la relación de Locky con Dridex es muy estrecha y eso lo pudimos observar cuando ambos malware utilizaron macros maliciosas en documentos de MS Office para engañar a los usuarios y conseguir infectarlos. Las variantes actuales parecen haberse decantado por los ficheros JavaScript, algo que no impide que los usuarios los ejecuten igualmente.
Además, las variantes analizadas durante estos días incorporan mecanismos de ofuscación y sistemas anti-debugging bastante interesantes. Entre estas mejoras encontramos un nuevo cifrado del archivo malicioso que evita que las revisiones del tráfico de red permitan detectarlo. Además, una vez descifrado, Locky necesita de un parámetro proporcionado a través de la línea de comandos para ejecutarse correctamente, evitando así a muchas sandbox que no saben cómo arrancar el ejecutable.
Pero la técnica más ingeniosa que incorporan estas nuevas variantes de Locky para detectar si está ejecutándose en un entorno virtualizado es la que compara el tiempo de ejecución de la API Windows GetProcessHeap contra la API CloseHandle. La relación normal en un sistema real debería ser de 1:10 como mínimo, pero en una máquina virtual esta relación es mucho menor, por lo que el malware puede detectar que se encuentra en un entorno virtualizado y evita ejecutarse, dificultando así su análisis.
Impacto a nivel mundial
El uso de una botnet como Necurs ha hecho que la cantidad de mensajes enviados con el fichero JavaScript adjunto malicioso sea muy elevada durante estos días. Esto ha repercutido directamente en las tasas de detección e infección, tal y como podemos ver en el siguiente gráfico sacado del servicio Virus Radar de ESET:
En este gráfico se observan perfectamente las semanas de inactividad entre la campaña de finales de mayo y esta nueva campaña, con tasas de detección aun mayores. Sin embargo, si lo analizamos por países podemos observar cómo los porcentajes varían notablemente. En la mayoría de países de Europa y América los niveles de detección de Locky suelen sobrepasar el 25% con respecto al total de muestras detectadas. Sin embargo, existen otros países como Australia y, especialmente, Japón, donde estos niveles han sido sobrepasados con creces.
Es especialmente significativo el caso de Japón, país que lleva sufriendo oleada tras oleada de ransomware desde finales de 2015 con elevados niveles de detección. Parece que los delincuentes están centrándose en el país asiático, no porque sus sistemas sean más inseguros, sino porque los usuarios nipones suelen ser más propensos a pagar que los usuarios en otras partes del mundo.
Otro dato curioso y que es común con otras familias de malware es el bajo impacto que Locky tiene en el este de Europa. Esto tiene una explicación, y es que muchos creadores de malware provienen de esas regiones y evitan afectar a sus compatriotas para no levantar sospechas entre las fuerzas de seguridad de su país.
Por ese motivo, tal y como sucede en muchos casos de malware desarrollado en esa zona, una de las primeras cosas que hace Locky es comprobar el lenguaje del sistema, y si este es ruso, bielorruso o ucraniano, el ransomware no cifra ningún fichero y se elimina automáticamente.
Conclusión
Como en anteriores casos de ransomware, la prevención resulta fundamental para evitar encontrarte con la desagradable situación de ver la mayor parte de tus ficheros cifrados. A las soluciones de seguridad debidamente configuradas y actualizadas se les pueden añadir reglas que aumenten la probabilidad de detección. Si además te encuentras en un entorno corporativo, harías bien en adoptar ciertas medidas preventivas que ayuden a mitigar este tipo de ataques.
Además, para luchar contra este tipo de malware que utiliza ficheros JavaScript para infectar el sistema sería recomendable desactivar la ejecución de estos archivos, ya sea desactivando Windows Script Host o asociando esos ficheros a otro programa como el bloc de notas. Para terminar, es buena idea instalar alguna aplicación como el Anti Ransom v3, que permita detectar cuándo se está realizando el cifrado del disco y detenerlo, para así tomar medidas y desinfectar el sistema.
Hashes de muestras analizadas
ED2C1916FA17F2A57119FD546F29FA3303771886
3F2733C87EBAF5D3E893CD3292A53C18B3907322
15434155D52941698E75BE1C015E1BFAA0A7ED3D
BE8D3C8D36F1C238F11BC890F8115A8A673303DE
C523AEC73F38842AFAA3A0E1FEB1CB9C5B8C63B5
37E218D011A4AFBD7F6691D5A3C87D2C8A73D1BF