AMOS Stealer explota la confianza en la IA: malware entregado a través de ChatGPT y Grok

Resumen

El 5 de diciembre de 2025, Huntress clasificó una alerta de Atomic macOS Stealer (AMOS) que inicialmente parecía rutinaria: exfiltración de datos, persistencia estándar de AMOS y ningún indicador inusual de cadena de infección en la telemetría. Esperábamos encontrar los vectores de entrega habituales: un enlace de phishing, un instalador troyanizado, tal vez un señuelo de ClickFix. Nada de eso estaba presente: ningún correo de phishing, ningún instalador malicioso y ningún señuelo tipo ClickFix conocido.

Esas expectativas no eran arbitrarias. Durante el último año, la actividad de los stealers de macOS ha dependido cada vez más de flujos de trabajo confiables y de la ingeniería social, en lugar de las descargas tradicionales de malware. Un ejemplo destacado es el auge de los ataques "ClickFix", que explotan la confianza de los usuarios en avisos aparentemente inofensivos de "demuestra que eres humano" (como una prueba CAPTCHA). Las víctimas, sin saberlo, ejecutan comandos arbitrarios que creen que forman parte de una cadena de autenticación de usuario legítima. Si bien este incidente no es un caso de ClickFix, el patrón histórico ayuda a explicar por qué inicialmente esperábamos encontrar un señuelo de comando ejecutado por el usuario en lugar de un vector de entrega basado en archivos.

En cambio, lo que encontramos fue una simple búsqueda en Google, seguida de una conversación con ChatGPT:

La víctima había buscado "Clear disk space on macOS". Google mostró dos resultados muy bien posicionados en la parte superior de la página, uno que dirigía al usuario final a una conversación de ChatGPT y otro a una conversación de Grok. Ambos estaban alojados en sus respectivas plataformas legítimas. Ambas conversaciones ofrecían una guía de solución de problemas cortés y paso a paso. Ambas incluían instrucciones, y comandos de Terminal de macOS presentados como instrucciones de "limpieza segura del sistema".

El usuario hizo clic en el enlace de ChatGPT, leyó la conversación y ejecutó el comando proporcionado. Creía estar siguiendo el consejo de un asistente de IA confiable, entregado a través de una plataforma legítima, mostrado por un motor de búsqueda que usa todos los días. En cambio, acababa de ejecutar un comando que descargó una variante del stealer AMOS que recolectó silenciosamente su contraseña, escaló privilegios a root e instaló malware persistente.

Ninguna descarga maliciosa. Ninguna advertencia de seguridad. Ninguna manera de evadir las protecciones integradas de macOS. Solo una búsqueda, un clic y un copiar y pegar, hasta convertirse en una fuga de datos persistente en toda regla.

Esta campaña representa una evolución fundamental en la ingeniería social: los atacantes ya no solo imitan plataformas confiables; las están usando activamente, contaminando los resultados de búsqueda para asegurarse de que su "ayuda" maliciosa aparezca como la primera respuesta que encuentran las víctimas. El malware ya no necesita disfrazarse de software "limpio" cuando puede disfrazarse de ayuda.

Acceso inicial: IA/SEO poisoning

Una búsqueda para robarlos a todos:

Figura 1: Resultados de búsqueda que muestran conversaciones de IA que recomiendan al usuario descargar el infostealer

La infección comenzó con una consulta de búsqueda que cualquier persona con una Mac podría escribir: "Liberar espacio en disco en macOS". No se trata de una consulta técnica específica ni de una frase de alerta; es exactamente lo que buscaría un usuario normal cuando su almacenamiento está lleno y busca ayuda.

Durante nuestra investigación, el equipo de Huntress reprodujo estos resultados envenenados en varias variaciones de la misma pregunta: "cómo liberar datos en iMac", "limpiar datos del sistema en iMac", "liberar almacenamiento en Mac", lo que confirma que no se trata de un resultado aislado, sino de una campaña de envenenamiento deliberada y generalizada dirigida a consultas comunes de solución de problemas.

