Cybersecurity · Week 05

AI-Powered
Threat Detection

Del SIEM tradicional al SOC inteligente: aprende a recopilar telemetría, detectar amenazas, construir detecciones, aplicar Machine Learning, correlacionar eventos y utilizar IA para acelerar la investigación de incidentes.

⏱ 15–20 horas 🎯 Nivel avanzado 🖥 Linux 🌐 Networking 🤖 AI / ML 🛡 SOC / SIEM
01 · Learning Objectives

Objetivos de la semana

Hasta ahora hemos trabajado conceptos fundamentales de ciberseguridad y análisis de amenazas. En esta semana damos un salto importante: vamos a construir mentalmente y técnicamente un sistema capaz de observar una infraestructura, detectar comportamientos sospechosos y generar información accionable para un analista.

01 · Telemetría

Comprender qué datos necesita un sistema de detección y cómo obtenerlos desde endpoints, redes, servidores y aplicaciones.

02 · SIEM

Entender cómo funcionan la ingesta, normalización, correlación, almacenamiento, búsqueda y alertado.

03 · Detection Engineering

Aprender a transformar comportamientos maliciosos en reglas y detecciones reproducibles.

04 · Machine Learning

Utilizar modelos de detección de anomalías como Isolation Forest para complementar las reglas.

05 · Network Security Monitoring

Utilizar Zeek y Suricata para obtener visibilidad sobre las comunicaciones de red.

06 · AI SOC

Introducir LLMs como asistentes para investigación, triage, correlación y generación de contexto.

Resultado esperado

Al finalizar esta semana deberías ser capaz de diseñar una arquitectura en la que los datos de endpoints y red lleguen a un sistema central, sean analizados mediante reglas y modelos de ML y terminen en una alerta enriquecida que pueda ser investigada por un analista humano o asistido por IA.

02 · Security Operations Center

¿Qué es realmente un SOC?

Un SOC no es simplemente un dashboard lleno de alertas. Es un sistema operativo de seguridad compuesto por personas, procesos, tecnología, datos y procedimientos de respuesta.

La visión simplista

Logs
  ↓
SIEM
  ↓
Alertas
  ↓
Analista

Esta arquitectura es incompleta. Un SOC moderno necesita mucho más contexto.

Arquitectura moderna

                     ┌──────────────────────┐
                     │      ENDPOINTS       │
                     │ Linux / Windows / VM │
                     └──────────┬───────────┘
                                │
                                ▼
                     ┌──────────────────────┐
                     │      TELEMETRY       │
                     │ Logs / Events / FIM   │
                     └──────────┬───────────┘
                                │
              ┌─────────────────┼─────────────────┐
              │                 │                 │
              ▼                 ▼                 ▼
           WAZUH              ZEEK            SURICATA
          Endpoint             NSM               IDS
              │                 │                 │
              └─────────────────┼─────────────────┘
                                ▼
                       ┌────────────────┐
                       │      SIEM      │
                       └───────┬────────┘
                               │
                    ┌──────────┴──────────┐
                    ▼                     ▼
                 RULES                   ML
                    │                     │
                    └──────────┬──────────┘
                               ▼
                         CORRELATION
                               │
                               ▼
                         RISK SCORE
                               │
                               ▼
                         AI ASSISTANT
                               │
                               ▼
                          ANALYST
                               │
                               ▼
                            SOAR
                               │
                               ▼
                           RESPONSE

SIEM, SOAR, XDR y UEBA

Tecnología Pregunta que responde
SIEM ¿Qué está ocurriendo en mi infraestructura?
SOAR ¿Qué acciones puedo automatizar?
XDR ¿Cómo correlaciono señales de distintos dominios?
UEBA ¿Qué comportamiento es anómalo para este usuario o entidad?
AI Assistant ¿Cómo puedo investigar y comprender el incidente más rápido?
Idea fundamental

La IA no sustituye al SIEM. La IA se coloca encima de una infraestructura de datos y seguridad correctamente diseñada.

Garbage In → Garbage Out

Si nuestra telemetría es pobre, la IA no puede hacer magia.

03 · Telemetry

La materia prima de la detección

Un sistema de seguridad solamente puede detectar aquello que tiene suficiente información para observar. Por eso la arquitectura de telemetría es una de las decisiones más importantes de un SOC.

Fuentes principales

Endpoint

Procesos, usuarios, conexiones, cambios de archivos, servicios, autenticaciones y configuración.

Network

