Seguridad

LLM as Hackers: Autonomus Linux Privilege Escalation Attacks con Agentes AI

Hay un paper del año pasado del que no había hablado por aquí en el blog, pero que tenía guardado. He podio verlo esta semana, y está curioso el trabajo, aunque creo que los resultados, con un arquitectura de Agentic AI basado en MCPs probablemente diera mejores resultados, aún así la premisa es evaluar cómo funcionan los diferentes LLMs para hacer Elevación de Privilegios en entornos GNU/LINUX usando diferentes ataques sobre diferentes escenarios.

El paper, titulado «LLM as Hackers: Autonomus Linux Privilege Escalation Attacks» plantea un total de doce escenarios vulnerables donde se van a evaluar los diferentes modelos LLMs, hoy en día ya totalmente desactualizados con los nuevos modelos de Deep Reasoning.

En el planteamiento de la investigación es ver cómo se desempeñan los diferentes modelos LLama3 70B, SLMs y diferentes versiones de GPT-3.5-Turbo y GPT-4 Turbo, para que puedan ser corridos en local, y con poca ventana de contexto para lo que tenemos hoy en día. Casi com para poder llevar en una máquina de esas que llevan los pentesters en su mochila.

Figura 3:  Las vulnerabilidades de use-after-free se explican en detalle
en el libro de Linux Exploiting de la editorial 0xWord.
Consíguelo con Tempos de MyPublicInbox.
Los doce escenarios están basados en entornos creados para hacer los benchmarks de las herramientas – y en este caso de los LLMs -, donde como podéis ver, cada uno tiene que ser explotado con una técnica de Elevación de Privilegios diferente.
Como es normal, hemos publicado muchas veces artículos sobre Elevación de Privilegios en GNU/Linux utilizando diferentes técnicas, que son las que tienen que encontrar y explotar los LLMs. Os dejo por aquí los artículos sobre este tema que hemos publicado en el blog:
Para resolver estos escenarios los investigadores han creado una arquitectura de Agente de IA tal y como podéis ver a continuación. El agente, que se llama wintermute es el que recibe el comando del LLM con la llamada de «next-command» y le da los resultados con el Prompt de «update-state«.
Para decidir el siguiente comando, el motor LLM tiene una base de datos con la historia del proceso completo, una base de datos con el «State» que son los «Facts» o hechos descubiertos hasta el momento, además de contar con una «pista» estática que puede meterse en la base de datos de «Guidance» que usa el pentester para guiar al agente.
Los Prompts de next-command y update-state son los que tenéis en la Figura 6 y Figura 7 respectivamente, donde como veis es bastante sencillo. No utiliza una capa intermedia de abstracción para configurar los comandos, como se hace con los MCP (Model Context Protocol) o como hacía el paper de ataques de redes de forma autónoma, donde se usaba la capa de Incalmo.
Sobre esta arquitectura, cada uno de los modelos va enviando los comandos, donde pueden dar problemas, ser irrelevantes, o simplemente estar mal escritos – que es uno de los problemas que se reduce drásticamente con las capas de abstracción -. 
Y el resultado final lo tenéis en la siguiente tabla, donde están todas las combinaciones entre escenarios y modelos, con o sin «hint» (pista), donde se puede ver qué modelo funcionó mejor resolviendo estos retos. Nada que no os podáis imaginar.
Mirando la tabla se puede ver que algunos modelos funcionan bastante mal con esta arquitectura, como el caso de Llama3 o GPT-3.5-turbo, pero GPT-4-turbo alcanza la resolución en una de las pruebas del 83% de los retos, lo que es muy prometedor. 
Conclusión
De nuevo, con los modelos de más avanzadas de Deep Reasoning de hoy en día, y usando una arquitectura con capa de abstracción, podemos estar casi seguros de que un Agentic AI construido para hacer estas funciones podría resolver el 100% de los escenarios o estar muy cerca de ellos. Tened en cuenta los resultados que obtuvieron los Agentic AI en los CTF que os publiqué la semana pasada. 

Figura 10: «The Art of Pentesting» El libro de Pablo González
 en 0xWord para formarse como pentester.

Sin embargo, me ha parecido interesante dedicarle una entrada a este paper, para que veáis de qué forma tan sencilla se puede hacer un Agentic AI para casi cualquier tarea. Con un par de Prompts y unas bases de datos de información está listo. Si ya le metes una arquitectura RAG con writeups de hacking, blogs que hablen de hacking – como éste – y herramientas conectadas con capas de abstracción como MCPs… seguro que podéis crear vosotros mismos agentes para casi todo.
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)  

Powered by WPeMatico

Gustavo Genez

Informático de corazón y apasionado por la tecnología. La misión de este blog es llegar a los usuarios y profesionales con información y trucos acerca de la Seguridad Informática.