Así se veía la respuesta de Google:

Figura 2: Principales resultados de búsqueda y enlaces mejor posicionados en Google Search


Dos resultados muy bien posicionados aparecieron cerca de la parte superior de la página:

  • Una conversación de ChatGPT: "How to delete system data on Mac - How to clear storage on Mac?"
  • Una conversación de Grok: "How to clear storage on Mac? - Guide Clear Space - Clear space safely."

Ambos eran resultados muy bien posicionados. Ambos aparecían por encima de los resultados orgánicos. Ambos apuntaban a lo que parecían guías de solución de problemas generadas por IA, alojadas en grok.com y chatgpt.com, dominios en los que los usuarios han sido condicionados a confiar.

Dentro de la conversación envenenada

El usuario hizo clic en el enlace de ChatGPT y fue dirigido a una conversación compartida que se parecía a una interacción típica con ChatGPT. La interfaz era auténtica porque, de hecho, era una conversación real de ChatGPT, alojada en la plataforma de OpenAI, creada por un atacante y luego convertida en arma mediante manipulación de SEO.

Figura 3: Conversación de ChatGPT que guía al usuario a descargar el infostealer AMOS para macOS

La conversación seguía un patrón familiar de la mayoría de las conversaciones con IA, y todo en esta presentación transmite legitimidad:

  • Formato profesional: Pasos numerados, indicadores con emojis, bloques de código con resaltado de sintaxis.
  • Lenguaje tranquilizador: "elimina de forma segura", "no toca tus datos personales", "no modifica la configuración del sistema".
  • Contenido técnico creíble: El uso de Terminal para el mantenimiento del sistema no es inherentemente sospechoso.

Confiando en la familiaridad del formato y del dominio, la víctima leyó las instrucciones, no vio nada alarmante y ejecutó el comando tal como estaba escrito. Lamentablemente, eso fue todo lo que se necesitó para infectar su Mac con malware que roba datos las 24/7 y que persiste hasta que se elimina.

El engaño detrás de la entrega

Este ataque funciona porque explota múltiples capas de confianza al mismo tiempo:

  • Confianza en el buscador: Los usuarios confían en que los buscadores muestren resultados útiles y verificados, y los resultados principales llevan una aprobación implícita.
  • Confianza en la plataforma: Los enlaces apuntan a chatgpt.com y grok.com, ambos dominios legítimos que los usuarios han aprendido a confiar para orientación técnica.
  • Confianza en el formato: La conversación se ve exactamente como miles de otras interacciones de ChatGPT que la gente ve a diario. Nada sospechoso.
  • Confianza en el contenido: Las instrucciones parecen razonables. Los usuarios saben que existen comandos de Terminal para el mantenimiento del sistema.
  • Confianza en el comportamiento: Los usuarios copian y pegan comandos de Terminal habitualmente desde fuentes confiables, como Stack Overflow, los foros de soporte de Apple, hilos de Reddit y conversaciones generadas por IA.

Pero este ataque no rompe ninguna de estas capas de confianza; las convierte a todas en armas.

Replicación en distintas plataformas

Durante la investigación para este artículo, Huntress identificó múltiples variaciones de las mismas conversaciones y confirmó que este envenenamiento no se limita a ChatGPT. Encontramos instrucciones maliciosas idénticas alojadas en Grok, y varias versiones de la URL codificada en base64 que se comparten a través de las instrucciones en ambos sitios:

Figura 4: Chat generado por Grok para descargar el AMOS stealer

