Introducción al Elastic Stack - Fundamentos de SIEM y Monitoreo de Seguridad

Info

Objetivo: Comprender qué es el Elastic Stack, sus componentes principales (Elasticsearch, Logstash, Kibana y Beats), y cómo puede utilizarse como una solución SIEM para monitoreo y análisis de seguridad.


🧩 ¿Qué es el Elastic Stack?

El Elastic Stack (anteriormente llamado ELK Stack) es un conjunto de herramientas open source creadas por Elastic que permiten recoger, procesar, almacenar, analizar y visualizar datos en tiempo real.

Está formado principalmente por tres componentes:

Entrar
http://[Target IP]:5601
📈 Flujo típico:
Beats → Logstash → Elasticsearch → Kibana
Pasted image 20251021190108.png


🧱 Arquitectura General del Elastic Stack

El Elastic Stack puede complementarse con herramientas adicionales:

Pasted image 20251021185720.png

Tip

La arquitectura puede adaptarse tanto a entornos on-premise como a Elastic Cloud (SaaS).


🔍 Componentes Principales

🧠 Elasticsearch


⚙️ Logstash

🔄 Pipeline de Logstash:

  1. Input → Recepción de datos.

  2. Filter → Procesamiento o transformación.

  3. Output → Envío a Elasticsearch (u otros destinos).


📊 Kibana


📦 Beats


🛡️ Elastic Stack como Solución SIEM

El Elastic Stack puede funcionar como un SIEM al recolectar, almacenar, correlacionar y visualizar eventos de seguridad (firewalls, IDS, endpoints, etc.).

🔐 Implementación típica:

  1. Logstash ingesta datos de seguridad.

  2. Elasticsearch indexa y almacena la información.

  3. Kibana visualiza eventos y crea dashboards personalizados.

  4. KQL (Kibana Query Language) permite buscar y correlacionar eventos.

Pasted image 20251021190310.png


💬 Lenguaje de Consultas en Kibana (KQL)

El KQL es una forma sencilla e intuitiva de buscar dentro de los índices de Elasticsearch.

📘 Ejemplo básico:

event.code:4625

➡️ Muestra eventos con el código 4625 (intento de inicio de sesión fallido en Windows).

📙 Ejemplo combinado:

event.code:4625 AND winlog.event_data.SubStatus:0xC0000072

➡️ Filtra los intentos de login fallidos en cuentas deshabilitadas.

📅 Ejemplo con tiempo:

event.code:4625 AND winlog.event_data.SubStatus:0xC0000072 AND @timestamp >= "2023-03-03T00:00:00.000Z" AND @timestamp <= "2023-03-06T23:59:59.999Z"

🧠 KQL admite:


🔎 Cómo Identificar Campos y Datos Disponibles

  1. Usar la vista Discover en Kibana para explorar los campos y ver estructuras de datos.

  2. Consultar la documentación oficial de Elastic, especialmente:

    • Elastic Common Schema (ECS)

    • Winlogbeat Fields

    • Filebeat Fields


🧭 Elastic Common Schema (ECS)

Important

ECS (Elastic Common Schema) define un vocabulario estándar para todos los datos del Elastic Stack.

🔍 Ventajas:


🧪 Ejercicio Práctico

Example

Objetivo: Identificar el usuario deshabilitado con intentos fallidos de inicio de sesión.
Entrar en:

Entrar en:
http://[Target IP]:5601

Pasted image 20251021193232.png
En el panel izquierdo, hacer clic en Discover.
Pasted image 20251021193324.png
En el calendario, seleccionar “Last 15 years” y aplicar
Pasted image 20251021193441.png
Elegir el índice windows*.
Pasted image 20251021193504.png
Ejecutar la consulta:

event.code:4625 AND winlog.event_data.SubStatus:0xC0000072 AND @timestamp >= "2023-03-03T00:00:00.000Z" AND @timestamp <= "2023-03-06T23:59:59.999Z"

El resultado muestra el usuario:
anni
Pasted image 20251021193602.png

Usuario con login fallido y cuenta deshabilitada.


🏁 Conclusión

El Elastic Stack es una herramienta poderosa para la gestión de logs y análisis de seguridad.
Usado correctamente, puede funcionar como un SIEM moderno, ofreciendo: