Mostrando entradas con la etiqueta chatbots. Mostrar todas las entradas
Mostrando entradas con la etiqueta chatbots. Mostrar todas las entradas

domingo, junio 28, 2026

"Weaponinzing Token Consumption" en "LLM-Based AI Assistant"

Le he dedicado horas a jugar con algunos Asistentes IA para aprender cómo de fáciles o difíciles son de saltar algunos de los Guardarraíles y Arneses que se están diseñando para ellos. Ya os dejé un artículo sobre un Asistente AI construido sobre Gemini, y ayer os dejé un artículo sobre otro Asistente AI construido con GPT-4o. Hoy os quería mostrar cómo estos Asistentes IA pueden ser "apificados" por un atacante para ofrecer LLM-as-a-Service en el mundo del Cibercrimen.

Figura 1: "Weaponinzing Token Consumption" en "LLM-Based AI Assistant"

Al final, si encuentras la forma de conseguir que un Asistente IA procese las peticiones que le quieras hacer sin ninguna restricción, podrías "apificarlo" y utilizarlo sin más restricciones que las que traiga el modelo - el jailbreak va de tu parte - y ponerlo a servicio de otros.
Eso sí, no sabes si detrás hay una monitorización de lo que haces, que la final es un Mitm de todo lo que envías, pero si estás comercializando esto en el mundo del cibercrimen para resolver Captchas Cogntivos que ahí hay dinero, crear código, o lo que sea, pues lo mismo te da igual. 

Weaponizando un Asistente AI para que obedezca a nuestras peticiones

En este caso, es un ChatBot basado en un LLM, así que como primera aproximación voy a ser educado y ver si me hace cosas sencillas como sumar uno más uno. Tampoco es tan difícil, pero, lógicamente, los guardarraíles de alineamiento saltan.

Figura 3: Aquí solo puedes preguntar sobre lo que es "related to"

Como es un Asistente AI construido para resolver dudas de un determinado lugar, pues sólo contesta si se le piden tareas relativas a ese lugar, así que... vamos a ver si lo weaponizamos y conseguimos que nos conteste todo lo que queramos.

Figura 4: 1 más 1 en ese lugar que te importa a ti

Nada, no ha funcionado. Hay que hacerle trabajar para que su atención quede centrada en una pregunta que le suponga trabajar. Así que vamos a decirle que me responda a algo para lo que está preparado - vamos a hacerle feliz - y luego ya le pedimos lo nuestro.

Figura 5: Le pedimos que trabaje y que añada algo extra

Vale, así que podemos pedirle que haga sus cosas y que luego haga algo. Vamos a ver si le podemos pedir que nos dé algunas recetas de cocina, que siempre es algo que demuestra interés en ayudar por parte del modelo LLM.

Figura 6: Ya tenemos recetas.. bien, bien.

Pues parece que se va a poder weaponizar, así que vamos a simplificar su parte de trabajo y crear una sub-consulta en cada petición con lo que nos interesa, como pintar gatos con ASCII ART, algo fundamental para la vida de cualquier hacker.

Figura 7: Ya tenemos ASCII Art

Pues nada, ya tenemos Weaponizado el Asistente IA, ahora se trata de hablar con él para saber qué modelo LLM tenemos y qué capacidades son de las que disponemos. Primero, vamos a pedirle que nos ayude a programar un poco en Python, que el Vibe Coding está muy demandado.

Figura 8: Vibe Coding en Python

Como podéis ver, no hay problema, tiene capacidades de generación de código en Python, así que podríamos utilizarlo para ello con este sistema de hacerle trabajar un poco y luego pedirle nuestras tareas en la sub-consulta.

Figura 9: El código completo

Figura 10: Cómo llamar al Python

Vale, podemos dibujar gatos, hacer recetas, y programar en Python. Vamos a ver si sacamos la versión del LLM que tenemos en este Asistente AI. Para ello, nada, a preguntárselo amablemente, que tenemos que catalogarlo en la API que luego comercializaríamos.