La conversación de Grok reflejaba la versión de ChatGPT, con el mismo formato y lenguaje tranquilizador; la única diferencia significativa era una URL de payload codificada en base64 ligeramente distinta. Esto confirmó a nuestro equipo que los atacantes están armando sistemáticamente múltiples plataformas de IA con SEO poisoning, y que no se limita a una sola plataforma de IA, página o búsqueda, lo que asegura que las víctimas encuentren instrucciones envenenadas sin importar en qué herramienta confíen. En cambio, múltiples conversaciones con estilo de IA aparecen de forma orgánica a través de términos de búsqueda comunes, cada una dirigiendo a las víctimas hacia el mismo stealer de macOS de varias etapas.

Por qué funciona tan bien

La entrega tradicional de malware requiere que los usuarios ignoren señales de advertencia:

  • Permitir archivos desconocidos → anular Gatekeeper para eludir la seguridad nativa del sistema operativo
  • Instalar software sospechoso → hacer clic en advertencias de seguridad
  • Otorgar permisos elevados → aprobar extensiones del sistema

Este ataque solo requiere:

  • Buscar
  • Hacer clic
  • Copiar y pegar

Sin advertencias. Sin descargas. Sin señales de alerta. Toda la cadena de infección parece un comportamiento normal y seguro, porque lo es en cualquier otro contexto. Los usuarios no están siendo descuidados. No están ignorando avisos de seguridad. Están siguiendo instrucciones de una plataforma de IA confiable, entregadas a través de un buscador que usan a diario, para una tarea que legítimamente requiere acceso a Terminal.

Esto es ingeniería social en su máxima expresión: el ataque es indistinguible de la ayuda que suplanta.

Qué sucede después de copiar y pegar

Una vez que la víctima ejecutó el comando, comenzó una cadena de infección de varias etapas. La cadena codificada en base64 dentro del comando de Terminal se decodificaba a una URL que alojaba un script bash malicioso, la primera etapa de un despliegue de AMOS diseñado para recolectar credenciales, realizar escalada de privilegios y establecer persistencia sin disparar nunca una advertencia de seguridad.

Después de que se ejecutan los comandos, así es como se desarrolla la infección.

Análisis técnico

En artículos anteriores, Trend Micro ha cubierto el stealer mismo con bastante detalle; sin embargo, daremos un panorama general de la variante de AMOS usada en este caso.

Etapa 1: Recolección de credenciales y escalada de privilegios silenciosa

