Los investigadores de ciberseguridad han detectado un nuevo ladrón de información de macOS llamado PamStealer que emplea una serie de trucos inteligentes para infectar sistemas y desviar datos confidenciales.
El ladrón, descubierto por Jamf Threat Labs, se distribuye como un archivo AppleScript compilado (.scpt) que se hace pasar por Maccy, un administrador de portapapeles legítimo de código abierto. Su nombre en código es PamStealer debido a su capacidad para validar la contraseña de inicio de sesión de la víctima a través de los módulos de autenticación conectables (PAM) de macOS antes de capturarla.
El malware se entrega en dos etapas: un AppleScript compilado distribuido dentro de una imagen de disco que está diseñado para descargar y organizar una carga útil de seguimiento. El artefacto secundario es un ladrón de información basado en Rust capaz de robar credenciales, recopilar datos del navegador, persistir y exfiltrar.
El vector de acceso inicial para el malware es un sitio similar (“maccyapp(.)com”) que imita a Maccy (“maccy(.)app”). El AppleScript (“Maccy.scpt”) presente dentro de la imagen del disco ejecuta un descargador de JavaScript para automatización (JXA) autónomo que recupera y organiza la carga útil del ladrón utilizando API nativas de Objective-C.
Lo que es notable aquí es que el script, una vez iniciado a través del Editor de scripts, muestra instrucciones para ejecutarlo usando el método abreviado de teclado “⌘ + R” o haciendo clic en el botón Ejecutar del Editor de scripts, lo que provoca que se ejecute la lógica maliciosa oculta en el archivo debajo de un gran bloque de líneas vacías.
“En particular, esto funciona incluso cuando el archivo todavía lleva el atributo com.apple.quarantine, que es lo que hace que el enfoque sea atractivo para los atacantes mientras Apple continúa reforzando Gatekeeper y Terminal”, dijo el investigador de seguridad Thijs Xhaflaire. “Combinado con una segunda etapa basada en Rust y un flujo de trabajo de captura de contraseñas que valida las credenciales localmente a través de PAM, el resultado es una cadena de ejecución más silenciosa de lo que normalmente observamos en los ladrones básicos de macOS”.
El cuentagotas AppleScript incorpora funciones compatibles con el entorno que permiten que la ejecución continúe solo después de tomar las huellas digitales del host y determinar que se está ejecutando en Apple Silicon. Para ello, obtiene una clave basada en la huella digital, que incluye detalles como la arquitectura de la CPU, la configuración regional, la distribución del teclado y la zona horaria, y luego la utiliza para desbloquear una configuración cifrada que contiene la URL de carga útil y la ruta de instalación.
En Mac con procesador Intel, la clave de descifrado derivada difiere y no logra decodificar la configuración, lo que resulta en la terminación del cuentagotas. El script también evita la ejecución dentro de entornos aislados o de análisis, así como sistemas cuya zona horaria, configuración regional del sistema y entrada de teclado se resuelven en países ubicados en Europa del Este, como Rusia, Bielorrusia, Kazajstán, Armenia, Azerbaiyán, Kirguistán, Moldavia, Tayikistán, Uzbekistán, Turkmenistán y Georgia.
Una vez que se pasan las comprobaciones, el script llega al servidor externo y descarga un binario Mach-O escrito en Rust que se hace pasar por la aplicación Finder y es responsable de recopilar datos de los navegadores web, extensiones de billetera de criptomonedas, llavero de iCloud y contenido del portapapeles. Luego, la información capturada se cifra y se filtra a la infraestructura controlada por el atacante (“avenger-sync(.)live”) a través de una solicitud HTTP saliente.
Además de obligar al usuario a otorgarle acceso completo al sistema de archivos, el ladrón envía una solicitud de contraseña nativa que recopila la contraseña del sistema de la víctima y luego valida la contraseña ingresada cotejándola a través de la API PAM. Si la validación falla, le pide al usuario que vuelva a ingresar la contraseña y repite el ciclo hasta que se proporcione la contraseña correcta.
“Una vez que se captura una contraseña válida, el ladrón muestra una segunda alerta falsa: ‘Maccy está dañada y no se puede abrir. Debes moverla a la Papelera’, una copia cercana del mensaje genuino de Gatekeeper”, dijo Jamf. “Esto es un señuelo. En el momento en que aparece, la carga útil ya se ha ejecutado, ha capturado la contraseña y se ha registrado para persistencia, por lo que el mensaje sólo sirve para que la víctima descarte el señuelo y asuma que la descarga se interrumpió”.
También está integrado en el binario de Rust un pequeño arm64 Mach-O que se hace pasar por la configuración del sistema macOS y se utiliza para configurar la persistencia.
El desarrollo ha llevado a Alex Rodionov, el desarrollador de Maccy, a incluir una advertencia en su sitio web y en el repositorio de GitHub, instando a los usuarios a mantenerse alejados de sitios web falsos que imitan la herramienta. “Cuidado con los sitios web falsos que se hacen pasar por Maccy. Los sitios maliciosos (como maccyapp(.)net y maccyapp(.)com) distribuyen malware disfrazado de Maccy. Maccy(.)app es el único sitio web oficial”, dijo Rodionov.
“En conjunto, estos comportamientos ilustran cómo los ladrones de productos básicos de macOS continúan evolucionando, adoptando cadenas de ejecución más silenciosas e implementaciones nativas que reducen las oportunidades de detección tradicionales sin dejar de ser compatibles con las características estándar de macOS”, dijo Jamf.