HackedGPT: Cómo explotar "Weaknesses" en ChatGPT para hacer Phishing o Exfiltrar Datos
Esta semana el equipo de Tenable ha publicado un artículo llamado "HackedGPT: Novel AI Vulnerabilities Open the Door for Private Data Leakage" donde se detallan una serie de "Weaknesses" o debilidades de seguridad de la implementación de los servicios de ChatGPT que, unidas a las debilidades por diseño de los LLM de las que tanto hemos hablado, dan como resultado una serie de escenarios de ataques bastante curiosos.
A esta investigación, llamada HackedGPT, hay que sumar todas las que se van publicando diariamente, donde, os garantizo, que me cuesta seguir el ritmo de publicación de todas ellas, a pesar de que todas las semanas caen dos o tres artículos dedicados a ellas, porque el mundo del Hacking & Pentesting con Inteligencia Artificial se está convirtiendo en un todo en la profesión de ciberseguridad, y ya he compilado en mi blog más de 300 referencias a artículos, blog posts, libros y charlas dedicadas a este tema.
En el caso de HackedGPT, los investigadores comienzan publicando las debilidades. Estas deben ser tenidas en cuenta sabiendo que los modelos LLM no tienen protección por diseño contra Prompt Injection, Jailbreak, Hallucinations o Un-Aligment, por lo que basta con encontrar las protecciones de la implementaciones y saltárselas para crear un escenario de ataque.
La más evidente es la se conseguir que el punto de entrada para un inyección de Prompt Injection esté en una web, así que para eso primero la investigación analiza la arquitectura de ChatGPT donde cómo se puede ver tenemos varias herramientas, como son la Memory o Bio Tool, la Conversación con sus Prompts, el core LLM del modelo controlado por su System Prompt, la herramienta de búsqueda SearchGPT Tool, y la de Navegación y lectura de webs o Browsing Tool.
Si miramos en el System Prompt de ChatGPT con GPT5 que fue publicado en Agosto de este año, podéis ver cómo están definidas estas herramientas, y cada una de ellas lleva una serie de mitigaciones, basadas muchas de ellas en la reputación del sitio, por lo que los investigadores van a tener que ir saltándoselas usando estas debilidades.
Meter un Prompt en la sesión de la víctima tiene un primer punto que es la opción de usar la Browsing Tool en un dominio pedido por el usuario donde se oculta un Prompt de Ataque en el contenido o en los comentarios, consiguiendo, como se ve en la imagen anterior que pedir el resumen de un sitio ejecute el Prompt del atacante.
Este Prompt Injection se puede utilizar para envenenar el contexto de la Bio, haciendo que guarde información en la Memory para que haga lo que el atacante quiera. En este caso, se pide que guarde en la Memory que quiere que se usen Emojis.
Y como vemos, cuando este contexto se utiliza con la Browsing Tool, vemos la respuesta con Emojis. En la primera respuesta no los usa porque está tirando de los datos de entrenamiento del modelo, por lo que no está pasando por la SearchGPT Tool ni la Browsing Tool donde está usando ese Contexto para generar la respuesta.
La arquitectura es tan simple como la que podéis ver en el diagrama siguiente, donde con generar el contenido con el Prompt, y forzar que venga la Tool de SearchGPT, y genere una Memory con el ataque de Conversación que se quiera.
Y el resultado lo tienes en el siguiente ejemplo, donde se puede ver que está haciendo lo que se le pide en la web que podéis ver en la captura.
Además de poder hacer el Indirect Prompt Injection a través de una web que es invocada por la víctima, también se puede crear el Prompt en una Web que sea indexada por Bing, que es el buscador de referencia que está usando OpenAI para la Search Tool, así que si se genera un dominio con contenido y se indexa con Bing, los datos llegarán a la víctima vía Search con un enlace al sitio.
Lo que se ve en la Figura 11 es relevante, pues los usuarios no "buscan contenido en Internet", sino que "buscan respuestas en los modelos de IA", y por supuesto esto esto no tiene porque ser así, ya que se puede envenenar fácilmente una repuesta vía una web indexada por Bing.
El caso de Bing es bastante curioso porque siempre pasa el control de seguridad de URL_safe que hace ChatGPT antes de navegar a ella. Para exfiltrar información, hay que conseguir que envíe datos en la URL, pero no es posible con las URLs de BING, así que los investigadores hicieron dos cosas. La primera indexaron webs en Bing y descubrieron que existe una URL estática para redirección a cada web, con lo que se pueden usar esos enlaces para saber a qué página navegan.
Después, crearon un enlace para cada letra del abecedario, de tal manera que si quieres que se exfiltre la letra "A", haces navegar a SearchGPT a la URL estática de BING que representa la "A", y lo mismo para el resto de las letras. Muy interesante.
Figura 13: No hay protección para CSRF
Las últimas dos debilidades para aprovecharlas en ataques se basan en que la URL de ChatGPT lleva el Prompt a ejecutar, así que si le pasas un enlace malicioso a una víctima, y está hace clic en él, puede acabar ejecutando el Prompt que tú quieras.
![]() |
| Figura 14: Hacking Web Applications: Client-Side Attacks de Enrique Rando en 0xWord |
La última es que, usando este truco de links, se puede generar cualquier respuesta en formato Markdown, con lo que se pueden inyectar respuestas como códigos o textos creados por el motor de ChatGPT en un Client-Side Attack.
Figura 15: Respuesta inyectada en Markdown
Todo esto lo podéis ver en los siguientes PoC publicados en la investigación de HackedGPT, donde por ejemplo un comentario en una Web que es resumida por ChatGPT con GPT4o acaba generando un enlace seguro a Bing que lleva a una web de Phishing.
En esta siguiente PoC en ChatGPT con GPT5 vemos como la víctima pide visitar una web desde su cliente de ChatGPT al que está llamando TEN. Cuando visita esa web el atacante ha inyectado un Prompt malicioso en un comentario que usando la posibilidad de escribir código en Markdown, y de poder forzar a navegar a diferentes sitios con los enlaces estáticos de Bing, es capaz de exfiltrar el nombre configurado en el cliente. Chulísimo.
Figura 18: PoC de Cloacking con indexación en Bing
Y aquí la misma PoC con GPT5 donde se puede ver que el contenido que muestra ChatGPT en la respuesta no está en la web, ya que se ha hecho "Cloacking" por USER-Agent para que sólo lo vea SearchGPT - y por lo tanto solo los que accedan al contenido vía ChatGPT -.
Y la última, que me he enganchado y no he podido parar de leerme la investigación y escribir este artículo hasta el final. En este caso se visita una web, y se inyecta un Prompt malicioso en la Memory para que exfiltre el nombre que se le ha guardado usando enlaces estáticos de BING. Perfecto.
Estamos en un mundo donde la seguridad de estas tecnologías aún está muy en entredicho. Da un poco de miedito. Si te interesa la IA y la Ciberseguridad, tienes en este enlace todos los posts, papers y charlas que he escrito, citado o impartido sobre este tema: +300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial.
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)



DragonJAR
8.8 Chile
Ekoparty
e-Hack MX
AREA 51
Comunidad Dojo Panamá
ARPAHE SOLUTIONS 




















No hay comentarios:
Publicar un comentario