DNS, conexiones, HTTP, TLS, NetFlow, sesiones y protocolos observados.

Identity

Login, logout, MFA, privilegios, grupos, cambios de credenciales y accesos.

Applications

Errores, autenticaciones, operaciones sensibles, APIs y transacciones.

Cloud

API calls, IAM, cambios de infraestructura, objetos y actividad administrativa.

Security Controls

Firewall, IDS/IPS, EDR, WAF, VPN, proxy y otros controles.

Ejemplo: un login

Supongamos que aparece este evento:


2026-08-29 03:14:21
user=admin
source_ip=185.42.10.21
action=login
result=success

¿Es malicioso? No podemos saberlo todavía.

Necesitamos contexto:

  • ¿Dónde estaba el usuario?
  • ¿Es habitual que utilice esa IP?
  • ¿Es habitual que acceda a esa hora?
  • ¿Qué dispositivo utilizó?
  • ¿Hubo MFA?
  • ¿Qué hizo después del login?
  • ¿La IP tiene reputación negativa?
  • ¿Hubo otros usuarios comprometidos?

Esto introduce uno de los conceptos más importantes del SOC:

Un evento no es necesariamente un incidente.

Un incidente aparece cuando combinamos eventos, contexto, riesgo y comportamiento.

04 · Wazuh

Construyendo el núcleo SIEM/XDR

Wazuh será una de las piezas principales de nuestro laboratorio. Es una plataforma open source que combina capacidades SIEM y XDR, utilizando agentes y componentes centrales para recopilar, analizar, indexar y visualizar eventos.

La arquitectura central actual está compuesta por:

Endpoint
   │
   ▼
Wazuh Agent
   │
   ▼
Wazuh Server
   │
   ▼
Wazuh Indexer
   │
   ▼
Wazuh Dashboard

El servidor analiza eventos mediante decoders y rules, mientras que el indexador almacena la información para posteriores búsquedas y visualización. :contentReference[oaicite:1]{index=1}

¿Qué recopila el agente?

  • Logs de sistema
  • Eventos de aplicaciones
  • File Integrity Monitoring
  • Inventario
  • Configuración
  • Vulnerabilidades
  • Eventos de seguridad

La arquitectura modular del agente permite configurar diferentes fuentes de datos y capacidades de monitorización. :contentReference[oaicite:2]{index=2}

Instalación para el laboratorio

Para el laboratorio puedes utilizar una VM Linux dedicada. Una instalación all-in-one es especialmente apropiada para entornos de laboratorio y pequeñas instalaciones. :contentReference[oaicite:3]{index=3}


# Comprobar sistema
uname -a

# Comprobar memoria
free -h

# Comprobar almacenamiento
df -h

# Comprobar CPU
nproc

La documentación oficial de Wazuh proporciona un asistente de instalación para desplegar los componentes centrales.


# Ejemplo conceptual

curl -sO <WAZUH_INSTALLER>

sudo bash <WAZUH_INSTALLER>
Importante

No copies comandos de instalación de Internet sin verificar la documentación y versión correspondiente. En producción, la versión exacta, requisitos, certificados y arquitectura deben formar parte del diseño.

Puertos que debes conocer

Puerto Uso
1514/TCP Comunicación de agentes
1515/TCP Enrollment de agentes
514 Syslog
55000/TCP API de Wazuh
9200/TCP Indexer API
443/TCP Dashboard

Estos son puertos habituales de la arquitectura y pueden modificarse según la configuración. :contentReference[oaicite:4]{index=4}

Ejercicio rápido

Pregunta

¿Por qué no deberíamos exponer directamente el puerto del indexador a Internet?

Ver resolución

Porque el indexador contiene datos de seguridad potencialmente muy sensibles y proporciona una interfaz de consulta. Debe quedar en una red protegida y accesible únicamente por los componentes que necesiten comunicarse con él.

La arquitectura correcta debería utilizar segmentación, firewall, autenticación, cifrado y controles de acceso.

05 · Network Security Monitoring

Zeek: observar la red

Zeek es un analizador pasivo de tráfico de red utilizado ampliamente para Network Security Monitoring. Una de sus grandes ventajas es que convierte tráfico observado en logs estructurados que pueden ser utilizados por sistemas de análisis externos.

Entre sus registros podemos encontrar información relacionada con conexiones, DNS, HTTP, TLS y otros protocolos. :contentReference[oaicite:5]{index=5}

Modelo mental

