Nota del editor: el nombre original del malware, EvilQuest, ha cambiado debido a un juego legítimo del mismo nombre desde 2012. El nuevo nombre es OSX.ThiefQuest.

Un usuario de Twitter llamado @beatsballert me envió un mensaje ayer después de enterarse de un instalador de Little Snitch aparentemente malicioso disponible para descargar en un foro ruso dedicado a compartir enlaces de torrents. Una publicación ofreció una descarga de torrents para Little Snitch, y pronto le siguieron varios comentarios de que la descarga incluía malware. De hecho, descubrimos que no solo era malware, sino una nueva variante de ransomware para Mac que se propagaba a través de la piratería.

Publicación de RUTracker que muestra un enlace magnético al instalador malicioso

Instalación

El análisis de este instalador mostró que definitivamente estaba sucediendo algo extraño. Para comenzar, el instalador legítimo de Little Snitch está empaquetado de forma atractiva y profesional, con un instalador personalizado bien hecho que está debidamente firmado por código. Sin embargo, este instalador era un simple paquete de instalación de Apple con un ícono genérico. Peor aún, el paquete de instalación se distribuyó sin sentido dentro de un archivo de imagen de disco.

Instalador malicioso de Little Snitch

El examen de este instalador reveló que instalaría lo que resultó ser las aplicaciones legítimas de instalación y desinstalación de Little Snitch, así como un archivo ejecutable llamado «parche», en el /Users/Shared/directorio.

Archivos instalados

El instalador también contenía un script posterior a la instalación, un script de shell que se ejecuta después de que se completa el proceso de instalación. Es normal que este tipo de instalador contenga secuencias de comandos previas a la instalación y / o posteriores a la instalación, para su preparación y limpieza, pero en este caso la secuencia de comandos se utilizó para cargar el malware y luego iniciar el instalador legítimo Little Snitch.

! / bin / sh
mkdir / Biblioteca / LittleSnitchd

mv / Users / Shared / Utils / patch / Library / LittleSnitchd / CrashReporter
rmdir / Usuarios / Compartido / Utilidades

chmod + x / Library / LittleSnitchd / CrashReporter

/ Library / LittleSnitchd / CrashReporter
abrir /Users/Shared/LittleSnitchInstaller.app &

El script mueve el patcharchivo a una ubicación que parece estar relacionada con LittleSnitch y le cambia el nombre CrashReporter. Como hay un proceso legítimo que forma parte de macOS llamado Crash Reporter, este nombre se combinará razonablemente bien si se ve en Activity Monitor. Luego se elimina de la /Users/Shared/carpeta y lanza la nueva copia. Finalmente, lanza el instalador de Little Snitch.

En la práctica, esto no funcionó muy bien. El malware se instaló, pero el intento de ejecutar el instalador de Little Snitch se suspendió indefinidamente, hasta que finalmente lo forcé a cerrar. Además, el malware en realidad no comenzó a encriptar nada, a pesar del hecho de que lo dejé correr por un tiempo con algunos documentos señuelo en posición de víctimas voluntarias.

Mientras esperaba que el malware hiciera algo (¡cualquier cosa!), Una investigación adicional encontró un instalador malicioso adicional, para un software de DJ llamado Mixed In Key 8, así como insinúa que también existe un instalador malicioso de Ableton Live (aunque dicho instalador no aún se ha encontrado). Indudablemente, también hay otros instaladores flotando que no se han visto.

El instalador Mixed In Key resultó ser bastante similar, aunque con nombres de archivo ligeramente diferentes y script posterior a la instalación.

! / bin / sh
mkdir / Library / mixednkey

mv / Aplicaciones / Utilidades / patch / Library / mixednkey / toolroomd
rmdir / Aplicación / Utilidades

chmod + x / Library / mixednkey / toolroomd

/ Library / mixednkey / toolroomd &

Este no incluía código para iniciar un instalador legítimo, y simplemente dejó caer la aplicación Mixed In Key directamente en la carpeta Aplicaciones.

Infección