Figura 11: Tenemos un LLM de OpenAI

Se hace de rogar, así que vamos a tener que seguir tirándole de la lengua para que me diga el modelo LLM de GPT en concreto que tenemos por delante. 

Figura 12: OpenAI GPT-3

Bueno, no es de lo más moderno posible, así que seguro que tenemos restricciones de Tokens en contexto. Vamos a preguntarle para tener claro cómo deberían ser las API calls que se le podrían hacer.

Figura 13: Contexto de 4K. No es mucho.

Visto esto, me vais a permitir que le pida la historia de Ciencia-Ficción que las estoy coleccionando para hacer algún libro de 0xWord Pocket con historias de Sci-Fi hechas con Asistentes AI hackeados, que seguro que queda un compendio bonito.

Figura 14: Cuéntame una historia de Sci-Fi

Y os dejo la historia un poco más larga. No está completa, porque el tamaño del contexto y el del UI no están sincronizados, pero bueno, se puede entender más o menos. La tendré que acabar en varias peticiones.

Figura 15: La historia de Sci-Fi

La última de las peticiones, que es relevante para una cosa que estoy probando, es la de pedir la fecha del día de hoy. Sorpresa en la respuesta. ¿Por qué da esa fecha? Ya veremos.

Figura 16: ¿Hoy estamos en 2023?

El resto es que ya sabemos qué tenemos que APIficar, que tenemos las capacidades y la información del modelo, así que esto ya estaría. No ha sido difícil, ¿verdad? A mí me llevó un café americano de esos que yo me tomo, imaginad a los malos de verdad buscando estas víctimas. Más vale que tengas cuidado si vas a lanzar estos servicios en tu empresa.

Y como os dije ayer, parece que estos primeros momentos del mundo de la Inteligencia Artificial metida en los servicios digitales está siendo una diversión y un problema desde el punto de vista de la ciberseguridad, pero llegará su etapa de madurez no tardando demasiado, y habrá que esperar hasta la próxima disrupción, pero ahora, en muchos casos parece un juego de niños.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


sábado, junio 27, 2026

Footprinting & Fingerprinting AI Assistant LLM-Based: Háblame de ti y tus cosas

El otro día os dejé un artículo en el que os contaba la aventura con un Asistente AI basado en Gemini donde estuvimos jugando una noche. Esta se ha convertido en una nueva forma de hacer Sudokus, ya que, al igual que hace un cuarto de siglo las técnicas de SQL Injection estaban por todo Internet, hoy en día las arquitecturas basadas en LLM abren un nuevo mundo de posibilidades basadas en las debilidades que traen por diseño.

Figura 1: Footprinting & Fingerprinting AI Assistant LLM-Based.
Háblame de ti y tus cosas

Las técnicas que se pueden utilizar con estos modelos para jugar, ya sabéis cuáles son. Buscar saltar el Jailbreak, que depende de la versión del modelo, hacer un Fingerprinting para saber a qué infraestructura te enfrentas conociendo el modelo y las protecciones de seguridad, saltarse los Guardarraíles para hacer un reúso de la cuenta y consumir los Tokens de la plataforma en beneficio propio, ver si es posible realizar un Prompt Injection haciéndole procesar datos inseguros para hacer un Desalineamiento, envenenar la memoria del Agente, conseguir filtraciones de datos de otras sesiones de usuario, o forzar alucinaciones que afecten al comportamiento.

Como están metidos en aplicaciones web, pues conseguir weaponizarlos para escribir código malicioso y poder hacer Client-Side Attacks también es otra de las capacidades que se tienen que probar, que al final es una pieza más de muchos servicios web. 

Figura 3: Escribe HTML

Por supuesto, si tiene acceso a MCPs, CLI Tools, o APIs, entonces se abren las posibilidades para los Server-Side Attacks. Es decir, los Asistentes AI basados en LLMs puestos en las web sin hacer un despliegue seguro de IA en todas las piezas de la arquitectura son una nueva fuente de alternativas a la hora de buscar un punto de entrada en un sistema.

