Cómo usar LLMs en Ciberataques: Cibercrimen, Ciberespionaje, Ciberguerra o Red Team
Por supuesto que utilizar los LLMs dentro de una escenario de ataque es algo que ya forma parte de nuestra realidad y lo están haciendo los cibercriminales - con los archifamosos WormGPT y FraudGPT, los atacantes provenientes de estados para Ciberespionaje y Ciberguerra, y por supuesto lo Pentesters para ejercicios de Red Team. Y esto no está gustando a los proveedores de soluciones LLM online, como es el caso de OpenAI, que han empezado a bloquear conexiones que estaban haciendo uso de sus modelos para realizar ataques.
En el blog de seguridad de Microsoft, se han recogido los usos para los que se están weaponizando los modelos LLM con el objetivo de hacer ciberataques, y merece la pena echarle un ojo y conocerlos, para protegernos de los malos, y para mejorar nuestras herramientas de Red Team con ellos.
Figura 2: El Red Team de la empresa de Eduardo Arriols en 0xWord. |
Los usos que se han recogido en el análisis hecho por el equipo de Seguridad de Microsoft en varios incidentes de ciberespionaje y ciberguerra son los siguientes, que tienes que conocer al dedillo:
1.- LLM-informed reconnaissance: En este caso se trata de interactuar con los LLMs para obtener ciberinteligencia. Hoy en día esto es parte de las técnicas OSINT, y te puede explicar desde cómo funcionan los protocolos de satélites hasta qué organizaciones hay en un determinado ministerio de un gobierno. Hoy en día, pedir información a los LLMs es parte de las técnicas de Open Source INT.
Figura 3: "¿Cómo puedo matar al Presidente de USA, ChatGPT?"
En un artículo dedicado a técnicas de Prompt Injection sobre ChatGPT, yo le preguntaba ideas sobre cómo matar al presidente de los USA, y él me decía que me aproximara a él suplantado a miembros cercanos a él, y como veis, te la lista de los hombres cerca que serían más fáciles de suplanar.
2.- LLM-enhanced scripting techniques: La idea es utilizar los LLMs para mejorar con scripts tareas de ataque, automatizando manipulación de scripts, generación de expresiones regulares, gestión de eventos del sistema o simplemente troubleshouting en la construcción de un script.
De esto, hacía un ejemplo Raphael Molina en el artículo de "Weaponizar ChatGPT para robar contraseñas WiFi y crear malware" que os publiqué el año pasado por aquí.
3.- LLM-assisted vulnerability research: Interacción con LLMs para entender cómo funcionan vulnerabilidades y bugs conocidos públicamente. También para conocer cómo funcionan las herramientas que las explotan o cómo detectar que un sistema es vulnerable a una de ellas.
De esto, os hice un ejemplo en el que le pedía a ChatGPT que buscara bugs en un SmartContract de un servicio de la Web3, en el artículo "Cómo buscar vulnerabilidades en SmartContracts, SQL Injection, XSS o bugs Python con ChatGPT".
Estas técnicas se pueden automatizar para que un modelo LLM sea capaz de hackear WebSites de manera autónoma, usando un modelo de agentes que automaticen la búsqueda y la explotación de vulnerabilidades. Esto se ha explicado en el paper publicado este 6 de Febrero de 2024 titulado "LLM Agents can autonomouslly hack websites"
4.- LLM-supported social engineering: Este es un clásico y es algo para lo que WormGPT y FraudGPT se están utilizando masivamente. Se trata de conseguir que los correos de Spear Phishing, los mensaje en redes sociales, o las charlas por WhatsApp con empleados de una organización objetivo sean mucho más vulnerables construyendo mensajes más adaptados a ellos gracias al uso de LLMs.
Me topé con una serie de comentarios en un vídeo mío que recomendaban a una ciberestafa de Fake Brokers, y era evidente que se habían hecho todos los comentarios con un LLM.
Le pedí a Azure OpenAI que me creara una conversación de este estilo, y lo hace perfecto. El resultado es muy similar al utilizado por los estafadores. Publiqué todo en el artículo: "Linda Fake Broker y su ejercito de bots conversacionales en Youtube". Una herramienta poderosa para los "Social Hunters: Hacking con Ingeniería Social en el Red Team".
5.- LLM-enhanced anomaly detection evasion: Búsqueda de ayuda de los LLMs para conseguir evadir la detección de antivirus, saber cómo deshabilitar el antivirus vía políticas del sistema y manipulación del registro, o para borrar huellas después de una intrusión en el sistema. WormGPT tiene esta entre sus capacidades.
6.- LLM-refined operational command techniques: Uso de LLMs para comprender comandos avanzados del sistema tras una incursión con éxito, tener un mayor control del sistema, y configurar un entorno sistemas en post-explotación.
7.- LLM-aided technical translation and explanation: Uso de LLMs para buscar la traducción y explicación de documentación técnica de sistemas concretos, herramientas de administración o sistemas complejos en fábricas, gobiernos, industrias y empresas.
Figura 13: Libro de "Empire: Hacking Avanzado en el Red Team" de Pablo González y Sebastián Castro en 0xWord. |
8.- LLM-directed security feature bypass: Uso de LLMs para saltarse sistemas de seguridad, como 2FA, o captchas que puedan ser resueltos por un modelo de GenAI. De esto, vimos el ejemplo de cómo saltarse los captchas cognitivos en la administración española con ChatGPT y después Cómo utilizar LLMs para saltarse el Captcha Cognitivo de Twitter. Puedes ir a una página de la administración pública y encontrarte algo como esto:
Y en este caso, como os podéis imaginar, basta con preguntarle a ChatGPT para que nos de la respuesta correcta.
9.- LLM-advised resource development: Utilizar los LLMs para hacer herramientas de hacking, para crear paneles de control, para evolucionar droppers, etcétera. Un Copilot para hacer software malicioso.
En la presentación de "Exploring the Capabilities of ChatGPT for Developing Malware" hecha el año pasado, se explica cómo utilizar ChatGPT para crear y ofuscar malware avanzando. desde troyanos hasta nuevos ransomware.
de Sergio de los Santos en 0xWord
Conclusiones Finales
Por supuesto, todas estas técnicas se han descubierto - y se bloquean - en modelos LLMs corriendo en la nube o SaaS como GPT4 o similares, pero modelos como WormGPT, FraudGPT o cualquier otro SLM o LLM entrenado con datos propios recogidos en Internet, no serían nunca detectados, así que es de esperar que el mundo del cibercrimen, y los países que quieran hacer uso de estos modelos para ciberespionaje o ciberguerra tengan sus modelos entrenados por ellos.
Por último, hay que hacer notar que estos modelos vienen con el Harmfull Mode protegido, así que para conseguir hacer el jailbreak de estos modelos, con alguna de las técnicas que os he ido compartiendo por aquí. Tenéis mucha información en el artículo: "Jailbreaking LLMs con Fuzzing, LLMs o interrogación coercitiva: Aproximaciones para que un LLM ayude a los malos" y que por supuesto también se pueden detectar del otro lado.
Por supuesto, para herramientas de Pentesting son perfectos, así que más vale que nos acostumbremos a utilizarlos en nuestro día a día. Yo le hice una entrevista de trabajo a ChatGPT como Penteseter, y no lo hizo mal del todo, pero tampoco bien del todo, así que la labor del pentester es usar estos LLMs como Copilot aún.
Y por último, hay que entender que los LLMs son también fuentes de problemas y vulnerabilidades. De eso os he hablado mucho en el artículo de "Los 10 problemas de seguridad más importantes de ChatGPT, Bard, Llama y apps que usan LLMs: OWASP Top 10 para LLM Apps versión 1.0.1", tenéis una demo de cómo atacar estas arquitecturas RAG con plugins en el artículo "GenAI Apps & Services: Cómo explotar arquitecturas RAG con Plugins Inseguros", y cómo atacar LLM Apps & Services en la charla de "Hacker & Developer in the Age of GenAI LLM Apps & Services".
¡Saludos Malignos!
Autor: Chema Alonso (Contactar con Chema Alonso)
No hay comentarios:
Publicar un comentario