Una vez que el instalador desencadenó la infección, el malware comenzó a extenderse generosamente por el disco duro. Ambas variantes instalaron copias del patcharchivo en las siguientes ubicaciones:

/Library/AppQuest/com.apple.questd
/Users/user/Library/AppQuest/com.apple.questd
/private/var/root/Library/AppQuest/com.apple.questd

También configuró la persistencia a través del agente de lanzamiento y los archivos de daemon plist:

/Library/LaunchDaemons/com.apple.questd.plist
/Users/user/Library/LaunchAgents/com.apple.questd.plist
/private/var/root/Library/LaunchAgents/com.apple.questd.plist

/private/var/root/Es probable que este último en cada grupo de archivos, encontrado en , se deba a un error en el código que crea los archivos en la carpeta del usuario, lo que lleva a la creación de los archivos en la carpeta del usuario raíz. Como es bastante raro que alguien inicie sesión como root, esto no tiene ningún propósito práctico.

Curiosamente, el malware también se copió en los siguientes archivos:

/Users/user/Library/.ak5t3o0X2
/private/var/root/Library/.5tAxR3H3Y

Este último era idéntico al patcharchivo original , pero el primero fue modificado de una manera muy extraña. Contenía una copia del patcharchivo, con una segunda copia de los datos de ese archivo adjunta hasta el final, seguida de 9 bytes adicionales: la cadena hexadecimal 03705701 00CEFAAD DE. Todavía no se sabe cuál es el propósito de estos archivos o estos datos adicionales agregados.

Aún más extraño, y aún inexplicable, fue el hecho de que el malware también modificó los siguientes archivos:

/Users/user/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Helpers/crashpad_handler
/Users/user/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Helpers/GoogleSoftwareUpdateDaemon
/Users/user/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Helpers/ksadmin
/Users/user/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Helpers/ksdiagnostics
/Users/user/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Helpers/ksfetch
/Users/user/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Helpers/ksinstall

Todos estos archivos son archivos ejecutables que forman parte de GoogleSoftwareUpdate, que se encuentran comúnmente instalados debido a que Google Chrome está instalado en la máquina. Estos archivos tenían el contenido del patcharchivo antepuesto a ellos, lo que, por supuesto, significaría que el código malicioso se ejecutaría cuando se ejecute cualquiera de estos archivos. Sin embargo, Chrome verá que los archivos se han modificado y reemplazará los archivos modificados con copias limpias tan pronto como se ejecute, por lo que no está claro cuál es el propósito aquí.

Comportamiento

El malware instalado a través del instalador Mixed In Key fue igualmente reticente para comenzar a cifrar archivos por mí. Lo dejé funcionando en una máquina real durante algún tiempo sin resultados, luego comencé a jugar con el reloj del sistema. Después de adelantarlo tres días, desconectarse de la red y reiniciar la computadora un par de veces, finalmente comenzó a cifrar archivos.

Sin embargo, el malware no era particularmente inteligente sobre qué archivos cifraba. Parecía cifrar varios archivos de configuración y otros archivos de datos, como los archivos de llavero. Esto dio como resultado un mensaje de error al iniciar sesión después del cifrado.

Se muestra un error después de que el ransomware cifró el llavero

Hubo otras indicaciones de error muy obvias, como el Dock restableciendo su apariencia predeterminada.

El Finder también comenzó a mostrar signos de problemas, con bolas de playa giratorias que aparecían con frecuencia al seleccionar un archivo encriptado. Otras aplicaciones también se congelarían periódicamente, pero las congelaciones del Finder solo se podrían administrar forzando el cierre del Finder.

Aunque otros han informado que se crea un archivo con instrucciones sobre cómo pagar el rescate, así como una alerta que se muestra, e incluso texto a voz utilizado para informar al usuario que han sido infectados con ransomware, no pude duplicar ninguno de estos , a pesar de esperar bastante tiempo para que termine el ransomware.

Captura de pantalla del mensaje de cifrado publicado en el foro RUTracker

Capacidades