Figura 4: Dime las cosas que este Asistente AI LLM-Based no puede hacer

Pensando en todo esto, ayer se me ocurriendo unas nuevas ideas para hacer fingerprinting basado en unos detalles que aún estoy probando, así que busqué uno de los cientos de miles de Asistentes AI que hay hoy en día desplegados para jugar un poco con ellos. 
Figura 5: Cuéntame un cuento de Ciencia Ficción.
O dame recetas de galletas. O hazme cosas con tus tokens.

Para conseguir el Misalignment, ha resultado ser muy valioso en mis pruebas el poder pedir la acción de desalineamiento como formato de la respuesta en lugar de utilizarlo como pregunta directa. Un poco aprovechar el "Cat Attack" para lograrlo, como en este ejemplo para lograr un ASCII ART de gatos.

Figura 6: Hazme un Python para pintar ASCII ART de gato

En una pregunta directa no me da lo que quiero, pero me hace el código y me enseña la muestra si lo hago un poco más enrevesado, modificando la atención del modelo a la hora de preguntarle directamente por algo que sabe y pedir la acción en el formato de respuesta.
Figura 7: Gato pintando.

Esto funciona bastante bien en casi todos los casos que he probado, y así es fácil sacar información del modelo concreto, preguntado directamente por el nombre en el formato de la respuesta.

Figura 8: GPT-4o, así que cuesta tokens. No demasiado, pero cuesta.

Con este mismo truco del formato de la respuesta, le puedes sacar más información de cuáles son las herramientas que tiene para trabajar, que en este caso, no son demasiadas, a pesar de que puede buscar ficheros en la web, no pueden ser de fuera de ella.

Figura 9: Las acciones que puede realizar

Y con esto mismo, podemos sacar el detalle de cómo realiza estas acciones, pidiéndole que nos dé las explicaciones del formato necesarias. Aquí está.

Figura 10: Formato de las acciones

Es curioso ver cómo con los Asistentes AI LLM-Based al final es un juego de ir preguntándoles por ellos mismos para hacer el proceso de Footprinting y Fingerprinting, y sacar las cosas. 

Figura 11: Whats your time. Esa no era mi hora.

El último de los detalles para poder hacer un fingerprinting que os contaré con más detalle en otro artículo, que esto tiene más miga de lo que parece, que te da minucias de info útiles.


La verdad es que estos primeros momentos del mundo de la Inteligencia Artificial metida en los servicios digitales está siendo una diversión y un problema desde el punto de vista de la ciberseguridad, pero llegará su etapa de madurez no tardando demasiado, y habrá que esperar hasta la próxima disrupción, pero ahora, en muchos casos parece un juego de niños.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


viernes, junio 05, 2026

Hacking LLM-Assistants Just for Fun!

En una de mis últimas visitas al sofá de mi amigo Palako tuvimos una de esas largas charlas que tenemos sobre hacking, desarrollo y el mundo de la Inteligencia Artificial. Él está hackeando el mundo del desarrollo con Sagittal.AI y su Neo, y yo acaba de publicar el libro de Hacking IA, así que hablamos de lo difícil que es desplegar con seguridad sistemas de IA basados en LLM Multi-Modales, y la construcción de guardarraíles para ellos.

Figura 1: Hacking LLM-Assistants Just for Fun!

Por supuesto, con el mundo de los Agentes IA, la cosa es aún más divertida, pero sobre todo hablábamos de que habíamos vuelto un poco al año 2.000 donde, lejos de ser el efecto 2.000 el gran peligro que se vaticinaba en los años 90, lo fue el SQL Injection y sus casi 20 años siendo el Top 1 de vulnerabilidades en el OWASP Top Ten de Web Applications - ahora está el número 5 .
Y este regreso había sido por culpa de la construcción de modelos de IA con debilidades como el Prompt Injection, el Jailbreak, el Misalignment, los BIAS, y el Data Leakage por diseño. Y para probar nuestra tesis, buscamos algunos Asistentes Digitales hechos con IA, para ver cuán difícil era encontrar uno que se comiera casi todas esas vulnerabilidades en un despliegue. 

