Volver a todas las publicaciones
Publicado el · por Renaud Deraison

El malware estaba alojado en chatgpt.com, y ese era justamente el punto

Una nueva campaña alquila la confianza de un dominio en el que ya crees. Un anuncio de Google te envía a un enlace real para compartir de chatgpt.com, el enlace compartido muestra un aviso falso de caída del servicio, y el aviso te entrega malware. Así se toma prestada la confianza — y por qué dejar prestada la confianza deja de importar cuando todo ocurre dentro de una VM que tiras a la basura.

La barra de direcciones decía chatgpt.com. El icono del candado estaba en verde. La página la servía OpenAI. Cada señal que a una persona cuidadosa se le enseña a comprobar volvía limpia — y aun así la página seguía intentando instalar malware en la computadora. El dominio de confianza no fue un desliz. Era el plan.

Estás buscando ChatGPT. Lo escribes en Google, como hacen unos cuantos cientos de millones de personas cada día. El primer resultado es un anuncio. El anuncio dice ChatGPT, enlaza a ChatGPT, y te lleva a una página cuya dirección empieza genuinamente por chatgpt.com. Hasta aquí nada está mal. Nada parece mal porque nada visiblemente está mal: estás en el dominio real de OpenAI.

Entonces la página te dice que el sitio web está caído. «Estamos experimentando mucho tráfico en este momento», dice. «Nuestro sitio web no está disponible temporalmente debido a un gran número de usuarios.» Te sugiere que descargues la aplicación de escritorio en su lugar. Hay un botón. Estás en chatgpt.com, el servicio claramente está teniendo un mal momento, y una aplicación de escritorio es algo razonable de querer. Haces clic.

Ese es todo el truco, y los investigadores de seguridad de Push Security lo documentaron a finales de mayo, en una campaña que llaman LLMShare. Vale la pena entenderlo en detalle, porque es un ejemplo limpio de un patrón de ataque que va a seguir apareciendo: no irrumpir en un servicio de confianza, sino alquilar su reputación.

La página realmente estaba en chatgpt.com.

ChatGPT, como la mayoría de los grandes productos de IA, te permite compartir una conversación. Haces clic en compartir, obtienes un enlace bajo chatgpt.com/s/, y cualquiera que tenga el enlace ve una copia renderizada del intercambio. Útil, corriente, está en todas partes.

La trampa está en lo que significa «renderizado». Estas páginas compartidas pueden incluir la salida del modelo, y esa salida puede contener HTML y CSS — los mismos ingredientes con los que está hecha cualquier página web. Así que, en lugar de compartir una conversación, el atacante comparte una «conversación» cuyo contenido es una falsificación hecha a mano: un aviso de caída de OpenAI fiel hasta el píxel, con las fuentes correctas, el azul correcto, el tono correcto. Según la investigación, lo que lo delata es sutil — la vista compartida sigue llevando los propios controles «Show code» y «Remix» de ChatGPT, la pista de que la «página de caída» no es más que marcado personalizado que alguien redactó.

El sentido de hacerlo así es la URL. El señuelo del malware no vive en chatgpt-downloads-official.biz. Vive en chatgpt.com, un dominio con una reputación impecable, un certificado válido y un lugar en la memoria muscular de todo el que haya usado el producto alguna vez. Cada defensa que funciona preguntando «¿es este un dominio en el que confiamos?» responde que sí, porque la respuesta honesta es que sí.

1 · EL ANUNCIOAnuncio de Googlebuscar «ChatGPT»2 · DOMINIO REALchatgpt.com/s/un «chat» compartido3 · CAÍDA FALSA«Estamos caídos»HTML/CSS a medida4 · REDIRECCIÓNopenew[.]appengaña a los escáneres5 · DESCARGAmacOS + Wininstalador de malwareCuando visita un escáner…se le muestra el inofensivositio de una empresa de RA/RV.Cada salto es más de fiar que peligroso el siguiente
La cadena toma prestada confianza en cada salto. Un anuncio pagado de Google le presta legitimidad al clic; el enlace compartido de chatgpt.com le presta legitimidad a la página; y una redirección con cloaking le presta un certificado de buena salud a los escáneres automatizados. Solo el binario final es abiertamente malicioso — y para entonces al usuario ya lo han hecho pasar por delante de cada punto de control.

El servidor de descargas le miente al escáner.

Haz clic en el botón de descarga de la página de caída falsa y te envían fuera de chatgpt.com a openew[.]app, un sitio disfrazado de portal de descargas oficial de OpenAI. Aquí es donde vive la segunda pieza de cloaking.

