EvilQuest reúne ransomware, spyware y robo de datos en un solo malware

El anuncio de la aparición de una nueva amenaza para macOS dotada de funciones de ransomware ha suscitado un enorme interés. Y por una buena razón. Desde que la comunidad macOS fue alertada por primera vez por el investigador de malware Dinesh Devadoss, esta amenaza ha sido objeto de una vigilancia estrecha por parte de algunos investigadores de seguridad, concretamente Scott Knight, Patrick Wardle y nuestro propio equipo de SentinelLabs. Su excelente trabajo ha permitido descubrir que esta amenaza, que se sigue desarrollando de manera activa, es bastante más que un nuevo ransomware. Sin duda se trata de una de las amenazas más complejas dirigidas contra la plataforma Mac observadas hasta la fecha. En este artículo, vamos a recapitular toda la información conocida y le pondremos al corriente de las últimas iteraciones.

Los múltiples nombres de EvilQuest, ThiefQuest y MacRansom.K

Los investigadores de Malwarebytes llamaron inicialmente a la amenaza «EvilQuest», y la rebautizaron como «ThiefQuest» unos días más tarde. Aparte de estos dos nombres, muchos motores de VirusTotal también la llaman MacRansom.K.

Lamentablemente, esto ha provocado cierta confusión, no solo sobre la amenaza, sino también sobre sus funciones.

Aunque Mac.Ransom.K se ajuste a una convención reconocida (plataforma/tipo/variante), resulta problemática porque esta amenaza no es solamente, y tal vez no principalmente, ransomware. En la medida en que los creadores de malware activos en todas las plataformas reciclan cada vez más su código para ofrecer múltiples funciones, la clasificación por tipo de amenaza puede no ser muy útil.

Una convención de nomenclatura de malware adecuada reagruparía idealmente las muestras de malware por características comunes. En ese sentido, la característica más común de las muestras observadas hasta el momento es la cadena literal (__cstring) «toidievitceffe» que, junto con otras cadenas como «rennur.c» (c.runner), está claramente formada a partir de palabras en inglés al revés:

echo 'toidievitceffe' | rev
effectiveidiot

Asimismo, vemos que los desarrolladores claramente utilizan «toidievitceffe» como nombre de su proyecto Xcode.

Otros ejemplos interesantes de cadenas de texto invertidas son «naughtycuckoo», «keylogger» y «filewatcher», ya que pueden ayudar a entender mejor cuál es la auténtica motivación de los ciberdelincuentes, como explicaremos más adelante.

En algunas muestras, la cadena invertida «effectiveidiot» se repite más de 60 veces, lo que podría sugerir que a los propios creadores del malware les gusta la idea de que los investigadores de seguridad se fijen en esta cadena para dar nombre a la amenaza. Aquí utilizamos la extraordinaria herramienta FLOSS para extraer las cadenas, en lugar de la utilidad de extracción de cadenas nativa.

Además, la ocultación de cadenas en las muestras recientes indica que los desarrolladores pusieron deliberadamente el nombre de usuario «drozdovsky» y el nombre de compilación «toidievitceffe», sin duda con la intención de ofrecer pistas falsas.

Aunque es verdad que las convenciones de nomenclatura del malware no son de vital importancia, sí que resultan útiles, en particular para los investigadores y todas las personas que sigan la evolución del debate público y la investigación. A pesar de que existen buenas razones para llamar a esta amenaza «OSX.EffectiveIdiot», sospechamos que es demasiado tarde para dar marcha atrás y la confusión sobre su nombre probablemente continuará. Los nombres «EvilQuest» o «ThiefQuest» probablemente prevalecerán, aunque solo sea por su uso generalizado en los medios de comunicación. Por no hablar de que resultan muy atractivos desde el punto de vista mediático.

Cifrado craqueado: ¿funciones de ransomware solo para la galería?

Como todo el interés inicial en torno a “EvilQuest/ThiefQuest” se debe a que se trata de un nuevo ransomware para macOS, empezaremos por ahí. Aunque Windows ha sido la principal víctima del saqueo perpetrado por el ransomware en los últimos tiempos, este es solo el tercer ransomware en circulación conocido dirigido contra el sistema operativo macOS. Esto es ya de por sí extraño, puesto que el uso del Mac está muy extendido en los entornos corporativos, en particular, entre los cargos directivos y desarrolladores, que son objetivos muy codiciados por los ciberdelincuentes. Por tanto, si la noticia de la aparición de lo que parece un ransomware para Mac es una novedad, en cierto sentido no es inesperada.

