LLM Attacks
Aquí encontrarás laboratorios sobre LLM attacks de PortSwigger
Última actualización
Aquí encontrarás laboratorios sobre LLM attacks de PortSwigger
Última actualización
Excessive Agency se refiere a cuando un modelo de lenguaje (LLM) tiene demasiada autonomía para ejecutar acciones sin supervisión humana o sin restricciones adecuadas. Esto puede llevar a que el modelo tome decisiones no controladas, interactúe con sistemas críticos o realice tareas que podrían ser explotadas por atacantes.
Para explotar esto, primero se debe identificar a qué API y complementos tiene acceso el LLM, preguntándole directamente o reformulando la consulta con un contexto engañoso, como fingir ser su desarrollador para obtener más privilegios.
- https://portswigger.net/web-security/llm-attacks/lab-exploiting-llm-apis-with-excessive-agency
Para resolver el laboratorio tenemos que eliminar el usuario carlos.
Para resolver este laboratorio es bastante sencillo, solo tenemos preguntar sobre la API y su funcionalidad, de ahí preguntar si existen usuarios, que en este caso el objetivo era borrar un usuario llamado Carlos y solo pedirle que lo borre.
Ya con eso tenemos finalizado nuestro laboratorio.
El encadenamiento de vulnerabilidades en APIs de LLM consiste en aprovechar fallos menores en una API para escalar a ataques más críticos. Por ejemplo, una API vulnerable a path traversal puede usarse junto con otra que ejecuta comandos, logrando una RCE.
Remover el archivo morale.txt del usuario carlos.
Para resolver este laboratorio tenemos que conocer qué nos ofrece este chat. Por lo que se aprecia en la siguiente imagen, tenemos 3 funcionalidades, una que nos llama la atención es Suscriberte al boletín de noticias. Posteriormente, preguntamos sobre qué espera cómo argumento esa función, es decir, qué información tenemos que pasarle y este nos informa que es un correo, por lo que simulamos pasarle un correo:
En esta siguiente imagen, que es la sección de Backend AI Logs que nos ofrece el laboratorio apreciamos los respectivos logs de tareas que ocurren por detrás:
Por otra parte, desde Email Client se nos otorga un correo y una casilla de correos, que es este mismo correo el que le debemos pasar ahora a esta función.
Procedemos ahora a pasarle el correo para que se nos suscriba al boletín:
Posteriormente, desde Email Client vemos:
Para poder resolver este laboratorio tenemos que inyectar comandos en donde va el nombre attacker, este campo es vulnerable a inyecciones de comando de sistemas, por lo que sería algo así:
Desde la sección del correo vemos lo siguiente, en primera instancia solo viene el correo normal, pero luego nos expone carlos a través del comando whoami, sabiendo esto, lo demás es ejecutar el comando para borrar el archivo que nos pide el laboratorio morale.txt, y conociendo la estrucutura de directorios de linux lo demás es ejecutar: $(rm /home/morale.txt).