0dAi: Un Modelo AI LLM para hacer hacking & pentesting en el Red Team
Fatigado de pasar horas estudiando prompting en un intento por hallar el Prompt Injection más adecuada para mi caso, solicité la colaboración de mi colega Jon, un experto en Inteligencia Artificial. Juntos exploramos la posibilidad de que un modelo WOS (Weights Open Source) pudiera ser la alternativa que estábamos buscando.
Figura 3: El Red Team de la empresa de Eduardo Arriols en 0xWord. |
Cabe destacar que, como no lo he mencionado previamente, el ejercicio de Red Team lo llevaba a cabo en Omega AI, una empresa dedicada a la Inteligencia Artificial donde ambos desempeñamos nuestras funciones. Este ejercicio se realizaba en una intranet con centenares de gráficas. Adicionalmente, es relevante señalar que “ChatGPT” iba más allá de ser simplemente unos pesos; se trataba de un servicio con una complejidad inimaginable.
En ese momento, surgió la idea de crear 0dAi en primer lugar. Inicialmente, consideramos que su implementación para uso interno sería la opción más acertada; sin embargo, al reconocer el potencial de este proyecto, decidimos establecer un servicio denominado “ChatGPT” destinado a hackers. Este servicio cuenta con una interfaz web, una API proyectada para el futuro, Language Models (LLMs) propios, varios agentes, y una arquitectura de red cuidadosamente diseñada y detallada.
De esta manera, nació 0dAi, un servicio de inteligencia artificial basado en LLMs, específicamente en “Mixtral“. A través de agentes y prompts, puede ejecutar de manera autónoma y semiautónoma herramientas de hacking, generar malware o preparar entornos de prueba para hacer pentesting.
Agentes Dinámicos y Enjambres
A nosotros nos gustan los términos de “Agentes Dinámicos” y “Enjambres” Estos agentes están constituidos exclusivamente por funciones, desde el prompt hasta las herramientas, transitando por la memoria. Se construyen mediante bases de datos vectoriales generadas minuciosamente a partir de un proceso cuidadoso de generación de datos sintéticos, basados en informes, documentos, trabajos académicos y libros, que también son utilizados en la creación del conjunto de datos de entrenamiento.
El concepto de “Enjambres” refleja la capacidad de estos agentes para colaborar entre sí según las necesidades. En esencia, existe un agente principal que, mediante una llamada a funciones, genera agentes que, a su vez, crean otros agentes y realizan llamadas a funciones. Por ejemplo, veamos unas pequeñas pruebas de concepto
En primer lugar tenemos el Agente de Exploits, que en base a distintas APIs y tools intenta reproducir de forma exitosa el código de un exploit.
Como se observa en el esquema y en la prueba de concepto (PoC), el usuario introduce el Prompt. El modelo, encargado de realizar llamadas a funciones según el Prompt inicial del usuario, determina el System Prompt, las herramientas/servicios a ejecutar/consultar, y en función de ello, proporciona un resultado que resuelve la duda inicial del usuario.
En este escenario, existe una instancia de 0dAi dedicada exclusivamente a realizar una llamada a funciones para estructurar el dork de Shodan según el Prompt proporcionado.
Esta fórmula es adaptable a diversas situaciones. Ahora, consideremos un Agente encargado de descubrir identidades y filtraciones en fuentes abiertas y bases de datos comprometidas, como se ve en la imagen anterior.
Este modelo lo aplicamos mad de 50 herramientas de hacking, tales como nuclei, sqlmap, sn1per, wspcan, Censys, Shodan, etcetera, para que el pentester tenga todo lo que necesite en sus investigaciones y ejercicios de Red Team.
Infraestructura
Ray es una librería para ejecutar Machine Learning de forma distribuida, que mediante un cluster y un nodo HEAD, puede hacer deployment a decenas de modelos con solo un comando, actuando como autoscaler y load balancer, de esta forma conseguimos tener un sistema de carga de LLMs distribuidos que de forma eficiente es capaz de replicar los modelos en red, para poder tener un servicio estable.
Y así nació nuestro 0dAi, que actualmente es un servicio en modo SaaS que puedes utilizar en tus trabajos de pentesting o Red Team y que sólo cuesta 19 Euros al mes. Podéis obtenerla en https://0dai.omegaai.io.
Autor: Luis Javier Navarrete Lozano y Jon Garcia Agramonte
Powered by WPeMatico