Cloaking significa mostrar contenido diferente a visitantes diferentes. El servidor del atacante mira quién está preguntando. Si la petición huele a un escáner de seguridad automatizado — y buena parte de la seguridad de internet depende de servicios como URLScan que rastrean URLs y las renderizan en un sandbox — el servidor sirve algo inocente. En este caso, según la investigación, a los escáneres que visitaban la URL se les mostraba el inofensivo sitio web de una empresa de realidad aumentada / realidad virtual. Limpio. Nada que señalar. Si en cambio la petición huele a un humano real que siguió el señuelo, el servidor sirve el malware.

Así que el veredicto automatizado sobre openew[.]app es «benigno», y el veredicto humano — el que importa — nunca recibe una segunda opinión. La descarga se ofrece tanto para macOS como para Windows, porque el atacante no sabe ni le importa en cuál estás; quiere ambas audiencias. (La muestra de Windows incluso comprueba si se está ejecutando dentro de una máquina virtual antes de continuar, una jugada habitual para esquivar los sandboxes de análisis — retén ese pensamiento.)

Nada de esto es exótico. Es la misma familia de oficio que las cadenas de malvertising y de envenenamiento de SEO sobre las que hemos escrito antes. Lo que hace que LLMShare merezca un post es la calidad de la confianza que toma prestada. Los mismos investigadores dicen que el patrón no es exclusivo de ChatGPT: han visto las funciones de compartir/renderizar de otros productos de IA — los Artifacts de Claude, las conversaciones compartidas de Grok — puestas al mismo servicio. Cualquier producto que permita a un desconocido publicar HTML renderizado bajo el dominio de tu marca se ha convertido, sin proponérselo, en un proveedor de alojamiento para quienquiera que desee abusar de esa marca.

Por qué cada punto de control lo deja pasar.

Recorre la cadena hacia atrás y fíjate en que cada instinto defensivo de un usuario cuidadoso queda satisfecho por diseño:

¿Es este el sitio real?

Sí. La barra de direcciones dice chatgpt.com, el certificado es válido, la página la sirve OpenAI. «Comprueba la URL» — el consejo que todos damos — devuelve una respuesta limpia, porque la URL está limpia.

¿Algún escáner señaló el host de descarga?

No. El dominio de redirección hace cloaking: muestra a los rastreadores de seguridad un sitio benigno de RA/RV y guarda el malware para las víctimas humanas. Los feeds de reputación y las insignias de «este enlace fue comprobado» no reportan nada malo.

¿La página parece de phishing?

No. Fue redactada como HTML/CSS fiel para imitar un aviso de caída de OpenAI. No hay erratas torpes, ni logo fuera de marca, ni la pista de una traducción tosca. Parece exactamente lo que pretende ser.

¿Es raro descargar una aplicación de escritorio?

No. Montones de servicios reales te empujan a instalar una aplicación nativa, y un sitio web colapsando bajo la carga es una razón familiar y plausible para ofrecer una. La historia se sostiene.

Esta es la parte incómoda. El consejo estándar — inspecciona la URL, confía en los enlaces escaneados, vigila el phishing chapucero, desconfía de los dominios raros — es un consejo bueno, y esta campaña navega directamente a través de todo él. Cuando la señal de dominio-de-confianza es el ataque, la señal deja de ayudar. No puedes decirle a una persona cuidadosa que sea más cuidadosa con una página que supera cada comprobación que conoce.

Así que la pregunta interesante no es «cómo podría el usuario haberlo detectado». Para la mayoría de los usuarios, la mayoría de los días, no podrían. La pregunta interesante es: ¿qué pasa en el momento en que el binario realmente se ejecuta?

Todo ocurre en una sola pestaña.

Mira la cadena de nuevo y fíjate en dónde vive. El anuncio se abre en el navegador. La página de chatgpt.com se renderiza en el navegador. El aviso de caída falso es una página web en el navegador. La redirección ocurre en el navegador. La descarga la inicia el navegador. El único paso que abandona el navegador es el último — cuando el instalador descargado se ejecuta y empieza a hacer lo que fuera que lo construyeron para hacer, en la computadora, con los archivos y los permisos del usuario.

Ese último salto es el juego entero. Todo lo anterior es preparación. El atacante invirtió esfuerzo real en el presupuesto del anuncio, en la página convincente, en la infraestructura de cloaking — todo ello al servicio de conseguir que un binario se ejecute en una máquina. Si el binario se ejecuta en algún lugar que no contiene nada tuyo, el atacante gastó todo eso para comprometer una habitación vacía.

Esta es la geometría que Bromure cambia. En Bromure, el navegador no se ejecuta en tu computadora en el sentido ordinario. Cada pestaña se ejecuta dentro de una máquina virtual Linux desechable — un invitado sellado con su propio sistema de archivos, arrancado desde una imagen limpia, que no tiene visión de tus archivos, de tu llavero, de tus otras pestañas ni de tu red local. La página web, el renderizador, el JavaScript, la descarga y la primera ejecución del programa descargado ocurren todos dentro de ese invitado. Cuando cierras la ventana, el invitado y todo lo que hay en él se destruye.