Network Traffic
       │
       ▼
     Zeek
       │
       ├── conn.log
       ├── dns.log
       ├── http.log
       ├── ssl.log
       └── files.log
             │
             ▼
            SIEM

Ejemplo de conn.log


ts
uid
id.orig_h
id.orig_p
id.resp_h
id.resp_p
proto
service
duration
orig_bytes
resp_bytes

Imagina que un servidor interno comienza a generar:


10.10.20.15 → 185.10.20.30:443
10.10.20.15 → 185.10.20.31:443
10.10.20.15 → 185.10.20.32:443
...
10.10.20.15 → 185.10.20.99:443

Una conexión HTTPS no es necesariamente sospechosa. Pero el patrón puede serlo.

Detección basada en comportamiento

La pregunta no es solamente:

"¿Esta conexión es maliciosa?"

Sino:

"¿Es normal que este host se comporte así?"

06 · IDS / IPS

Suricata: detección basada en firmas y eventos

Suricata complementa a Zeek aportando capacidades IDS/IPS y generación de eventos estructurados.

Arquitectura conceptual

Traffic
   │
   ▼
Suricata
   │
   ├── Alerts
   ├── DNS
   ├── HTTP
   ├── TLS
   ├── Flow
   └── Anomalies
          │
          ▼
       eve.json
          │
          ▼
         SIEM

EVE permite generar eventos en JSON y puede incluir alertas, flujos, metadatos y eventos específicos de protocolo. :contentReference[oaicite:6]{index=6}

Ejemplo


{
  "event_type": "alert",
  "src_ip": "10.10.10.20",
  "dest_ip": "203.0.113.50",
  "src_port": 49120,
  "dest_port": 80,
  "proto": "TCP",
  "alert": {
    "severity": 2,
    "signature": "Suspicious HTTP Activity"
  }
}

¿Zeek o Suricata?

Zeek Suricata
Visibilidad de red IDS/IPS
Network metadata Signature detection
Investigación Alertas
Protocol analysis Threat signatures

En una arquitectura madura no necesariamente tenemos que elegir uno u otro. Podemos utilizar ambos.

07 · Detection Engineering

Diseñar detecciones

Detection Engineering consiste en convertir conocimiento sobre amenazas en detecciones que puedan ejecutarse automáticamente sobre la telemetría disponible.

IOC vs IOA

Concepto Ejemplo
IOC Hash de malware
IOC IP maliciosa
IOC Dominio conocido
IOA Proceso sospechoso
IOA Movimiento lateral
Behavior Patrón anómalo de usuario

Ejemplo: brute force SSH

Supongamos que vemos:


Failed password for admin
Failed password for admin
Failed password for admin
Failed password for admin
Failed password for admin
Failed password for admin

Successful login for admin

Una regla simple podría detectar:


IF

failed_logins >= 5

AND

successful_login == true

WITHIN

5 minutes

THEN

raise_high_severity_alert()

Pero hay un problema

¿Qué ocurre si un administrador se equivoca cinco veces?

Tendremos un falso positivo.

Por eso necesitamos contexto:


Risk =
    FailedAttempts
  + NewSourceIP
  + NewCountry
  + UnusualHour
  + PrivilegedAccount
  + ThreatIntel
  + PostLoginActivity

Detection as Code

Una detección madura debería poder versionarse.


detections/
│
├── ssh/
│   ├── brute_force.yml
│   └── unusual_login.yml
│
├── windows/
│   ├── powershell.yml
│   └── privilege_escalation.yml
│
└── network/
    ├── dns_tunneling.yml
    └── port_scan.yml

Esto permite utilizar Git, revisión por pares, testing y CI/CD también en Detection Engineering.

08 · Machine Learning

De las reglas a las anomalías

Las reglas son excelentes cuando conocemos el patrón. El Machine Learning resulta especialmente interesante cuando queremos encontrar comportamientos que no hemos descrito explícitamente.

Regla tradicional


IF failed_logins > 10
THEN alert

Detección estadística


IF login_count > normal_baseline + threshold
THEN suspicious

Machine Learning


Learn normal behavior
        ↓
Model behavior
        ↓
Detect deviations
        ↓
Generate anomaly score

Ejemplo de features

Feature Descripción
login_count Número de logins
unique_destinations Destinos distintos
bytes_out Bytes enviados
dns_requests Consultas DNS
failed_auth Fallos de autenticación
process_count Número de procesos

Isolation Forest

