AmnesiaStealer secuestra sesiones de Chromium para dar a los atacantes control total del navegador en macOS

Un nuevo ladrón para macOS explota el control remoto del navegador

Investigadores de ciberseguridad han publicado detalles sobre AmnesiaStealer, un ladrón de información dirigido a macOS, escrito en Rust, que secuestra navegadores basados en Chromium para robar datos de sesión. Este malware se distribuye mediante una página falsa de descarga en GitHub con el título “Download for macOS” que aparenta ser de un editor verificado. La página usa la técnica ClickFix, instando a los usuarios a copiar y pegar un comando codificado en Base64 en la Terminal.

La cadena de ataque culmina con la ejecución de AmnesiaStealer mediante un script de descarga alojado en un servidor remoto. Según Jamf Threat Labs, el proceso consta de tres fases: primero, un script de shell descarga y lanza el payload; segundo, un componente en Rust extrae información de Keychain, navegadores, Apple Notes y Telegram; tercero, un módulo de flujo permite al operador controlar interactivamente el navegador de la víctima.

La primera es un script de shell que descarga y lanza el payload; la segunda es un ladrón de Rust que extrae datos de Keychain, navegadores, Apple Notes y Telegram; la tercera es un módulo de flujo que, bajo demanda, otorga al operador control interactivo oculto del navegador de la víctima.

El script está diseñado para recuperar un archivo ZIP protegido con contraseña y luego eliminarse del sistema. Del archivo se extrae el binario Mach-O de primera etapa, un ladrón de Rust que incluye configuración cifrada integrada, modificable en tiempo de compilación mediante un archivo de configuración sin alterar el código. Esta configuración define los puntos finales de comando y control (C2), como “debug.allllowef[.]space/send/”, y activa o desactiva un módulo clipper capaz de redirigir criptomonedas como Bitcoin, Bitcoin Cash, Ethereum, TRON, Litecoin, Monero, Solana, Ripple y Cosmos (ATOM).

El payload realiza reconocimiento del sistema y geolocalización, y muestra un diálogo nativo para capturar la contraseña del sistema, haciéndose pasar por un instalador. La contraseña ingresada se valida mediante “dscl” para garantizar que solo la correcta sea exfiltrada. Si falla la verificación, se activa un bucle de diálogo con el mensaje “Contraseña incorrecta. Inténtelo de nuevo.” hasta que el usuario introduzca la correcta. Además, se incluye una alternativa que escribe un script en /tmp/tempAppleScript.scpt y lo ejecuta con osascript si el diálogo nativo falla, aunque en la prueba realizada, la ruta nativa funcionó y no se mostró ese aviso.

La contraseña capturada se reutiliza en toda la cadena: se introduce mediante “sudo -S” para lecturas privilegiadas, se usa para desbloquear el llavero con “security unlock-keychain -p” y se guarda en texto claro tanto en el directorio de staging como en el directorio personal del usuario como ~/.pwd. Este comportamiento es similar a otra familia de ladrones para macOS llamada ClickLock Stealer, que ataca a usuarios en Europa, Norteamérica, Medio Oriente y África mediante páginas de phishing con la técnica ClickFix.

Además, el malware incluye un AppleScript que silencia el sistema y procede a extraer datos de Apple Notes, sesiones de Telegram, Safari, archivos con extensiones específicas (txt, pdf, rtf, doc, wallet, key, jpg, png, csv) ubicados en las carpetas Escritorio, Documentos y Descargas, y del llavero de iCloud utilizando la contraseña capturada.

  • Apuntar a 16 navegadores de la familia Chromium, incluidos Google Chrome, Brave, Arc y Microsoft Edge, para recopilar cookies, datos de inicio de sesión, datos de cuentas, Web Data, historial, marcadores, Local State, preferencias y el directorio de extensiones.
  • Leer la contraseña del almacenamiento seguro de Chrome desde el llavero y usarla para recuperar las claves maestras que protegen los datos del perfil del usuario.
  • Robar cookies de Safari dependiendo de la versión de macOS, aprovechando la vulnerabilidad CVE-2020-9771 para sistemas Catalina; esta técnica también funciona en macOS 26 pero solo si el malware tiene acceso completo al disco, que no posee.
  • Establecer persistencia mediante un LaunchDaemon de root que suplanta al servicio de informes de fallos de Apple.
  • Almacenar los datos recopilados en un directorio con nombre aleatorio de 25 caracteres alfanuméricos bajo /tmp y luego exfiltralos tras archivarlos.

El comando “remote_stream” emitido por el servidor C2 hace que el payload de primera etapa descargue y ejecute un segundo binario de Rust de la misma infraestructura, que permite el control remoto interactivo a través del protocolo Chrome DevTools (CDP). Este módulo es compatible con siete navegadores Chromium: Chrome, Brave, Microsoft Edge, Arc, Opera, Vivaldi y Chromium, y lanza el navegador en modo headless para robar datos. También establece un canal de retransmisión mediante WebSocket para recibir órdenes del operador y reportar el estado al mismo punto final.

Los comandos permiten al actor de amenazas controlar el navegador de forma remota, incluyendo teclado, ratón, desplazamiento, navegación y gestión de pestañas. Para evitar ser detectado como automatización, el módulo inyecta un script que parchea varias API de huella digital del navegador. Este módulo no tiene persistencia propia y se ejecuta bajo el payload principal.

El operador recibe una transmisión de pantalla en vivo de la sesión a aproximadamente 3 fps y puede controlarla con un conjunto completo de entradas: teclado, ratón, desplazamiento, navegación y gestión de pestañas. Estas se traducen en llamadas CDP al navegador headless en tiempo real. Esto es una sesión de navegador oculta controlada manualmente, no un volcado automatizado.

En esencia, el comando remote_stream convierte un host infectado en un navegador en vivo controlado por el operador, capaz de acceder a las sesiones autenticadas de la víctima, lo que representa un nivel de acceso mucho mayor que la simple recopilación de archivos.

Aunque los objetivos generales del malware son consistentes con otros ladrones como Atomic Stealer, MacSync y CrashStealer, tres aspectos lo distinguen: una configuración impulsada por el constructor, una lógica ramificada por versión del sistema operativo que explota omisiones ya parcheadas por Apple, y una segunda etapa de control remoto que permite robar cookies y evadir detección mediante un script sigiloso que parchea las API de huella digital del navegador.

El nombre AmnesiaStealer proviene de una página de inicio de sesión en la raíz del host C2 llamada “Amnesia Panel”. Un inicio de sesión fallido devuelve un mensaje en ruso que pide proporcionar credenciales correctas para acceder al panel del operador.

AmnesiaStealer se propone recopilar credenciales, datos del navegador y sesiones en vivo de usuarios de macOS, y cumple con algunas de sus promesas más que otras. Un recopilador funcional combinado con una etapa funcional de secuestro del navegador, envuelto en algunas omisiones obsoletas, es lo que hace que valga la pena rastrearlo.

Cybersecurity
Cybersecurity
Cybersecurity
Cybersecurity

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *