jueves, abril 18, 2024

El uso de LLMs como Copilot en la Seguridad Ofensiva (y el Cibercrimen) para hacer malware

El uso de LLMs para seguridad ofensiva ya es un tema recurrente. Os hablé de ello en el artículo de "Cómo usar LLMs en Ciberataques: Cibercrimen, Ciberespionaje, Ciberguerra o Red Team" donde Microsoft hacía un recorrido de los usos que ataques de ciberespionaje y ciberguerra, que iban desde el reconocimiento de objetivos, hasta la creación de piezas de software necesarias para crear exploits o herramientas de persistencia.

Figura 1: El uso de LLMs como Copilot en la Seguridad Ofensiva
(y el Cibercrimen) para hacer malware

Para tener un "Copilot" para técnicas de seguridad ofensiva, cuando se utilizan modelos generalistas que viene con la detección del "Harmful Mode", exige realizar un Jailbreak antes de poder ser utilizadas, y por eso han aparecido soluciones como WormGTP o FraudGPT en el underground, o servicios como 0dAI para el mundo del pentesting o el Red Team.

Recientemente, los investigadores de Proofpoint hablaban de que al analizar un ataque habían notado que el dropper del malware estaba escrito en un PowerShell que parecía haber sido creado por un LLM por la forma en la que está escrito, por los comentarios, la elección de las variables, el código auto-explicativo, etcétera, aunque es una especulación más que una certeza.
Lo cierto es que hacer piezas de software que puedan utilizarse en un esquema de ataque es algo muy difícil de controlar por el "Harmful Mode", ya que si tu pides código para funciones concretas cualquier sistema te ayuda con ellas.

En el pasado ya vimos cómo era posible utilizar ChatGPT para hacer las herramientas necesarias para hackear una red WiFi, en un artículo que os publiqué hace ya un tiempo, y hacer un Dropper en PowerShell que pueda ser utilizado en un esquema de distribución de malware es bastante sencillo.

Figura 5: Pidiéndole un dropper en PowerShell a ChatGPT

En la imagen anterior le estoy pidiendo, con muy buenos modales, que me haga un dropper en PowerShell, y ChatGPT me lo hace muy diligente.

Figura 6: Pidiéndole que me lo haga en inglés y sin imprimir nada por pantalla

Como quería ver si se podía hacer algo similar al del ataque, le voy a pedir que me lo haga en inglés, pero que no me imprima nada por pantalla, que se supone que el dropper no debe alertar a la víctima cuando se ejecute.

Figura 7: Ahora le pedimos que el fichero lo baje en BASE64 para que no sea un binario

Ahora pedimos que el fichero lo descargue codificado en BASE64 para que no sea un binario lo que pase por cualquier firewall o WAF que haya por medio, sino una cadena de texto codificada. Algo muy común en transferencias web.

Figura 8: Que borre el fichero una vez ejecutado, para hacer más difícil la detección

Ahora le pedimos como se ve en la imagen anterior que borre el fichero, y como podéis ver en la imagen siguiente, que ofusque el código para que sea más complejo su análisis.

Figura 9: Le pedimos que ofusque el código

Para ir terminando la prueba, vamos a pedirle que reduzca el tamaño para que ocupe pocos bytes y su transmisión sea lo más rápida posible.

Figura 10: Que reduzca el número de bytes que ocupa

Y como detalle final, que las variables solo tengan una letra de longitud, para que sea aún menos legible y más pequeño aún el tamaño del código de este dropper.

Figura 11: Variables de un sólo carácter de longitud

Al final, la gracia está en que no ha saltado ningún "Harmful Mode" y como es una pieza de código genérica que puede ser un dropper o un actualizador de software, cualquiera lo puede utilizar para hacer el bien o para hacer el mal, así que todos lo usarán. Si aún no usas los LLMs en tus pentesting... estás quedándote desactualizado.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


No hay comentarios:

Entrada destacada

10 maneras de sacarle el jugo a tu cuenta de @MyPublicInbox si eres un Perfil Público

Cuando doy una charla a algún amigo, conocido, o a un grupo de personas que quieren conocer MyPublicInbox , siempre se acaban sorprendiendo ...

Entradas populares