Isolation Forest es especialmente útil como algoritmo introductorio para anomaly detection. La idea fundamental es que los outliers suelen poder aislarse mediante menos particiones que los puntos normales. :contentReference[oaicite:7]{index=7}

Instalación


python3 -m venv venv

source venv/bin/activate

pip install numpy pandas scikit-learn matplotlib

Ejemplo práctico


import pandas as pd

from sklearn.ensemble import IsolationForest


df = pd.DataFrame({
    "login_count": [
        4, 5, 3, 6, 5,
        4, 5, 7, 6, 4,
        80
    ],

    "bytes_out": [
        1000, 1200, 900, 1100, 1300,
        1000, 950, 1250, 1000, 1150,
        950000
    ]
})


features = [
    "login_count",
    "bytes_out"
]


model = IsolationForest(
    contamination=0.05,
    random_state=42
)


model.fit(df[features])


df["prediction"] = model.predict(
    df[features]
)


df["anomaly_score"] = model.decision_function(
    df[features]
)


print(df)

Interpretación

Una salida aproximada podría mostrar:


login_count   bytes_out   prediction

4             1000        1
5             1200        1
3             900         1
6             1100        1
80            950000     -1

El valor -1 indica una observación clasificada como outlier por el modelo.

Advertencia crítica

Un outlier no significa automáticamente "ataque".

Puede ser:

  • Un ataque
  • Un backup
  • Una migración
  • Un administrador
  • Un nuevo servicio
  • Un cambio legítimo

El ML genera una señal. La investigación determina el significado.

09 · UEBA

Behavior Analytics

Una de las aplicaciones más interesantes de Machine Learning en ciberseguridad consiste en construir perfiles de comportamiento para usuarios y entidades.

Ejemplo

Tenemos un usuario:


Carlos

Normal:

08:00–18:00
Madrid
Laptop corporativo
VPN
20–50 operaciones/hora

Un día aparece:


03:17
New country
New device
New IP
850 file downloads
Multiple privilege changes

Ningún evento individual tiene por qué ser crítico. Pero juntos constituyen un patrón de alto riesgo.

Entity Risk Score


Risk Score =

    Authentication Risk
  + Device Risk
  + Network Risk
  + Behavior Risk
  + Threat Intelligence
  + Privilege Risk

El resultado podría ser:


USER: Carlos

Risk Score: 91/100

Authentication      20
Device              15
Network             18
Behavior            25
Privilege             8
Threat Intel          5
10 · Correlation

De eventos aislados a incidentes

La correlación es el mecanismo que transforma señales individuales en una historia de ataque.

Ejemplo completo

03:11

Login exitoso desde una IP desconocida.

03:13

Se crea una sesión privilegiada.

03:15

Se ejecuta PowerShell.

03:17

Se establece una conexión externa poco habitual.

03:20

Aumenta significativamente el volumen de tráfico.

03:23

El modelo de anomalías detecta desviación.

Sin correlación


Alert 1
Alert 2
Alert 3
Alert 4
Alert 5

Con correlación


Possible Account Compromise
        │
        ├── Unusual Login
        ├── Privilege Escalation
        ├── PowerShell
        ├── External Connection
        └── Data Transfer
                │
                ▼
        HIGH CONFIDENCE INCIDENT
11 · Threat Intelligence

Enrichment

Una alerta sin contexto puede obligar al analista a realizar muchas búsquedas manuales.

Podemos enriquecer automáticamente:


IP
 │
 ├── Reputation
 ├── ASN
 ├── Country
 ├── Organization
 ├── Known Abuse
 └── Threat Intelligence

Ejemplo


Original Event:

src_ip=203.0.113.25


Enriched:

country=Unknown
asn=64500
reputation=suspicious
known_campaign=true
confidence=0.87

Ahora el analista tiene más contexto para decidir.

Principio: La automatización no debería ocultar los datos originales. Debe añadir contexto preservando la evidencia.
12 · AI SOC

Introduciendo la Inteligencia Artificial

Ahora llegamos al elemento diferencial del proyecto: utilizar IA no para sustituir los sistemas de seguridad, sino para ayudar al analista a interpretar grandes cantidades de información.

Arquitectura

                    SECURITY EVENTS
                          │
                          ▼
                     SIEM / XDR
                          │
                          ▼
                    CORRELATION
                          │
                          ▼
                    INCIDENT DATA
                          │
                          ▼
                    AI SECURITY
                      AGENT
                          │
            ┌─────────────┼─────────────┐
            │             │             │
            ▼             ▼             ▼
        Summarize      Investigate    Recommend
            │             │             │
            └─────────────┼─────────────┘
                          ▼
                       ANALYST

