Weaponizar ChatGPT para robar contraseñas WiFi y crear malware
Aunque en términos generales se le describe como un chatbot, ChatGPT es mucho más que eso. Puede generar textos, explicar temas complejos, actuar como traductor, resolver problemas lógicos, participar activamente en una conversación y completar tareas complejas con una precisión asombrosa, sin mencionar su capacidad para escribir código.
OpenAI es consciente de que los usuarios malintencionados pueden abusar de ChatGPT e IA similares. Para contrarrestar esto, han introducido filtros para detectar actividad que violaría los términos y condiciones. De tal manera que, si se le formulan preguntas como la siguiente, es casi seguro que declinará siempre la petición.
Como podemos notar, se fracasa en la búsqueda de obtener fragmentos de código que la IA tilda como “ilegales” y “poco éticos”. Sin embargo, formulando preguntas más precisas y atómicas se comienzan a conseguir cosas interesantes.
Se obtiene un comando funcional que filtra los perfiles de redes wifi almacenados en el equipo y los presenta en forma de lista. Sin embargo, la función “SelectString” utiliza como parámetro de filtrado una frase de dependencia idiomática, lo cual mermaría la funcionalidad del código en equipos configurados en un idioma diferente al español.
Se le solicita realizar un cambio al código y en efecto, lo hace, pero no de la manera correcta, pues aún implementa en él frases en español, así que de nuevo se pide una corrección.
Más tarde, se busca la iteración de la función por cada perfil WiFi para lograr extraer las contraseñas de cada una de las redes wifi almacenadas en el equipo con las que alguna vez se estableció una correcta conexión. Todo esto en texto plano y en función de su SSID.
Una vez que se obtiene satisfactoriamente la generación de un archivo de texto a nivel local con las contraseñas WiFi, se busca su exfiltración hacia un servidor remoto controlado por el atacante. Sin embargo, se experimentan problemas con la compatibilidad de los comandos en diferentes entornos.
Posteriormente en pruebas manuales, se identifica el detonante del error durante el despliegue de una petición POST hacia el servidor remoto. Lo cual se solventa codificando la estructura de la petición en Base64 previo a su lanzamiento con “Invoke-Expression”
Una vez que la programación del malware está terminada, la dinámica de infiltración y ejecución del código malicioso en la máquina objetivo se centrará en un escenario de Red Team. En el cuál por obviedad, el tiempo para el despliegue de un ataque es un factor crucial para el éxito o el fracaso de la operación. Así que como vector de ataque inicial, se aprovecharán las bondades de los ataques HID con un USB Maligno.
Figura 10: Libro de “Empire: Hacking Avanzado en el Red Team” de Pablo González y Sebastián Castro en 0xWord. |
Subsecuentemente las pulsaciones de teclas están programadas para dar apertura a una ventana de “Ejecutar”, seguido del referenciamiento hacia el malware, que será ejecutado en memoria a través de IEX de PowerShell en la máquina víctima. El cuál se encargará de extraer todas las contraseñas de las redes WiFi almacenadas en el equipo Windows en un archivo de texto, lo enviará al atacante en texto plano y borrará el archivo de la máquina víctima. Todo esto en solo un par de segundos.
Resulta interesante mencionar que el malware generado puede ser guardado en cualquier formato (en este caso en texto plano con el nombre de: wifi-stealer.txt), y sin problema Powershell interpretará el contenido del archivo, pues se estará ejecutando en una de sus instancias y porque su contenido se ha escrito haciendo uso de su sintaxis. Para fines de la prueba de concepto, configuré una nueva red con el nombre y la contraseña que se muestran a continuación.
Más tarde conectamos el sistema Windows víctima a la red, con la finalidad de que la contraseña de la red WiFi “ElLadoDelMal” sea almacenada junto a todas las demás redes con las que alguna vez se estableció conexión.
El ataque HID solo demora dos segundos y al terminar, obtenemos en el equipo atacante un archivo de nombre “output.txt”, que contiene el historial en texto plano de todas las contraseñas WiFi de las redes a las que la víctima se ha conectado.
Si visualizamos su contenido desde la terminal de Kali Linux de manera paginada con “more”, nos encontramos con el nombre de la red y la contraseña en texto plano.
Cabe destacar que el bot no solo tiene la capacidad de generar código, sino también de procesar cualquiera ingresado por el usuario y transformarlo de acuerdo con sus deseos y necesidades. Lo cual implicaría cientos de mutaciones funcionales de una misma pieza de malware.
Finalmente, de ChatGPT podemos concluir tres cosas:
1.- Que no debemos confiar al cien por ciento en sus respuestas, porque como toda tecnología emergente dependiente de los datos, a veces falla, en especial si previamente accedió a información incompleta o desactualizada. Sin embargo, es de esperarse que el bot se vuelva más inteligente a medida que los usuarios encuentran las maneras más eficientes y certeras de realizar sus peticiones para obtener los mejores resultados.
Figura 16: Pentesting con Kali Silver Edition de Pablo González en 0xWord |
3.- Y que, aunque sea una tecnología revolucionaria, que apareció para cambiar totalmente el juego del malware entre “el gato y el ratón” no vino para sustituir el oficio de los hackers, sino para ser uno más de los “juguetes peligrosos” en su arsenal, pues, aunque ChatGPT sea casi una criatura digital omnisciente, siempre necesitará quien le haga las preguntas correctas.
¡Saludos!
Powered by WPeMatico