El comando entregado a la víctima en este caso fue el siguiente, con el blob codificado en base64 que se decodifica a hxxps[://]putuartana[.]com/cleangpt (al momento de la publicación de este artículo, se usaron dos URLs de C2 adicionales para la entrega).

El cargador remoto, llamado update, se descarga y ejecuta un script bash que solicita las credenciales del usuario simplemente pidiendo la "System Password". Una vez ingresada, el AMOS stealer busca verificar la contraseña proporcionada por la víctima.

Figura 5: El script bash usado para escalar a root

El cuadro de contraseña no es un diálogo real del sistema, no muestra la identidad visual de autenticación de macOS y, hasta la fecha, no ha utilizado AppleScript.

Detrás de escena, el cargador valida silenciosamente la contraseña proporcionada usando: dscl-authonly <username> <password>

El comando dscl forma parte de un script que descargará con curl una nueva copia del binario update al directorio /tmp, eliminará el atributo extendido de cuarentena (una adición curiosa del atacante aquí, ya que un comando curl no aplica el atributo extendido de cuarentena) y actualizará los permisos para permitir la ejecución. Esto no es exclusivo de esta instancia de AMOS.

Este comando realiza una validación silenciosa de credenciales con Directory Services sin solicitar una contraseña gráfica. Confirma si la contraseña proporcionada es correcta, pero lo hace completamente en segundo plano, sin interfaz del sistema, sin opción de respaldo con Touch ID, sin ningún desafío de autenticación visible. Una vez que se proporciona una contraseña válida, el script la escribe en texto plano en un archivo oculto dentro del directorio /tmp, llamado /tmp/.pass. Una vez que avanza a la siguiente etapa, moverá el archivo al directorio de inicio del usuario.

Las credenciales confirmadas se convierten de inmediato en un arma. El cargador envía la contraseña almacenada a sudo -S, que acepta contraseñas por stdin en lugar de requerir ingreso interactivo: cat /tmp/.pass | sudo -S <privileged_command>

Esto le permite al atacante ejecutar comandos posteriores con privilegios root sin necesitar más interacción del usuario. Desde la perspectiva de la víctima, ingresó su contraseña una vez para lo que parecía una tarea de mantenimiento del sistema, pero detrás de escena, esa credencial habilitó el control administrativo completo del endpoint.

Una vez que descarga el binario update en /tmp, elimina el atributo extendido de cuarentena del binario (que Apple aplica al contenido recién descargado) y establece los permisos para que el binario pueda ejecutarse.

Antes de ejecutar la siguiente etapa, verificará que no se esté ejecutando en una máquina virtual y, en su lugar, ejecutará lógica anti-VM.

Figura 6: Lógica anti-VM para asegurar que el malware no se esté ejecutando dentro de una máquina virtual

Etapa 2: Cargador y despliegue del payload

Con el acceso autorizado a credenciales asegurado, el cargador de AppleScript procede a descargar e instalar el payload principal del infostealer. El payload, un ejecutable Mach-O firmado ad hoc, se copia a una ubicación oculta en el directorio home del usuario: /Users/$USER/.helper

El nombre de archivo .helper es deliberadamente genérico e inofensivo. El punto inicial hace que esté oculto por defecto en Finder y en los listados de directorios estándar, reduciendo la probabilidad de que el usuario lo detecte.

Luego, el cargador buscará dos aplicaciones en el directorio /Applications: Ledger Wallet y Trezor Suite. Si existen, las sobrescribirá con una copia troyanizada firmada ad hoc. Estas aplicaciones le piden al usuario que, por razones de seguridad, vuelva a ingresar la frase semilla. Además, se incluye un recurso del paquete de la aplicación que envía estos datos al servidor web controlado por el atacante.


Figura 7: El AppleScript verifica si existen Ledger Wallet y Trezor Suite y los reemplaza por una versión troyanizada

El infostealer está compilado como un binario nativo de macOS, no como un script multiplataforma ni un payload interpretado. Este enfoque evita dependencias de Python, Node.js u otros entornos de ejecución que las herramientas de seguridad podrían marcar como riesgosos. También se integra limpiamente con las API de macOS para el acceso al llavero y la interacción con la GUI.

Después de recolectar todos los datos, el atacante los almacena temporalmente en /tmp/out.zip antes de exfiltrarlos a su servidor C2.

Etapa 3: Persistencia mediante bucles de watchdog en el contexto de la GUI

Usando un mecanismo estándar de LaunchDaemon de macOS para la persistencia, el atacante coloca un LaunchDaemon que llamará a un script bash cada vez que la máquina se reinicie. El plist, ubicado en /Library/LaunchDaemons/com.finder.helper.plist, es bastante básico.

Figura 8: LaunchDaemon persistente llamado `com.finder.helper.plis

La responsabilidad del LaunchDaemon es ejecutar este script oculto .agent , un bucle watchdog basado en AppleScript que se ejecuta en segundo plano. Este archivo .agent se colocó inicialmente como parte del dropper de primera etapa, un AppleScript llamado 'update'.

Figura 9: Script para persistir el binario .helper

Este bucle funciona así:

  • Cada segundo, el script verifica qué usuario tiene la sesión gráfica activa al consultar /dev/console.
  • Si hay una sesión de usuario activa (y no es el usuario root), el script vuelve a lanzar .helper dentro del contexto de ese usuario mediante sudo -u.
  • Si .helper se cierra o falla, se reinicia automáticamente en menos de un segundo.
  • El bucle se ejecuta continuamente y garantiza la ejecución persistente tras reinicios, cierres de sesión e intentos manuales de terminación.

Esta estrategia de persistencia es operativamente relevante porque garantiza la ejecución continua dentro de la sesión gráfica del usuario, en lugar de a nivel del sistema. Ejecutarse en este contexto permite acceder a almacenes de credenciales específicos de la sesión, bases de datos del navegador y datos de aplicaciones autenticadas que no están disponibles para los daemons en segundo plano sin una reautenticación visible. Al minimizar la dependencia de la persistencia tradicional basada en plist y mantener el relanzamiento en el contexto del usuario, el malware puede permanecer activo y seguir recolectando información confidencial mucho después de su instalación inicial, incluso si las auditorías estándar de plist o LaunchAgent no revelan anomalías.

Capacidades de robo de información

El payload principal de AMOS mantiene su enfoque en la exfiltración de datos de alto valor, apuntando a:

  • Billeteras de criptomoneda: Electrum, Exodus, MetaMask, Ledger Live, Coinbase Wallet y otras aplicaciones de billetera populares
  • Bases de datos de credenciales del navegador: Contraseñas guardadas, cookies, datos de autocompletado y tokens de sesión de todos los navegadores principales
  • Acceso al Keychain: Consulta el Keychain de macOS para obtener contraseñas de aplicaciones, credenciales de Wi-Fi y certificados
  • Enumeración del sistema de archivos: Busca archivos de billeteras, archivos de configuración y otros documentos confidenciales
  • Exfiltración: Empaqueta todos los datos recolectados y los transmite a servidores controlados por el atacante

Evolución del actor de amenazas

Esta campaña destaca varios cambios significativos en las técnicas de robo de información en macOS. Dos características clave de entrega diferencian esta campaña del despliegue tradicional de robo de información en macOS.

  • Explotación de la confianza en la IA
    • Los atacantes imitan el tono, el formato y el estilo instructivo del contenido legítimo de solución de problemas de IA.
    • Los usuarios ejecutan con confianza comandos de Terminal recomendados por ChatGPT o Grok sin validar su seguridad.
    • El envenenamiento de SEO asegura que el "consejo" malicioso con formato de IA aparezca como la primera respuesta confiable durante una búsqueda de rutina.

AMOS ha aprovechado anteriormente el posicionamiento potenciado por SEO, como se documenta en la investigación de Jamf sobre infostealers de macOS; sin embargo, esta es la primera vez que observamos a la familia usar contenido de solución de problemas con formato de IA como señuelo inicial para la ejecución.

  • Copiar y pegar en Terminal
    • Gatekeeper de macOS no inspecciona scripts de shell ni comandos de una sola línea, lo que les permite ejecutarse sin avisos ni advertencias.
    • Elimina la necesidad de instaladores, aplicaciones crackeadas o anulaciones de Gatekeeper (por ejemplo, hacer clic derecho y abrir, o arrastrar a Terminal).
    • En lugar de descargar una aplicación o un DMG, las víctimas se comprometen a sí mismas al copiar un comando directamente del navegador a Terminal.

Recomendaciones de detección y mitigación:

La detección tradicional basada en firmas tendrá dificultades con esta campaña porque el vector de infección inicial, un comando de Terminal ejecutado por el usuario, parece idéntico a tareas administrativas legítimas. Enfoca los esfuerzos de detección en anomalías de comportamiento:

Para los equipos de defensa:

  • Supervisa si osascript solicita credenciales del usuario
  • Supervisa el uso inusual de dscl -authonly , especialmente en scripts bash iniciados por el usuario
  • Supervisa el uso de system_profiler relacionado con detecciones de emuladores (antianálisis)
  • Audita los procesos que se lanzan mediante sudo -u con contraseñas que se envían por pipe a stdin
  • Vigila la presencia de ejecutables ocultos en los directorios de inicio de los usuarios
    • Si el nombre de un archivo comienza con un punto (.), quedará oculto tanto en la vista predeterminada del Finder como en un comando básico ls en Terminal. Es una forma común en que el malware intenta ocultarse de la vista del usuario final.

Para los usuarios finales:

  • Nunca ejecutes comandos de Terminal provenientes de fuentes desconocidas, incluso si parecen venir de fuentes confiables
  • Desconfía de cualquier utilidad que no entiendas completamente y que solicite tu contraseña
  • Usa contraseñas fuertes y aleatorias y administradores de contraseñas para mantener tus cuentas seguras en caso de que se ejecute malware

Conclusión

La ruta de distribución basada en envenenamiento de IA que usa esta campaña de AMOS representa un cambio significativo en las tácticas de ingeniería social. Los atacantes ya no intentan vencer el escepticismo del usuario; ahora aprovechan directamente su confianza.

La distribución tradicional de malware lucha contra el instinto. Los correos de phishing se sienten sospechosos. Los instaladores crackeados generan advertencias. Pero, ¿copiar un comando de Terminal desde nuestro confiable amigo ChatGPT? Eso se siente productivo. Se siente seguro. Se siente como una solución simple a un problema molesto.

Esta estrategia representa un avance, ya que los atacantes han descubierto un canal de distribución que no solo evade los controles de seguridad, sino que también sortea por completo el modelo de amenaza humano. La sofisticación técnica agrava el problema: robo silencioso de credenciales, persistencia en el contexto de la GUI, wallets troyanizadas y ejecución nativa. Pero la verdadera historia no es lo que ocurre después de la infección. Es lo fácil que resulta que la infección comience.

A medida que los asistentes de IA se integran en los flujos de trabajo diarios y en los sistemas operativos, esperamos que este método de distribución se multiplique. Es demasiado efectivo, demasiado escalable y demasiado difícil de defender con controles tradicionales. Las estrategias de defensa deben evolucionar más allá del monitoreo estático de artefactos para incluir detección basada en comportamiento de patrones de autenticación anómalos, cadenas de ejecución de procesos inusuales y desviaciones del comportamiento base del shell.

Sin embargo, la tecnología por sí sola no resolverá este problema. Los usuarios deben entender que la confianza en una plataforma no se transfiere automáticamente al contenido generado por los usuarios. Los exploits más peligrosos no apuntan al código; apuntan al comportamiento y a las personas. En 2025 y en adelante, eso significa explotar nuestra relación con la IA y nuestra disposición a confiar en instrucciones solo porque tienen el formato de una ayuda.

El malware ya no necesita parecerse a software legítimo. Solo necesita parecer útil.


IOC

Archivos

NombreSHA256Notas
com.finder.helper.plist276db4f1dd88e514f18649c5472559aed0b2599aa1f1d3f26bd9bc51d1c62166LaunchDaemon persistente que ejecuta .agent
.passN/AArchivo oculto que contiene la contraseña del usuario
.usernameN/AArchivo oculto que contiene el nombre de usuario
.id

.helperab60bb9c33ccf3f2f9553447babb902cdd9a85abce743c97ad02cbc1506bf9ebEjecutable MachO
Ledger Wallet.app
Paquete de aplicación troyanizado firmado ad-hoc que sobrescribe cualquier instalación legítima existente
.agente1ca6181898b497728a14a5271ce0d5d05629ea4e80bb745c91f1ae648eb5e11AppleScript que vuelve a ejecutar .helper
update340c48d5a0c32c9295ca5e60e4af9671c2139a2b488994763abe6449ddfc32aaPayload de primera etapa
update68017DF4A49E315E49B6E0D134B9C30BAE8ECE82CF9DE045D5F56550D5F59FE1Payload de primera etapa

Infraestructura

IP

Notas

45.94.47[.]205

Gate

45.94.47[.]186

C2

hxxps[://]wbehub[.]org

botUrl

hxxps[://]sanchang[.]org

Exfiltración de datos de la app de semilla de Ledger Wallet

También te podría interesar