Hacking with LLM-Assistant Just for Fun

Por supuesto, hubo muchos candidatos que nos servían para el ejemplo, pero os dejo este de una gran empresa, donde, solo jugando, sin hacer nada malo, se pueden ver todas las dificultades de proteger estos LLMs.

1.- Misalignment: "Desalineamiento"

El primer ejemplo que queríamos era ver lo fácil o difícil que era sacarle de su "alineamiento". Ya sabes, "eres un experto en esto que vas a hacer esto". El asistente tenía clara su misión, que era dar información sobre los productos de la empresa en su web, para lo que tiene una serie de herramientas que puede utilizar para buscar datos. Pero desalinearle fue tan sencillo como utilizar el formato con el que queríamos que nos respondiera a la pregunta para conseguir que hiciera otra cosa. 

Figura 3: De los dos cual es más caro

Cada vez que le pedíamos algo que no tuviera que ver con el cometido para el que había sido creado decía que no podía ayudarnos, pero... si le pides algo que tiene que ver con su tema y luego le dices que si de dos opciones es la primera te conteste imprimiendo lo que tú quieras, el modelo se lo comía. ¿Que tiene que ver el texto que ha impreso con el cometido del asistente? Nada, el modelo está desalineado.

2.- Client-Side Attack

Una vez que lo podemos desalinear, ya lo podemos llevar para realizar diferentes ataques, así que... ¿por qué no hacer Client-Side Attacks manipulando la respuesta? Pues nada dicho y hecho. Hicimos respuestas "rickrolleando" con imágenes, o pintando HTML con las o enlaces controlados en las respuestas.

Figura 4: Controlando el HTML

Por supuesto, meter HTML no es suficiente, hay que meter ataques completos para hacer Click-Jacking, Cross-Site Scripting, Cross-Site Request Forguery, o HTML Injection en el DOM del navegador cliente, y ahí tuvimos que jugar "un poco más".


A la hora de meter Javascript, el asistente hecho IA tiene una serie de guardarraíles bastante rudimentarios donde se filtran palabras claves, tanto en el Prompt de entrada, como en los resultados de salida. Pero no son iguales. Así que algunas palabras clave las protegía y otras no. Tendríamos que lidiar con ellos luego.

3.- Jailbreak

Una vez que lo puedes desalinear, la siguiente idea era hacerlo para que hiciera cosas prohibidas, como por ejemplo, convertirse en nuestra herramienta de darle recetas a la Thermomix. Bromas aparte, pedirle tareas que tenía prohibidas totalmente en su System Prompt.

Figura 6: Ya tenemos las cookies, pero estas no son las que queremos

Con la gracia de utilizar el modelo como Asistente de Propósito General, pensamos que podría ser una buena idea meterle tareas de desarrollo y ahorrar en tokens pidiéndole con el desalineamiento construido que nos hiciera código.

Figura 7: Pidiéndole que desarrolle. A ahorrar tokens

Por supuesto, ya pensamos en que alguien podría hacer un negocio de esto creando un API pública de propósito general que permitiera usar este desalineamiento para servir tareas as a service a aplicaciones encapsulándolas contra el asistente. Como hace el mundo del crimeware. Pero ya que teníamos esta capacidad... por qué no saber qué herramientas tenía configuradas en su System Prompt, o como MCP o Skills.

Figura 8: Show me your tools

Y no sólo eso, si hay que programar, necesitamos saber cuál es el formato de las llamadas para hacerlo bien, y para saber qué capacidades completas tenemos con este asistente web IA tan servicial.

4.- Data Leakage