No obstante, como ransomware, «EvilQuest/ThiefQuest» no cumple prácticamente ninguno de los criterios para tener éxito. Para empezar, si se piensa extorsionar dinero cifrando los archivos de alguien, el cifrado tiene que ser indescifrable. La criptografía es una disciplina compleja, y todos los que son lo suficientemente inteligentes como para practicarla coinciden en hacer la misma recomendación: no intentes crear tu propio cifrado porque estarás inevitablemente abocado al fracaso. Los operadores de ransomware que tienen éxito son lo bastante listos como para seguir ese consejo y utilizan algoritmos de cifrado probados, normalmente con un componente asimétrico como mínimo, es decir, que solicita acceso a una clave privada que solo tiene el agresor.

Los desarrolladores de «EffectiveIdiot» decidieron pasar por alto esto y optaron por un cifrado con clave simétrica, lo que significa que la clave que se utiliza para cifrar un archivo es la misma que se utiliza para descifrarlo. Aún mejor, como ha descubierto, Jason Reaves, nuestro responsable de investigación de SentinelLabs:

«[…] la clave de texto no cifrado que se utilizó para codificar la clave de cifrado del archivo termina añadiéndose a la clave de cifrado del archivo codificado. El examen de un archivo completamente cifrado muestra que se ha añadido un bloque de datos a él.»

Esto ha permitido a Jason y al equipo de SentinelLabs crear una utilidad de descifrado pública que puede utilizar toda persona que haya tenido la mala fortuna de ser víctima de este malware. En este vídeo se explica cómo usarlo:

Vea el descifrador del ransomware EvilQuest en acción

Además de asegurarse de la inviolabilidad de su cifrado, los operadores de ransomware querrán que sus esfuerzos se vean gratamente recompensados. En el caso del malware «EvilQuest/ThiefQuest», el primer indicio que levantó sospechas fue la propia nota de rescate.

Dos cosas llaman la atención: el importe increíblemente bajo del rescate y el hecho de que no haya una dirección de correo electrónico ni otros datos de contacto que permitan a la víctima comunicarse con el ciberdelincuente. Una vez más, si nos referimos a los ataques contra sistemas Windows, los operadores de ransomware han desarrollado tácticas hábiles y eficaces para conseguir que la gente pague. Esto incluye una combinación de amenazas y garantías, e incluso ciertos niveles de atención al cliente. Eso no ocurre en este caso. Todo lo que dice la nota de rescate es: «envíenos el dinero. Estaremos en contacto». Pero no hay forma de decirle a los ciberdelincuentes que ha pagado, de facilitarles su dirección de contacto, ni de solicitarles un archivo cifrado de muestra o cualquier otro elemento de identificación. El equivalente al poco alentador “No nos llame; nosotros le llamaremos».

No nos sorprende que los ciberdelincuentes no hayan hecho fortuna. Hasta la fecha, en la única dirección de BitCoin conocida que es común a todas las muestras se han registrado exactamente cero transacciones.

Por último, en el componente de ransomware, SentinelLabs también ha observado que la rutina de descifrado, uncarve_target, no tiene llamada en el código, lo que sugiere que la funcionalidad está incompleta o que los autores nunca tuvieron la intención de ofrecer el descifrado (en cuyo caso, podríamos especular que la presencia de la rutina de descifrado en el código es un artefacto de pruebas anteriores).

¿Quién comparte? Un ladrón de datos en la carpeta compartida

A raíz de la aparición de detalles como los anteriores, se ha prestado atención a otras funciones del malware, en particular el hecho de que descarga y ejecuta tres scripts de Python en la carpeta /Users/Shared. Estos scripts están diseñados para buscar y filtrar archivos con determinadas extensiones:

Los scripts varían en las muestras, pero inicialmente se utilizaron los siguientes nombres cortos:

/Users/Shared/.dr
/Users/Shared/.p
/Users/Shared/.gp

Además, la capacidad del malware para robar datos no se limita a los binarios Mach-O invisibles que se depositan en la carpeta de la biblioteca del usuario.

Observe las siguientes cadenas cifradas:

Podemos utilizar una herramienta desarrollada por Scott Knight, otro investigador de macOS, para descifrarlas, gracias a lo cual se pone de manifiesto lo siguiente:

bytearray(b'*id_rsa*/ix00')
bytearray(b'*.pem/ix00')
bytearray(b'*.ppk/ix00')
bytearray(b'known_hosts/ix00')
bytearray(b'*.ca-bundle/ix00')

Parecería que el malware está buscando claves SSH y certificados de confianza para facilitar la posibilidad de iniciar sesión de manera remota y manipular los navegadores web para acceder a sitios de confianza sin que se generen advertencias de seguridad.

Como han constatado otros investigadores, la existencia de llamadas de API a eventos de hardware de bajo nivel constituye una prueba fehaciente del registro de pulsaciones de teclas. Observe la primera mitad del nombre de la función, invertido, y la existencia de un posible error de tecleo en «file», como en «klgr_flie»:

