En abril de 2022, descubrieron un backdoor para macOS previamente desconocido que espía a los usuarios de los equipos Mac comprometidos y que utiliza servicios públicos de almacenamiento en la nube para comunicarse con sus operadores. Tras el análisis, lo llamamos CloudMensis. Sus capacidades muestran claramente 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 software 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. Y si bien no es el malware más avanzado, CloudMensis 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.
Esta publicación describimos los diferentes componentes del spyware CloudMensis y su funcionamiento interno.
CloudMensis es un malware para macOS desarrollado en Objective-C. Las muestras que analizamos 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, lo que sigue es un proceso de dos etapas (ver Figura 1), donde 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.
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 agente espía. Esos nombres se encuentran tanto en las rutas absolutas de los objetos como en las firmas ad hoc.