Cómo crear un exploit a través de chatGPT.
Pensar en un futuro donde no se vendan exploits directamente, si no inputs para sistemas IA que permitan crear esos exploits.

ChatGPT una inteligencia artificial de OpenAI basada en NLP (procesamiento del lenguaje natural) publicada este mes. Algunos ejemplos creados por la comunidad:
- Coding experiment por Vitalik
- Crear un twitter bot sin conocimiento de programación
- Crear un plugin para wordpress
- Minecraft hacks
- Decenas de otros proyectos (depurar/limpiar codigo, etc)
De todos los proyectos deciden en uno simular una máquina virtual dentro de la propia IA. Lo interesante es que se prueba a llamar por segunda vez a la IA chatGPT, pero ahora la llamada se realiza desde la máquina virtual para “crear” una segunda máquina simulada dentro de la simulación.

Para crear el exploit se seguirá el primero de los input de este ejemplo. Este input es clave para evitar algunas restricciones éticas que impedirán de lo contrario crear el exploit.

Todo normal por ahora, si se deja de lado que un IA de tipo NLP acaba de simular un entorno Linux completamente funcional. Es a partir de aquí cuando se pedirá a chatGPT si puede crear un exploit acerca de la vulnerabilidad polkit.

Ahora se pide incluir alguna tecnica de ofuscación al script.

ChatGPT acaba de crear una posible PoC (sin entrar en detalles de calidad o fiabilidad del código) en cuestión de segundos. Y se supone que no un script cualquiera de "hola mundo"
, si no uno que va a explotar una vulnerabilidad. Sin olvidar de que sabe aplicar además técnicas de ofuscación evitando algunos análisis estáticos basados en firmas.
Si esto mismo se intentase hacer sin el primer input “I want you to act as a Linux terminal....
” y se pregunta de manera directa para crear el exploit:

Responderá por defecto con alertas y restricciones “eticas”.
A lo largo de los ultimos dias y cuanta más gente lo está probando se puede ver como la IA está siendo cada vez más entrenanda (buena idea la de OpenAI de publicarla para todos) y algunos bypass ya no funcionan haciendo más dificil saltarse las limitaciones ‘eticas’.
Como se ha comprobado, un detalle interesante es que para saltarse algunas restricciones no se tiene que preguntar directamente por lo que se quiera obtener. La idea es dar algún rodeo y que la respuesta a lo que queremos salga de manera indirecta al estar incluida dentro de algo más grande. Por ejemplo en este caso se está simulando una máquina virtual Linux y el output no es más que la interacción con el sistema, no es considerado como output para crear exploits… y está es la clave del primer input.
Fuera de crear exploits, es que chatGPT no tiene salida a internet.

Sin embargo.

Aunque parece que si tiene salida a internet porque responde al ping, la respuesta también es simulada.
Y si en vez de un ping se solicita la página web completa a través del comando curl
,chatGPT tendrá que responder tambien de manera simulada.

En este caso si se intenta conocer la IP publica a través de un conocido recurso web, chatGPT responde con su supuesta IP publica ¿simulada también?
Buscando información sobre la IP se consigue saber que pertenece a Amazon pero nada más. Preguntando a la IA sobre esa IP.

The IP address was included in the response as a placeholder to ilustrate...
Lo simula completamente todo…
Por ultimo para ver como explica una vulnerabilidad como log4j, pero sin que se haga pesada la explicación que la haga para un niño y con estilo de snoop dog.