Resulta igualmente interesante señalar que, contrariamente a lo que ocurre con el malware de borrado (wiper) y otras variantes de ransomware agresivas en otras plataformas, el componente de ransomware no interfiere realmente con el uso continuado del dispositivo por el usuario. Un simple cuadro de diálogo de alerta generado por osascript informa al usuario de la situación:

El cuadro de diálogo desaparece al pulsar «Aceptar» y permite que el usuario siga utilizando el equipo, lo que resulta muy conveniente para los componentes de spyware.

Una nueva variante llama la atención de un investigador de macOS

El investigador de macOS Patrick Wardle ha sido el responsable de la publicación inicial de buena parte de los primeros detalles técnicos. En lugar de repetir todos los detalles, aquí les remitimos a sus excelentes publicaciones sobre la primera muestra de «AppQuest» detectada la semana pasada. Wardle afirma que el malware tiene capacidad viral y también hay otros elementos que parecen indicar que el malware intenta infectar los ejecutables existentes en la carpeta personal del usuario, aunque el comportamiento no se refleja en nuestras pruebas.

Desde la primera investigación han aparecido nuevas variantes con rutas y cadenas actualizadas y codificadas de forma rígida. En particular, en el método «react_ping», hay un guiño a las investigaciones de Wardle que contiene la cadena cifrada «Hello Patrick».

La versión reciente también actualiza la dirección C2 codificada de forma rígida (de 167.71.237.219 en la versión anterior a 159.65.147.28) e incluye la herramienta de generación de informes «Knock Knock» de Wardle en su lista de software de comprobación:

Otros cambios recientes incluyen el uso de «abtpd» en la etiqueta del ejecutable. En el código hay varios elementos que sugieren que «.ab**d» puede ser una variante utilizada en diferentes instalaciones, pero no hemos podido confirmarlo en el momento de redactar esta publicación. En lugar de utilizar el nombre de carpeta «AppQuest», el agente de persistencia ahora señala a una carpeta creada por el ciberdelincuente que se llama «PrivateSync».

De manera similar, en muestras anteriores se depositaba un archivo de texto sin formato invisible con una cadena de 43 bytes en las carpetas /var/root/ y /Users/User1/ con el nombre «.ncspot». En las últimas muestras que hemos examinado, el archivo spot se había depositado en las mismas ubicaciones, pero esta vez con el nombre «.aespot».

Teniendo en cuenta la rapidez de las iteraciones hasta el momento, cabría esperar que todo esto cambiase en los próximos días, o incluso en las próximas horas.

Protección frente a malware para macOS EvilQuest/ThiefQuest

La plataforma SentinelOne ofrece una protección eficaz contra EvilQuest/ThiefQuest para su empresa.

Cómo protege SentinelOne contra el ransomware para macOS EvilQuest

A quienes no disfrutan de la protección de SentinelOne y son víctimas de este malware, les recomendamos restaurar por completo el sistema con una copia de seguridad correcta conocida. Además, debido al registro de pulsaciones y a otras funciones de spyware, sería recomendable cambiar las contraseñas y restablecer las credenciales de los certificados de confianza y SSH.

Si tiene archivos cifrados por EvilQuest, nuestra herramienta de descifrado pública se encuentra disponible aquí.

Conclusión

Ya se llame «EffectiveIdiot», «ThiefQuest» o «EvilQuest», la aparición de este malware híbrido con funciones de ransomware, spyware y robo de datos es sin duda un acontecimiento importante. No solo ha pillado desprevenidas a muchas herramientas de seguridad, sino que también podría haber inducido a sus víctimas a seguir usando los equipos infectados y divulgar datos vitales mientras buscaban una solución al supuesto problema de los archivos cifrados. Como siempre, instamos a los usuarios de macOS a que sean conscientes del peligro dado que el malware ya no es un problema exclusivo de Windows y que deben asegurarse de que disponen de una protección adecuada.

Ejemplos de hashes

06974e23a3bf303f75c754156f36f57b960f0df79a38407dfdef9a1c55bf8bff Mach-O
d18daea336889f5d7c8bd16a4d6358ddb315766fa21751db7d41f0839081aee2 Mach-O
c5a77de3f55cacc3dc412e2325637ca7a2c36b1f4d75324be8833465fd1383d3 Mach-O

Indicadores de compromiso

/var/root/.aespot
~/.aespot
~/Library/LaunchAgents/com.apple.abtpd.plist
~/Library/PrivateSync/com.abtpd.questd
/Library/LaunchDaemons/com.apple.abtpd.plist
/Library/PrivateSync/com.abtpd.questd