Ejemplo de prompt de investigación


You are a Tier-2 SOC analyst.

Investigate the following incident.

User:
admin

Events:
- successful login from unknown IP
- privilege escalation
- PowerShell execution
- unusual outbound traffic
- anomaly score: 0.92

Tasks:

1. Build a timeline.
2. Identify suspicious behavior.
3. Identify possible attack stages.
4. List missing evidence.
5. Recommend investigation steps.
6. Do not assume maliciousness without evidence.

Respuesta esperada


Assessment:

The event sequence is consistent with
possible account compromise.

Evidence:

1. Unusual authentication source.
2. Privileged activity shortly after login.
3. PowerShell execution.
4. Abnormal outbound traffic.

Confidence:
MEDIUM-HIGH

Missing evidence:

- MFA result
- Process tree
- Destination reputation
- Command line
- Endpoint timeline
- DNS activity

Recommended next steps:

1. Validate the login.
2. Inspect process tree.
3. Investigate destination IP.
4. Review authentication history.
5. Check for lateral movement.

La IA no decide sola

Regla fundamental del proyecto

La IA puede recomendar.

La IA puede resumir.

La IA puede correlacionar.

La IA puede explicar.

Pero las acciones destructivas o de alto impacto deben estar sujetas a políticas y controles.

13 · Security RAG

El conocimiento del SOC

Un LLM genérico no conoce necesariamente las reglas, procedimientos, arquitectura y documentación interna de nuestra organización.

Por eso introduciremos RAG:


Documents
   │
   ▼
Chunking
   │
   ▼
Embeddings
   │
   ▼
Vector Database
   │
   ▼
Retriever
   │
   ▼
LLM
   │
   ▼
Grounded Answer

Fuentes posibles

  • Procedimientos SOC
  • Runbooks
  • Playbooks
  • Arquitectura de red
  • Inventario
  • Políticas de seguridad
  • Threat Intelligence
  • Documentación de herramientas
  • Histórico de incidentes

Ejemplo

El analista pregunta:


"¿Qué procedimiento debemos seguir
cuando detectamos una posible cuenta comprometida?"

El sistema RAG recupera:


RUNBOOK-ACCOUNT-COMPROMISE
POLICY-IDENTITY-07
PLAYBOOK-INCIDENT-04

La IA responde basándose en esos documentos.

14 · Main Laboratory

Laboratorio: construir un mini SOC

Este es el laboratorio principal de la semana. El objetivo no es instalar herramientas por instalar. Queremos construir un flujo completo.

Arquitectura del laboratorio

                ┌──────────────┐
                │ Linux Server │
                └──────┬───────┘
                       │
                       ▼
                 Wazuh Agent
                       │
                       ▼
                ┌──────────────┐
                │    Wazuh     │
                │    Server    │
                └──────┬───────┘
                       │
                       ▼
                ┌──────────────┐
                │   Indexer    │
                └──────┬───────┘
                       │
                       ▼
                ┌──────────────┐
                │  Dashboard   │
                └──────────────┘


       Network Traffic
              │
       ┌──────┴──────┐
       ▼             ▼
     Zeek         Suricata
       │             │
       └──────┬──────┘
              ▼
             SIEM

Fase 1 · Preparar laboratorio


mkdir ai-soc-lab

cd ai-soc-lab

mkdir logs
mkdir scripts
mkdir detections
mkdir models
mkdir reports

Fase 2 · Crear eventos sintéticos

Antes de atacar un entorno real vamos a utilizar datos controlados.


timestamp,user,src_ip,event,success
03:10:00,admin,10.0.0.10,login,false
03:10:04,admin,10.0.0.10,login,false
03:10:07,admin,10.0.0.10,login,false
03:10:12,admin,10.0.0.10,login,false
03:10:20,admin,10.0.0.10,login,true
03:11:02,admin,10.0.0.10,privilege_change,true
03:11:20,admin,10.0.0.10,powershell,true
03:12:10,admin,10.0.0.10,network_connection,true

Fase 3 · Detectar brute force


import pandas as pd

df = pd.read_csv("logs/auth.csv")

failed = df[
    (df["event"] == "login") &
    (df["success"] == False)
]

counts = (
    failed
    .groupby("user")
    .size()
    .reset_index(name="failed_attempts")
)

print(counts)

