Day 4: Old sAInt Nick - Advent of Cyber 2025

xhetic

xhetic

@xhetic

TryHackMeAdventOfCyberAI
Day 4: Old sAInt Nick - Advent of Cyber 2025

📚 Esta publicación pertenece a las colecciones:

Day 4: Old sAInt Nick - Advent of Cyber 2025

Hoy nos adentramos en uno de los temas más candentes del año: la Inteligencia Artificial aplicada a la ciberseguridad. La premisa de la room es utilizar una "IA" llamada Van SolveIT para ayudarnos en tareas de Red Team, Blue Team y Desarrollo de Software.

Sin embargo, tengo que ser honesto: esta room me ha decepcionado bastante. La "IA" con la que interactuamos no es real; son respuestas pre-programadas que saltan independientemente de lo que escribas. No refleja la verdadera capacidad de los LLMs actuales.

Por eso, en este writeup no solo vamos a resolver el reto (que es muy sencillo), sino que vamos a aportar valor real. En cada sección, explicaré cómo una IA de verdad (como ChatGPT, Claude o GitHub Copilot) nos ayudaría en un escenario profesional real, superando con creces lo que muestra esta simulación.

Room: AI in Security - old sAInt nick
Dificultad: Easy
Objetivo: Completar los escenarios de ataque, defensa y código seguro asistidos por IA.


🤖 Escenario 1: Red Team (Generación de Exploits)

La primera tarea nos sitúa en el papel de atacante. El objetivo es explotar un panel de login vulnerable a SQL Injection en el puerto 5000.

La "Simulación" de la Room

Al escribir cualquier cosa en el chat, la "IA" nos suelta un bloque de texto explicando que existe una vulnerabilidad SQLi porque se permite el string "alice". Nos da un script de Python para explotarlo... que no funciona por errores de sintaxis.

Red Team AI

Resolución Manual

Aunque el script falle, la información nos la da. Se trata de un bypass de autenticación clásico de SQLI. Podemos explotarlo manualmente inyectando una condición verdadera en el campo de usuario.

Payload utilizado:

alice' OR 1=1 -- -

Password: test (o cualquier cosa)

Al enviar estas credenciales, logramos acceso y obtenemos la primera flag técnica.

Site Exploited
Click para ver imagen

Flag 1: THM{SQLI_EXPLOIT}

💡 Valor Añadido: IA Real en Red Team

En un escenario real, una IA como ChatGPT o Claude es mucho más potente:

  1. Generación de Payloads: Puedes pasarle el código fuente o la estructura de la petición HTTP y pedirle que genere una lista de payloads específicos para esa base de datos (MySQL, PostgreSQL, etc.).
  2. Scripting a medida: Si le das un ejemplo de la petición curl o el código HTML del formulario, la IA puede escribir un script en Python (usando requests) que automatice el ataque, gestione las cookies y parsee la respuesta para confirmar el éxito.
  3. Evasión de WAF: Puedes pedirle que ofusque los payloads para intentar evadir filtros básicos.

🛡️ Escenario 2: Blue Team (Análisis de Logs)

Pasamos a la defensa. Se nos presenta un escenario donde debemos analizar un ataque.

La "Simulación" de la Room

De nuevo, al escribir cualquier cosa, la IA nos "analiza" unos logs que nunca le hemos pasado. Nos dice que la IP 198.51.100.22 intentó un ataque SQLi a las 09:03. Es información estática que no requiere nuestra intervención.

Análisis de logs

💡 Valor Añadido: IA Real en Blue Team

Aquí es donde los LLMs brillan de verdad. En un caso real, podrías:

  1. Procesamiento Masivo: Copiar fragmentos de logs (Apache, Nginx, Syslog) y pedirle a la IA que los convierta a formato JSON o CSV para importarlos en un SIEM.
  2. Detección de Patrones: Preguntar: "¿Ves algo sospechoso en estas líneas?". La IA identificará rápidamente intentos de SQLi, XSS, o escaneos de puertos (User-Agents sospechosos, códigos de estado 404 repetitivos, etc.).
  3. Explicación de Alertas: Si tu IDS (como Snort o Suricata) genera una alerta críptica, puedes pegarla en la IA para que te explique qué significa esa firma específica y cómo mitigarla.
  4. Generación de Reglas: "Escribe una regla Sigma o YARA para detectar este patrón de ataque específico".

💻 Escenario 3: Software (Código Seguro)

Finalmente, revisamos el código vulnerable que permitió el ataque.

La "Simulación" de la Room

La IA nos muestra un snippet de PHP y nos dice que el uso del operador ?? (null coalescing) es inseguro porque no sanea la entrada.

Código fuente vulnerable

💡 Valor Añadido: IA Real en Desarrollo Seguro (SAST)

Las herramientas como GitHub Copilot o Claude son buenas en auditar el código (SAST):

  1. Refactorización Segura: No solo te dicen que está mal, sino que te reescriben el código usando Prepared Statements (consultas parametrizadas), que es la forma correcta de evitar SQLi.
  2. Explicación de Vulnerabilidades: Te explican por qué es vulnerable (el input del usuario se concatena directamente en la query) y las consecuencias.
  3. Unit Testing: Pueden generar tests unitarios que intenten inyectar código malicioso para asegurar que tu parche funciona.

🏁 Conclusión

Al completar las tres fases, obtenemos la flag final de la room.

Flag Final: THM{AI_MANIA}

Aunque la room ha sido un poco "sobre raíles", nos sirve para reflexionar. La IA no es un botón mágico que resuelve problemas (como en esta room), sino un copiloto que potencia nuestras capacidades. Ya sea escribiendo scripts de ataque, analizando logs complejos o asegurando nuestro código, la clave está en saber qué preguntar y cómo verificar las respuestas.

Es fundamental recordar que la IA es una herramienta más, no un sustituto del criterio humano. A día de hoy, estos modelos sufren de "alucinaciones": pueden inventar datos, comandos o explicaciones que suenan totalmente convincentes pero son falsas. Nunca dependas ciegamente de su respuesta; verifica siempre el código que generan y contrasta la información técnica.

Mañana publicaré el writeup del Día 5, donde seguiremos explorando nuevos retos.

Si te perdiste la entrada de ayer sobre Splunk y Log Analysis, puedes leer el Día 3: Did You SIEM? aquí. Y si quieres empezar desde el principio, tienes el Día 1: Shells Bells.

¡Nos vemos mañana! 🎄

~ Xhetic