Investigadores de ESET descubrieron un malware espía para macOS, dicho backdoor espía a los usuarios de los equipos Mac comprometidos y utiliza servicios públicos de almacenamiento en la nube para comunicarse con sus operadores. Sus capacidades muestran que la intención de sus operadores es recopilar información del equipo víctima extrayendo documentos, registrando pulsaciones del teclado y realizando capturas de pantalla.
Apple ha reconocido recientemente la presencia de malware espía dirigido a los usuarios de sus productos y recientemente anunció el lanzamiento del modo Lockdown para iOS, iPadOS y macOS, una herramienta que desactiva aquellas funciones comúnmente explotadas para obtener la ejecución de código y desplegar malware. Si bien no es el malware más avanzado, CloudMensis, como lo nombró ESET, puede ser una de las razones por las que algunos usuarios querrían habilitar este mecanismo de defensa adicional. Deshabilitar los principales puntos de entrada, a expensas de una experiencia de usuario menos fluida, parece una forma razonable de reducir la superficie de ataque.
“Las muestras que analizamos de CloudMensis están compiladas para las arquitecturas de Intel y Apple. Todavía no sabemos cómo las víctimas logran ser comprometidas con este malware. Sin embargo, entendemos que cuando se obtienen privilegios administrativos y de ejecución de código, se da un proceso de dos etapas, la primera etapa descarga y ejecuta la segunda etapa con más funciones. Curiosamente, el malware de la primera etapa recupera el de la siguiente etapa de un proveedor de almacenamiento en la nube. No utiliza un enlace de acceso público; incluye un token de acceso para descargar el archivo MyExecute de la unidad. En la muestra que analizamos, se utilizó pCloud para almacenar y entregar la segunda etapa.”, comenta Camilo Gutiérrez Amaya, Jefe del Laboratorio de Investigación de ESET Latinoamérica.
Los artefactos que quedan en ambos componentes sugieren que sus autores los denominan execute y Client, siendo el primero el downloader y el segundo el malware espía. El malware de primera etapa descarga e instala el malware de segunda etapa como un daemon del sistema. En esta etapa, los atacantes ya deben tener privilegios administrativos porque ambos directorios solo pueden ser modificados por el usuario root.
El componente de la primera etapa incluye un método llamado removeRegistration que estaría presente para hacer la limpieza después la explotación de una vulnerabilidad en Safari. Inicialmente desde ESET se pensó que el propósito de removeRegistration era desinstalar versiones anteriores de CloudMensis, pero investigaciones posteriores demostraron que estos archivos se utilizan para iniciar exploits de sandbox y de escalación de privilegios desde Safari mientras abusa de cuatro vulnerabilidades. Estas vulnerabilidades fueron descubiertas y documentadas por Niklas Baumstark y Samuel Groß en 2017, y las cuatro fueron parcheadas por Apple el mismo año, por lo que esta técnica de distribución probablemente ya no se utilice para instalar CloudMensis. Esto, según ESET, sugiere que CloudMensis puede haber existido durante muchos años.
La segunda etapa de CloudMensis es un componente mucho más grande, empaquetado con múltiples funciones para recopilar información de la Mac comprometida. Desde ESET destacan que la intención de los atacantes es exfiltrar documentos, capturas de pantalla, archivos adjuntos de correo electrónico y otros datos confidenciales. CloudMensis utiliza el almacenamiento en la nube tanto para recibir comandos de sus operadores como para exfiltrar archivos. Admite tres proveedores diferentes: pCloud, Yandex Disk y Dropbox. La configuración incluida en la muestra analizada contiene tokens de autenticación para pCloud y Yandex Disk.
Una de las primeras cosas que hace el malware espía CloudMensis es cargar su configuración. Además, también intenta importar valores de lo que parecen ser versiones anteriores de la configuración de CloudMensis. La configuración contiene lo siguiente:
- Qué proveedores de almacenamiento en la nube usar y los tokens de autenticación
- Un identificador de bot generado aleatoriamente
- Información sobre la Mac
- Rutas a varios directorios utilizados por CloudMensis
- Extensiones de archivos que son de interés para los operadores
Según mencionan desde ESET, la lista predeterminada de extensiones de archivo encontradas muestra que los operadores están interesados en documentos, hojas de cálculo, grabaciones de audio, imágenes y mensajes de correo electrónico de los equipos Mac víctimas. El formato menos común es quizás el de las grabaciones de audio que usan el códec Adaptive Multi-Rate (usando las extensiones .amr y .3ga), que está diseñado específicamente para la compresión de voz. Otras extensiones de archivo interesantes en esta lista son los archivos .hwp y .hwpx , que son documentos para Hangul Office (ahora Hancom Office), un procesador de textos popular entre los hablantes de coreano.
Algunas de las acciones que los comandos permiten realizar a los operadores son:
- Cambiar los valores en la configuración de CloudMensis: proveedores de almacenamiento en la nube y tokens de autenticación, extensiones de archivo que se consideren interesantes, frecuencia de sondeo del almacenamiento en la nube, etc.
- Crear lista procesos en ejecución
- Iniciar una captura de pantalla
- Crear lista de mensajes de correo electrónico y archivos adjuntos
- Enumerar archivos de la unidad almacenamiento extraíble
- Ejecutar comandos de shell y cargar la salida al almacenamiento en la nube
- Descargar y ejecutar archivos arbitrarios
Los metadatos de los servicios de almacenamientos en la nube utilizados por CloudMensis revelan detalles sobre la operación. Se identificó un árbol de almacenamiento para enviar el informe inicial y transmitir comandos a los bots a partir del 22 de abril de 2022.
Estos metadatos dan un panorama parcial de la operación y ayudan a trazar una línea de tiempo. Primero, las cuentas de pCloud fueron creadas el 19 de enero de 2022. La lista de directorios del 22 de abril muestra que 51 identificadores de bot únicos crearon subdirectorios en el almacenamiento en la nube para recibir comandos. Debido a que estos directorios se crean cuando el malware se lanza por primera vez, es posible usar su fecha de creación para determinar la fecha del compromiso inicial.