Fase 4 · Generar score


def calculate_risk(
    failed_logins,
    privilege_change,
    powershell,
    unusual_network
):

    score = 0

    score += min(
        failed_logins * 5,
        30
    )

    if privilege_change:
        score += 20

    if powershell:
        score += 20

    if unusual_network:
        score += 20

    return min(score, 100)

Fase 5 · Clasificación


score = calculate_risk(
    failed_logins=5,
    privilege_change=True,
    powershell=True,
    unusual_network=True
)

print(score)

El resultado esperado será:


90

Y podremos establecer:

Score Nivel
0–30 LOW
31–60 MEDIUM
61–80 HIGH
81–100 CRITICAL

Fase 6 · Machine Learning

Ahora eliminaremos parte de las reglas y utilizaremos Isolation Forest sobre características de comportamiento.


features = [
    "failed_logins",
    "unique_destinations",
    "bytes_out",
    "dns_requests",
    "process_count"
]

model.fit(data[features])

data["prediction"] = model.predict(
    data[features]
)

Fase 7 · Correlación


IF

authentication_anomaly
AND
privilege_change
AND
process_anomaly

THEN

create_incident()

Fase 8 · Enrichment


incident = {

    "user": "admin",

    "risk_score": 92,

    "signals": [
        "unusual_login",
        "privilege_change",
        "powershell",
        "network_anomaly"
    ],

    "evidence": [
        "auth.log",
        "process.log",
        "network.log"
    ]
}

Fase 9 · AI Investigation


incident
   │
   ▼
Normalize
   │
   ▼
Enrich
   │
   ▼
Build context
   │
   ▼
LLM
   │
   ▼
Investigation report

Resultado final


INCIDENT #2026-00051

Title:
Possible Privileged Account Compromise

Risk:
92 / 100

Severity:
CRITICAL

Signals:

[+] Multiple failed logins
[+] Successful login
[+] Privilege change
[+] PowerShell execution
[+] Network anomaly

AI Assessment:

Possible account compromise.

Confidence:
0.89

Recommended actions:

1. Validate authentication.
2. Inspect endpoint process tree.
3. Investigate network destination.
4. Check lateral movement.
5. Review account activity.
15 · Exercises

Ejercicios prácticos

Ejercicio 01 · Arquitectura

Diseña una arquitectura SOC para una empresa con:

  • 500 endpoints
  • 20 servidores Linux
  • 50 servidores Windows
  • 2 firewalls
  • 1 VPN
  • Active Directory
  • Cloud workloads

Debes indicar:

  • Fuentes de logs
  • Collectors
  • SIEM
  • Network monitoring
  • Detection layer
  • AI layer
  • Storage
  • Response
Ver orientación

Una solución razonable podría utilizar Wazuh para endpoints, Zeek y Suricata para network telemetry y un indexador central para almacenar y consultar los eventos.

La capa de IA debería estar separada de la generación primaria de eventos y utilizar los datos correlacionados como contexto.

Ejercicio 02 · Detección

Diseña una detección para identificar un posible password spraying.

Condiciones:


1 IP
   ↓
Many users
   ↓
Few attempts per user
   ↓
Short time window
Ver solución

IF

unique_users >= 10

AND

failed_attempts_per_user <= 5

AND

time_window <= 10 minutes

THEN

raise_password_spray_alert()

El siguiente paso sería incorporar contexto: si la IP pertenece a un sistema interno autorizado, el riesgo debería reducirse.

Ejercicio 03 · Anomaly Detection

Tenemos estos valores de tráfico:


1200
1300
1100
1400
1250
1350
1280
1190
1250
987000

¿Qué valor parece anómalo?

Ver solución

987000 es claramente un outlier respecto al conjunto.

Pero todavía no sabemos si es malicioso. Podría corresponder a un backup, transferencia de datos, actualización de software o exfiltración.

Ejercicio 04 · SOC Analyst

Investiga este incidente:


03:02 Login success
03:04 New privilege
03:05 PowerShell
03:06 DNS spike
03:07 External connection
03:08 900 MB outbound

Debes elaborar:

  • Timeline
  • Possible attack stages
  • Evidence required
  • Risk assessment
  • Recommended actions
Ver resolución orientativa

El patrón es compatible con una posible intrusión seguida de escalada de privilegios y transferencia de información.

Sin embargo, debemos obtener evidencia adicional antes de afirmar que existe compromiso.