El malware incluye algunas técnicas anti-análisis, que se encuentran en funciones nombradas is_debuggingis_virtual_mchn. Esto es común con el malware, ya que tener un depurador conectado al proceso o ejecutarse dentro de una máquina virtual son indicios de que un investigador de malware lo está analizando. En tales casos, el malware normalmente no mostrará todas sus capacidades.

En una publicación de blog sobre Objective-See , Patrick Wardle describió los detalles de cómo funcionan estas dos rutinas. La is_virtual_mchnfunción en realidad no parece verificar si el malware se está ejecutando en una máquina virtual, sino que trata de atrapar una VM en el proceso de ajuste del tiempo. No es inusual que el malware incluya demoras. Por ejemplo, el primer ransomware Mac, KeRanger, incluyó un retraso de tres días entre el momento en que infectó el sistema y el momento en que comenzó a cifrar archivos. Esto ayuda a ocultar la fuente del malware, ya que el comportamiento malicioso puede no estar inmediatamente asociado con un programa instalado tres días antes.

Esto, más el hecho de que el malware incluye funciones con nombres como ei_timer_createei_timer_startei_timer_check, probablemente significa que el malware se ejecuta con un retraso de tiempo, aunque aún no se sabe cuál es ese retraso.

Patrick también señala que el malware parece incluir un keylogger, debido a la presencia de llamadas a CGEventTapCreate, que es una rutina del sistema que permite el monitoreo de eventos como pulsaciones de teclas. No se sabe qué hace el malware con esta capacidad. También abre un shell inverso a un servidor de comando y control (C2).

Preguntas abiertas

Todavía hay una serie de preguntas abiertas que serán respondidas a través de un análisis más detallado. Por ejemplo, ¿qué tipo de cifrado utiliza este malware? ¿Es seguro o será fácil de descifrar (como en el caso de descifrar archivos cifrados por el ransomware FindZip )? ¿Será reversible o la clave de cifrado nunca se comunicará a los delincuentes detrás de ella (también como FindZip)?

Todavía hay más por aprender, y actualizaremos esta publicación a medida que se conozca más.

Post-infección

Si se infecta con este malware, querrá deshacerse de él lo más rápido posible. Malwarebytes para Mac detectará este malware como OSX.ThiefQuest y lo eliminará.

Si sus archivos se cifran, no estamos seguros de cuán grave es la situación. Depende del cifrado y de cómo se manejan las claves. Es posible que una mayor investigación conduzca a un método para descifrar archivos, y también es posible que eso no suceda.

La mejor manera de evitar las consecuencias del ransomware es mantener un buen conjunto de copias de seguridad. Guarde al menos dos copias de seguridad de todos los datos importantes, y al menos una no debe mantenerse adjunta a su Mac en todo momento. (El ransomware puede intentar cifrar o dañar las copias de seguridad en las unidades conectadas).

Personalmente tengo varios discos duros para copias de seguridad. Utilizo Time Machine para mantener un par y Carbon Copy Cloner para mantener un par más. Una de las copias de seguridad siempre está en la caja de seguridad del banco, y las cambio periódicamente, por lo que, en el peor de los casos, siempre tengo datos razonablemente recientes almacenados en un lugar seguro.

Si tiene buenas copias de seguridad, el ransomware no es una amenaza para usted. En el peor de los casos, simplemente puede borrar el disco duro y restaurar desde una copia de seguridad limpia. Además, esas copias de seguridad también lo protegen contra cosas como fallas en la unidad, robo, destrucción de su dispositivo, etc.

Indicadores de compromiso

Archivos

parche (y com.apple.questd)
5a024ffabefa6082031dccdb1e74a7fec9f60f257cd0b1ab0f698ba2a5baca6b

Little Snitch 4.5.2.dmg
f8d91b8798bd9d5d348beab33604a540e13ce40b88adc096c8f1b3311187e6fa

Mezclado en clave 8.dmg
b34738e181a6119f23e930476ae949fc0c7c4ded6efa003019fa946c4e5b287a

Red

Servidor C2 167.71.237.219
Dirección C2 obtenida de andrewka6.pythonanywhere [.] Com