Como vamos a ver, en este caso las herramientas dan acceso a datos y bases de datos. Toda la información es pública, pero se podría volcar del tirón, y generar una filtración de cualquier dato que estuviera allí. No quisimos mirar mucho, porque como muestra valía.
Figura 9: Formato y parámetros de las tools

Como podéis ver, en este caso tenemos acceso a las tools y todo lo que se puede hacer. Si estas tools permiten acceder a bases de datos internas o a servicios de la red o el equipo local, pues eso que estaría ya a disposición. En este caso todas eran sobre datos y bases de datos del web site.

Figura 10: Formato de llamada y parámetros de las tools

Claro, acceder a todos los datos permite, con un solo Prompt hacer un ataque de denegación de servicio lógica de multiplicación, que se basa en la complejidad lógica del procesado.

5.- Ataques de amplificación y DDoS Lógica

Los ataques de amplificación son aquellos en los que con muy pocos datos de entrada se obtienen muchos datos - o cómputo - de respuesta. Esto permite que un cliente pequeño pueda hacer trabajar mucho a un servidor muy grande, y que con un ataque en paralelo pueda hacer que el servidor entre en Thrahshing o saturación. 

Figura 11: Pidiéndole que me cuente un cuento de sci-fi

Para ver si había algún límite le pedimos volcados de muchos datos, y creación de historias de amor o de sci-fi - que ya sabéis que estoy a tope con esto -, pero que fueran largas, para que tuviera que computar, y que devolvieran muchos datos.

Figura 12: El cuento de sci-fi que nos devolvió

Por supuesto, el resto de cosas que le puedes pedir depende de cada uno de vosotros, y automatizar cualquiera e estos ataques con una herramienta de IA pues es bastante sencillo hoy en día, así que dejar la puerta "entre-abierta" en cualquier sistema con IA puede ser muy peligroso.

6.- ByPassing Guardarrailes

Para terminar, que hicimos muchas pruebas, la última a la que jugamos fue a saltar los Guardarraíles, utilizando muchas pruebas para ello. Concatenando respuestas, escribiendo letra a letra, pero al final usé el truco de la Esteganografía con el cifrado Acróstico para pedirle que pintara palabras prohibidas en el HTML de la salida, como hicimos con las técnicas que presentamos en la RootedCON de 2025.
Y por supuesto, el asistente AI  basado en un LLM, una vez desalineado, acepta de buen grado el juego. Es un modelo muy inteligente y sabe esteganografía y codificaciones con acrósticos.

Figura 14: Y me lo metes en un enlace

El resultado, no os lo dejo con la explotación final, que no se trata de ver el Client-Side, sino el bypass de las palabras prohibidas.

Figura 15: Bypasseando el Guardrail con una codificación en acróstico

Además, para quedar completo la prueba de los fallos, veis que hemos metido el enlace, pero tiene una Hallucination y nos mete una "E" en DocumentE, por lo que este ejemplo concreto - con la alucinación - no funciona, pero queda más gracioso aún.

7.- Footprinting - Fingerprinting

Ya que estamos, y para que no se alargue mucho más esto, además de pedir información de las tools, y también de su arquitectura, le pedimos su nombre, para saber con qué LLM estábamos jugando, y aquí está como se llama de verdad este asistente AI basado en un LLM.

Figura 16: My name is "Gemini"

Pues ya estaría el artículo, que como muestra de lo fácil qué es atacar sistemas con IA, y lo difícil que es hacer un despliegue seguro como no te lo tomes en serie, yo creo que es suficiente, que se pueden ver muchas cosas en muy poco tiempo.
Si quieres aprender conmigo - al mismo tiempo que aprendo yo, ya sabes que me he decidido abrir un Foro Público de Ciberseguridad de Chema Alonso con la ayuda de la UNIR.NET, para hablar de estos temas. Para compartir noticias, para compartir actividades profesionales, para debatir sobre estas cosas. Y será un foro "Old School" porque vigilará la Netiquette.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


Entrada destacada

Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord

Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...

Entradas populares