Solicitaríamos:

  • Process tree
  • Command line
  • DNS queries
  • Destination reputation
  • Authentication context
  • Endpoint timeline
  • Files modified
16 · Tools

Herramientas de la semana

Wazuh

SIEM/XDR open source, agentes, análisis de eventos, vulnerabilidades, FIM, configuración y dashboards.

Zeek

Network Security Monitoring y generación de metadata de red.

Suricata

IDS/IPS y generación de eventos de red.

Python

Automatización, parsing, análisis y construcción de pipelines.

pandas

Procesamiento de logs y datasets.

scikit-learn

Machine Learning y detección de anomalías.

Docker

Entornos reproducibles para laboratorios.

Git

Versionado de reglas, scripts y detecciones.

17 · Troubleshooting

Resolución de problemas

El agente no aparece


systemctl status wazuh-agent

journalctl -u wazuh-agent

ss -lntp

Comprobar:

  • Conectividad
  • DNS
  • Firewall
  • Credenciales / enrollment
  • Configuración del agente
  • Hora del sistema

Hay eventos pero no alertas

Esto es un problema clásico.

EVENT
  ↓
Collector
  ↓
Decoder
  ↓
Rule
  ↓
Alert

Si no aparece la alerta, hay que localizar en qué fase se está perdiendo el evento.

El modelo genera demasiadas anomalías

Posibles causas:

  • Dataset pequeño
  • Features incorrectas
  • Contamination mal configurado
  • Comportamiento normal mal definido
  • Cambios recientes en infraestructura
No ajustes el modelo simplemente para reducir alertas.

Primero entiende por qué las está generando. Reducir falsos positivos sin comprender el origen puede ocultar ataques reales.

18 · Final Challenge

Challenge · Build your AI SOC

Este es el proyecto final de la semana. Debes diseñar una primera versión funcional de un SOC capaz de combinar reglas, comportamiento y AI.

Escenario

Una empresa tiene:

  • Linux servers
  • Windows endpoints
  • Firewall
  • VPN
  • Active Directory
  • Internet-facing applications

Se sospecha que un usuario privilegiado ha sido comprometido.

Tu misión

Construye una arquitectura capaz de:

  • Recopilar eventos
  • Centralizar logs
  • Detectar brute force
  • Detectar comportamiento anómalo
  • Correlacionar eventos
  • Calcular riesgo
  • Enriquecer indicadores
  • Generar un incidente
  • Utilizar IA para investigar
  • Generar un informe

Entregables

Entrega Peso
Arquitectura 20%
Telemetría 15%
Detection Engineering 20%
Machine Learning 15%
AI Investigation 15%
Documentación 15%

Arquitectura mínima esperada

                    ENDPOINTS
                       │
                       ▼
                    WAZUH
                       │
                       ▼
                      SIEM
                       │
             ┌─────────┴─────────┐
             ▼                   ▼
          RULES                  ML
             │                   │
             └─────────┬─────────┘
                       ▼
                   CORRELATION
                       │
                       ▼
                   RISK SCORE
                       │
                       ▼
                   AI ANALYST
                       │
                       ▼
                    REPORT

Bonus

Obtendrás puntos adicionales si implementas:

  • Docker
  • Git
  • Automated tests
  • Threat intelligence enrichment
  • RAG
  • MITRE ATT&CK mapping
  • Automated response proposal
  • Dashboard
  • Metrics
Objetivo profesional

Al finalizar este challenge deberías poder explicar cómo construirías un SOC moderno desde cero y, sobre todo, qué papel desempeña la IA dentro de él.

19 · Knowledge Check

Comprueba lo aprendido

1. ¿Cuál es la diferencia entre SIEM y SOAR?

SIEM se centra principalmente en recopilar, almacenar, analizar y correlacionar eventos. SOAR se centra en automatizar procesos y respuestas.

2. ¿Qué diferencia existe entre IOC e IOA?

Un IOC es una evidencia o indicador asociado a actividad maliciosa, mientras que un IOA representa un comportamiento indicativo de una posible actividad maliciosa.

3. ¿Qué problema resuelve Machine Learning?

Puede ayudar a detectar patrones o desviaciones que no han sido descritos explícitamente mediante reglas.

4. ¿Un outlier es automáticamente un ataque?

No. Un outlier solamente indica que una observación se desvía del comportamiento esperado.

5. ¿Por qué necesitamos correlación?

Porque un ataque puede estar compuesto por muchos eventos individuales que sólo adquieren significado cuando se analizan conjuntamente.