Navegador tradicionalTU COMPUTADORApágina compartida de chatgpt.com«descarga la aplicación de escritorio»INSTALADORse ejecuta como túArchivosLEGIBLESLlaveroALCANZABLENavegadorCOOKIESPersistenciaÍTEM DE INICIORedALCANZABLEUn binario, alcance total.BromureTU COMPUTADORAVM DESECHABLEpágina compartida de chatgpt.com«descarga la aplicación de escritorio»INSTALADORse ejecuta en el invitadosolo ve el invitado vacíoCONTENIDOTus archivos + llaverointactosCerrar la ventanaVM borrada
La misma campaña, la misma página convincente, el mismo instalador descargado. A la izquierda, un navegador tradicional: ejecutar el instalador significa ejecutarlo en tu máquina, contra tus archivos. A la derecha, Bromure: el instalador se ejecuta dentro de una VM desechable que no contiene nada tuyo, y la VM — instalador incluido — se borra cuando cierras la ventana.

Fíjate en lo que la señal de dominio-de-confianza le compra aquí al atacante: nada. La campaña entera está diseñada para vencer la pregunta «¿confío en esta página?». Bromure no hace esa pregunta. No necesita saber si chatgpt.com es de fiar, porque no deja que el contenido de ninguna página — de confianza o no — llegue más allá de la VM invitada en primer lugar. La página podría ser la página más legítima de internet y la contención sería idéntica. La confianza simplemente no es la carga que soporta la arquitectura.

Lo mismo vale para el truco de cloaking contra escáneres. El atacante trabajó duro para que openew[.]app pareciera benigno ante el análisis automatizado. Bromure no depende de que ese análisis sea correcto. Incluso si el host de descarga se puntúa como perfectamente limpio y el archivo pasa sin más, el archivo llega a un invitado desechable. Y recuerda la muestra de Windows que comprueba si se está ejecutando en una máquina virtual antes de desempaquetarse: ese reflejo anti-análisis ahora trabaja contra el atacante, no a su favor — el malware que se niega a ejecutarse en una VM se niega a ejecutarse en el único lugar al que consiguió llegar.

Lo que esto no resuelve.

El aislamiento contiene la ejecución. No edita la realidad. Vale la pena nombrar dos brechas honestas.

Primero, Bromure no impide que te convenzan. Si la página te convence de escribir tu contraseña real de OpenAI en un formulario de inicio de sesión real, o de sacar un archivo del invitado y llevarlo a tu Mac y ejecutarlo allí tú mismo, el aislamiento ha sido sorteado por tus propias manos. La protección es que la preparación y la primera ejecución del malware quedan contenidas — no que la ingeniería social se vuelva imposible. Una página que es así de buena suplantando sigue siendo una página de la que conviene desconfiar; la arquitectura reduce lo que está en juego al ser engañado, no aumenta tus probabilidades de detectar el engaño.

Segundo, esto es fundamentalmente un ataque entregado por el navegador, y esa es exactamente la razón por la que la contención es decisiva. La cadena entera — anuncio, página, redirección, descarga, primera ejecución — vive en la pestaña. No hay una aplicación nativa aparte que comprometer, ni cliente de correo, ni un segundo programa en el que el usuario confíe. Decapita la cadena en el punto donde se ejecuta el binario y no queda nada aguas abajo. Cuando el ataque empieza y termina en el navegador, un navegador que absorbe el golpe es el lugar correcto desde el que plantarse.

El próximo también estará en un dominio en el que confías.

LLMShare no es realmente una historia sobre ChatGPT. Es una historia sobre una técnica: toma un servicio en el que la gente confía, encuentra el rincón de él que permite a un desconocido publicar HTML renderizado bajo su nombre, y usa ese rincón para alojar el señuelo. ChatGPT hoy; los investigadores ya ven Claude y Grok usados de la misma manera; mañana será cualquier producto que sea a la vez popular y generoso con lo que renderizará en tu nombre.

No puedes ganar esto volviéndote mejor detectando dominios malos, porque toda la jugada consiste en usar los buenos. Lo ganas haciendo que la barra de direcciones sea irrelevante para tu seguridad — disponiendo las cosas de modo que lo peor que una página puede hacer, sin importar el logo que lleve, sea llenar una habitación desechable que vacías cerrando una ventana.

Para eso está Bromure. Instálalo, hazlo tu navegador por defecto, y deja que la confianza prestada no le compre nada al atacante.