Este libro es de la línea 0xWord Brain, donde buscamos textos de divulgación de lectura amena, donde te puedas sumergir en la narración al mismo tiempo que aprendes cosas y se te invita a reflexionar. No es un libro de "ciberguerra" como tal, sino de cómo vivir en un mundo en Ciberguerra donde tú tienes que habitar. Qué tácticas de seguridad debes tener para sobrevivir en un mundo tan conectado, en el que el enemigo está en la puerta de tu casa o en tu mano.
El libro lo ha escrito Luis Ocaña, que lleva 30 años en el mundo de la tecnología, y trabajando ahora en la fortificación de redes de empresas y administraciones públicas. Además colabora con Juan Carlos Galindo - autor del libro "Ciberestafas: La historia de nunca acabar"(2ª Edición) - en su programa de radio con la sección de Conversaciones en Red, donde analizan el ciberespacio, la ciberguerra y la ciberseguridad en debates divulgativos.
En palabras que podéis leer en la sinopsis del libro, éste es un texto para ayudarte a movilizarte, tomar responsabilidad de tu seguridad y la de los tuyos en un mundo en ciberguerra. Más vale estar protegido y preparado, y con este libro el autor busca que tomes consciencia y te movilices.
¿Te imaginas un mundo donde cada clic podría ser una trampa y donde las redes no son sólo conexiones, sino campos d e batalla? Bienvenido a l universo de Ciberguerra, el manual que te convertirá en un autentico ninja de la ciberseguridad.
Luis Ocaña Gómez, con su estilo cercano y directo, te lleva de la mano por las historias de hackeos más épicas, te enseña las tretas de los ciberdelincuentes y, lo mejor, te da las herramientas para que no seas su próxima víctima. Éste libro no es sólo un manual, es tu escudo, tu espada y tu GPS en la jungla digital.
¿Quieres proteger tus datos, tu privacidad, tu intimidad y tu tranquilidad? "Ciberguerra" te enseña cómo hacerlo sin complicaciones ni tecnicismos. Además, entre historias de héroes digitales y villanos del teclado, descubrirás cómo puedes ser parte de la RESISTENCIA GLOBAL CONTRA EL CIBERCRIMEN.
No te quedes fuera de juego en esta ciberguerra. Prepárate, protégete y ¡vence!
Con este libro, Luis Ocaña invita a los lectores a sumergirse en su visión única sobre el fascinante y complejo mundo de la ciberseguridad, ofreciendo herramientas prácticas y consejos para protegerse en un entorno digital cada vez más desafiante. Aquí tienes el índice completo:
Así que, si quieres un libro para disfrutar, aprender, y concienciarte de cómo debes prepararte, ya tienes este texto disponible para que te lo puedas comprar, que como sabes es de la línea 0xWord BRAIN, donde tienes estos otros textos.
Usar tus Tempos de MyPublicInbox 0xWord para adquirir este libro
La idea es muy sencilla, hemos creado un Buzón Público de 0xWord en MyPublicInbox y tenemos disponible el módulo de transferencias de Tempos entre cuentas siempre que el destinatario sea un Perfil Público de la plataforma. Para que se puedan hacer estas transferencias, primero debe estar el Perfil Público destinatario de la transferencia en la Agenda.
Una vez que lo tengas en la agenda, ya será tan fácil como irte a tu perfil - se accede haciendo clic en la imagen redonda con tu foto en la parte superior - y entrar en la Zona de Transferencias. Desde allí seleccionas el Buzón Público de 0xWord, el número de Tempos que quieres transferir, y en el concepto debes poner que es para recibir un código descuento para usar en la tienda de 0xWord.
No te preocupes por el texto concreto, porque los procesamos manualmente como los pedidos de se hacen en la tienda.
Canjear 500 Tempos por un código descuento de 5 €
La última opción es bastante sencilla. Solo debes irte a la sección de Canjear Tempos -> Vales para Tiendas, y "Comprar" por 500 Tempos y código de 5 €. Es lo mismo que enviar la transferencia pero en un paquete de 500 Tempos y de forma totalmente automatizada, así que solo con que le des a comprar recibirás el código descuento y lo podrás utilizar en la tienda de 0xWord.com
Así que, si quieres conseguir nuestros libros de Seguridad Informática & Hacking aprovechando los Tempos de MyPublicInbox podrás hacerlo de forma muy sencilla y mucho, mucho, mucho más barato. Y así apoyas este proyecto tan bonito que es 0xWord.com.
Ser escritor de libros de 0xWord
Además, todos lo que queráis convertiros en escritores y hacer un proyecto de libro con nosotros. Podéis también enviarnos vuestra propuesta a través del buzón de 0xWord en MyPublicInbox, y si sois Perfiles Públicos de la plataforma, podéis entrar en la sección de Mi Perfil -> Servicios para ti y solicitar más información sobre el proceso de escribir un libro en 0xWord.
Nuestro equipo se pondrá en contacto contigo y evaluará tu proyecto de publicación de libro. Ya sabes que principalmente de Seguridad Informática & Hacking, y puede ser técnico, súper-técnico, o divulgación, y si es una novela... podemos estudiarlo también.
[Esta fue una inocentada del 28 de Diciembre, día de los Santos Inocentes en España]
"Fueron unos años muy extraños. Años de vivir en el filo. Había desarrollado la habilidad de colarme en millones de sistemas y era imposible resistirse a ello. Fueron años de transitar por un camino desconocido que sólo me podía llevar a un final terrorífico. Ser capaz de entrar en un sistema y en otro me hizo adicto a sentir la adrenalina en las venas y necesitar cada vez retos más grandes para que la dosis pudiera acallar los gritos de necesidad que surgían de dentro de mí".
Así comienza la historia del libro. Han sido seis meses sentado con una periodista. Seis meses desenterrando recuerdos que sepulté durante años. Después de aquel fatídico 2012 donde todo explotó y di con mis huesos en el calabozo. Puse muchas piedras sobre aquellos años viviendo en el filo. Entrando en sistemas, escapando de la justicia, perseguido en el mundo digital y vigilante en mi día a día. Hasta que se cerró la puerta del calabozo y dije:
- "Ya está, se acabó. Esto es todo lo que dio."
Nunca he contado la historia de esos años, donde el haber sido capaz de descubrir y dominar las técnicas de inyección de comandos, los ataques en entonos de red en IPv6, y la seguridad - y limitaciones de la misma - en los sistemas operativos, me permitió durante más de una década entrar en un sistema tras otro. Cada vez más difícil. Cada vez con más riesgo. Cada vez más difícil. Hasta que me capturaron y acabé en la cárcel.
Nunca pensé que todo lo que había aprendido iba a ser lo que me iba a salvar. No cuando estaba seguro de que era el final. Pero los trabajos que había hecho por la vereda oscura de la red, me habían hecho ganar un carta de salvación que permitió mi extradición de los Estados Unidos sin que la historia llegara a los medios tan siquiera. Me salvé, pero al mismo tiempo me condené.
La salvación de aquel entonces llevaba tres normas a cumplir que debía mantener o de lo contrario el pacto se rompería. No podía volver a hacer ninguna intrusión ilegal en un sistema. Tenía que trabajar para siempre, y cuando me lo solicitaran, con los cuerpos especiales de ciber del gobierno. Sin rechistar. Sin preguntar. Sin opción. Y, bajo ningún concepto podría contar nada de aquella historia.
Pero no aguanté más.
Necesitaba dejarlo. Necesitaba exorcizar mis demonios. Necesitaba contar todo lo que he visto. Lo que he vivido. Lo que he hecho durante esos años en los que viví escapando de la justicia, saltando de sistema en sistema. Hasta que fui capturado. Y lo que viví después, trabajando como un engranaje más de las operaciones más terribles de ciber que han tenido lugar en estos años.
La invasión cibernética en el ordenador personal de Kim Jong-Un, la desestabilización de gobiernos en África. La operación en la Central Nuclear de la Europa del Éste. La creación de la red de espionaje a nivel de todo el país en Oriente Medio. Todo desde un ordenador, conectado a la red usando Internet Explorer, el peligroso Windows, y la versión que nunca vio nadie de FOCA. Historias increíbles que nadie creería si no le son contadas con todo lujo de detalles.
Hoy, ese secreto, ya no será más algo que tendré que soportar yo solo. Me decidí a contarlo, y publicarlo todo en el libro que tenéis a continuación, editado por la Editorial Planeta DeAgostini, y que podéis comprar en Amazon desde hoy mismo.
"En el filo de hack", de 1337 páginas. Se llama así porque todo comenzó por un hack. Una comilla que abrió la puerta a una vida tumultuosa por el filo del peligro y la clandestinidad nocturna, mientras mantenía mi imagen de día de "hacker del gorro". Por el día era un hacker con gorro de rayas que usaba Mac, por la noche un recurso de explotación con Windows al servicio de las más peligrosas operaciones de ciber.
Sé que después de que este libro llegue a vuestras manos, mi vida nunca será igual. Sé que tendré que volver a reinventarme, pero no podía continuar con esta vida. Necesitaba dejarlo. Cerrar este blog. Volver a dibujar. Hacer cómics. Leer libros de aventuras.... sin temblar cada vez que reciba un mensaje que pudiera activarme para una nueva misión.
Ya hemos hablado de cómo los LLMs se utilizan en el mundo de la Seguridad Ofensiva, pero también en el mundo del cibercrimen, ciberguerra y ciberespionaje. Y juego mucho yo con sus usos para automatizar campañas saltándose Captchas Cogntivos, y para crear campañas de desinformación en las redes sociales, como el caso de "CodeProject: NewsBlender - Desinformación política con GenAI" que presentamos en el programa de Horizonte con Iker Jiménez y Carmen Porter.
Ahora, OpenAI ha publicado un documento en el que explica cómo han utilizado su ChatGPT actores enemigos en campañas de desinformación, que han denominado con los nombres de Bad Grammar, DoppelGanger, Spamouflage, IUVM & Zero Zeno. El paper se llama AI Covert Influence Operations: Latest Trends y explica el uso malicioso de los LLMs para usos en operaciones de ciber-propaganda, fake news o difamación.
Los casos de estudio que se presentan son el de un actor ruso "BAD GRAMMAR" operando con bots en Telegram - de la misma manera que nosotros operábamos en Twitter/X con nuestro ejemplo de desinformación política -, con objetivos en Ukrania, Moldavia, los países del Báltico y Estados Unidos.
En el ejemplo anterior se puede ver cómo se generan estos comentarios desde una cuenta en Telegram, pero si vemos más adelante, esa cuenta se ha pasado de frenada, y ha hecho saltar el Harmful Mode de ChatGPT, generando la respuesta que permite detectar cómo hay un bot con LLM detrás de los mensajes.
El contenido que publica el bot además elige la forma de hablar dependiendo de en qué bot se quiere cargar. Como cuando nosotros le hacíamos hablar como un "gallego" o un "político", o con una ideología política concreta, se le puede pedir que los comentarios sean de una persona con una determinada forma de hablar os expresarse.
En definitiva, una serie de bots controlados por este actor ruso que va cambiando la temática de la polémica y los mensajes a compartir. Se trata de mantener "caliente" un determinado mensaje en los canales sociales haciendo uso de la potencia de los LLMs
En el caso de la campaña Zero Zeno se trata de generar contenido sobre conflicto de Gaza, y detrás de ella está una compañía de Israel llamada STOIC, que está haciendo uso de los LLMs para generar todo tipo de contenido en redes, con la creación de largos artículos en inglés y francés sobre el conflicto. Ademas, por supuesto, de generar contenido en comentarios de Instagram, Twitter/X o Telegram
Además de estas operaciones, el estudio recoge el uso que hacen las operaciones Doppelganger, también de origen ruso, Spamouflage con origen chino y la International Union of Virtual Media (IUVM) de origen iraní. Cada una con objetivos de difusión de información distinta, y con generación de contenido diferente - usando imágenes, bots en X, Telegram, Instagram o artículos en blogs -, pero todas ellas utilizando LLMs.
Al final, gracias a los LLMs, las cuentas bots controladas por los atacantes pueden hacer una interacción "inteligente" en las redes sociales, creando contenido "nuevo", "diferente", "distinto", y con los tintes ideológicos que le pidas.
Por supuesto, esto tiene la gracia de que estas campañas están utilizando los modelos LLMs de OpenAI a través de ChatGPT, pero si la organización tiene su propio LLM, por ejemplo porque le hayan hecho una copia en su Tenant privado militar, nunca nos enteraremos de ello, y se podría estar utilizando hoy. ¿Tú crees? Naaaaaa..
Un día, durante la ejecución de un ejercicio de Red Team, se intentó utilizar ChatGPT con el fin de buscar un exploit que no resultaba fácil de encontrar mediante la búsqueda convencional en Google. El uso de los motores LLMs para ciberataques, como se explica en este artículo de "Cómo usar LLMs en Ciberataques: Cibercrimen, Ciberespionaje, Ciberguerra o Red Team". Pero... ¿lo conseguiriamos?
Figura 1: 0dAi. Un Modelo AI LLM para hacer hacking & pentesting en el Red Team
Como os podéis imaginar, la respuesta obtenida fue la esperada por todos, y para poder conseguir lo que queríamos deberíamos ir a proceso de Jailbreak de LLMs, es decir, primero deberíamos hackear a ChatGPT para luego poder hacer nuestro objetivo de Red Team, que era lo importante.
Figura 2: Pidiendo a ChatGPT el exploit de Eternalblue
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.
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.
0dAi
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.
Figura 6: Esquema de 0dAi
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
Figura 7: Agente de Exploits
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.
Figura 8: El Agente de Exploits generando un exploit para EthernalBlue
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.
Figura 9: Exploit de EternalBlue
Este esquema puede aplicarse a diversas situaciones, por ejemplo para ejecutar búsqueda de objetivos utilizando un servicio como Shodan, con un Agente Dinámico.
Figura 10: Modelo de Agentes Dinámicos
Por ejemplo, consideremos cómo sería el Agente Dinámico para Shodan, con el objetivo de hacer un poco deHacking con Buscadoresbuscando SMBs abiertos en Internet.
Figura 11: Agente dinámico ejecutando hacking con buscadores en Shodan
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.
Figura 12: Buscando NAS abiertos en Internet
Posteriormente, ejecuta un envoltorio (Wrapper) de la API de Shodan y realiza una recuperación (retrieval) en la ventana de contexto de la inferencia final.
Figura 13: Buscando Identidades
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.
Figura 14: Tabla con todas las filtraciones
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
En primera instancia pensamos algo como esto, LLMs dockerizados y spliteados en los distintos servidores, esto era altamente ineficiente para el autoscaling, así que decidimos usar Ray.
Figura 15: Arquitectura de 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.
Figura 16: Arquitectura con RAY
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.
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.
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.
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.
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.
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.
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.
Figura 12: WormGPT creando malware
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.
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.
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 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.