6. ¿Qué aporta un LLM?

Puede ayudar a resumir, explicar, investigar, correlacionar información y recomendar próximos pasos, siempre dentro de controles y políticas apropiadas.

7. ¿Qué problema resuelve RAG?

Permite proporcionar al modelo información específica y contextualizada procedente de documentación y fuentes de conocimiento seleccionadas.

20 · SOC Metrics

¿Cómo sabemos si nuestro SOC funciona?

No basta con decir "tenemos muchas alertas". Necesitamos métricas.

Métrica Significado
MTTD Mean Time To Detect
MTTR Mean Time To Respond
False Positive Rate Proporción de alertas incorrectas
Detection Coverage Cobertura de técnicas y escenarios
Alert Volume Volumen de alertas
Investigation Time Tiempo necesario para investigar

El objetivo de la IA

La IA no debería utilizarse simplemente para generar más alertas.

Una aplicación mucho más interesante es:

                    BEFORE AI

1000 alerts
     ↓
Analyst
     ↓
Manual investigation
     ↓
100 incidents
                    WITH AI

1000 alerts
     ↓
Correlation
     ↓
Risk scoring
     ↓
AI enrichment
     ↓
100 prioritized incidents
     ↓
Analyst

El objetivo es aumentar la capacidad analítica del equipo.

21 · Project Evolution

Cómo evoluciona nuestro proyecto

A partir de esta semana, el proyecto deja de ser simplemente un conjunto de ejercicios.

Estamos construyendo progresivamente:

                    AI SECURITY PLATFORM

                           │
             ┌─────────────┴─────────────┐
             │                           │
         TELEMETRY                    IDENTITY
             │                           │
             ▼                           ▼
          SIEM/XDR                    USERS
             │                       DEVICES
             │                       ENTITIES
             ▼                           │
       DETECTION ENGINE                  │
             │                           │
       ┌─────┴─────┐                     │
       │           │                     │
      RULES        ML                    │
       │           │                     │
       └─────┬─────┘                     │
             ▼                           │
         CORRELATION ◄───────────────────┘
             │
             ▼
         RISK ENGINE
             │
             ▼
          AI SOC
             │
       ┌─────┼─────┐
       ▼     ▼     ▼
    RAG    LLM   TOOLS
       │     │     │
       └─────┼─────┘
             ▼
          ANALYST
             │
             ▼
           SOAR
             │
             ▼
          RESPONSE
Este es el hilo conductor.

Cada nueva semana añadirá una capacidad a esta arquitectura. No estamos aprendiendo herramientas de forma aislada: estamos construyendo una plataforma.

22 · Resources

Referencias y recursos

Wazuh Documentation

Documentación oficial para arquitectura, instalación, agentes, servidor, indexador, dashboard y administración.

Zeek Documentation

Documentación oficial para Network Security Monitoring, logs, scripting y despliegue.

Suricata Documentation

Documentación oficial de IDS/IPS y formato EVE JSON.

scikit-learn

Documentación oficial y ejemplos de Machine Learning, incluyendo Isolation Forest.

MITRE ATT&CK

Framework fundamental para mapear comportamientos y técnicas adversarias.

Detection Engineering

Estudia cómo convertir conocimiento de amenazas en detecciones reproducibles y mantenibles.

23 · Week Complete

¿Qué has construido?

Si has completado todos los ejercicios, ya tienes los fundamentos necesarios para construir un sistema de detección moderno.

  • Comprendes la arquitectura de un SOC
  • Sabes qué es la telemetría
  • Comprendes SIEM y XDR
  • Has trabajado con Wazuh
  • Has introducido Zeek
  • Has introducido Suricata
  • Has diseñado detecciones
  • Has trabajado IOC e IOA
  • Has utilizado Machine Learning
  • Has probado Isolation Forest
  • Has trabajado con risk scoring
  • Has diseñado correlación
  • Has introducido UEBA
  • Has diseñado un AI SOC
  • Has introducido RAG
  • Has construido un mini pipeline de seguridad

Next Level

En las siguientes semanas iremos mucho más allá: automatización, agentes de IA, respuesta, threat hunting, LLM security, prompt injection, ataques contra sistemas de IA, AI red teaming y finalmente la construcción de un sistema de ciberseguridad inteligente mucho más completo.

El objetivo final no es utilizar IA para hacer ciberseguridad.

El objetivo es construir sistemas de ciberseguridad que utilicen IA como una capacidad nativa.