Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Alertas de Suricata con contexto de Zeek

4 tareas · 40 min · Principiante

Jueves 18 de marzo. En Cartonera de Guaduas hay dos sensores sobre el mismo cable: Suricata, que avisa cuando una regla coincide, y Zeek, que anota cómo fue cada conversación. La cola de la mañana trae cuatro alertas y ninguna dice si el tráfico fue a algún lado. Aquí las unes con su conversación por el community_id, lees cómo terminó cada una y decides cuál pesa. Todo es lectura de extractos de ejemplo.

0 de 4 · 0%

Objetivo de la sala

Jueves 18 de marzo. En Cartonera de Guaduas hay dos sensores sobre el mismo cable: Suricata, que avisa cuando una regla coincide, y Zeek, que anota cómo fue cada conversación. La cola de la mañana trae cuatro alertas y ninguna dice si el tráfico fue a algún lado. Aquí las unes con su conversación por el community_id, lees cómo terminó cada una y decides cuál pesa. Todo es lectura de extractos de ejemplo.

Suricata y Zeek no se conocen entre sí, y cada uno nombra las conversaciones a su manera: Suricata con un flow_id y Zeek con un uid. Para unir sus registros se usa el community_id: una huella que sale de las direcciones, los puertos y el protocolo, y que los dos calculan igual cuando se activa en cada uno.

Con él se pasa de una alerta a la conversación que la provocó sin buscar a mano por dirección y hora. Los valores de la consola están abreviados; en un registro real el campo es un hash más largo.

Responde para continuar

¿Para qué sirve el community_id que aparece en la alerta de Suricata y en el conn.log de Zeek?

Ver pista de ayuda

Compara la columna `community_id` de `alertas` con la de `conn`.

La regla de la ráfaga de intentos de SSH desde fuera dispara una alerta que dice qué regla coincidió y entre qué direcciones. Lo que el analista necesita después es la fila de Zeek de esa conversación: su uid, para anotarlo, y su estado, para saber qué pasó.

Busca la alerta de esa regla, toma su community_id y encuéntralo en conn.

Responde para continuar

Escribe el uid de Zeek de la conversación que provocó la alerta de la ráfaga de intentos de SSH.

Ver pista de ayuda

En `alertas`, la regla es la 5710007. Su community_id te lleva a una sola fila de `conn`.

La alerta de SSH tiene acción allowed: el sensor avisó y dejó pasar. Con eso solo no se sabe si hubo sesión. Zeek sí lo dice: REJ es un intento que el destino rechazó, sin que se estableciera nada, y los bytes de carga están en cero.

Esa es la diferencia entre una alerta de intento y una alerta de acceso. La primera se registra y se vigila; la segunda se escala.

Responde para continuar

La conversación de la alerta de SSH figura en conn.log como REJ con cero bytes. ¿Qué se concluye?

Ver pista de ayuda

Lee el significado de REJ en la teoría de esta tarea y mira `orig_bytes` y `resp_bytes` en esa fila.

Dos de las cuatro alertas son de la misma regla, la de nombres de servidor en una lista de vigilancia, y vienen de dos puestos distintos. Se parecen tanto que en la cola ocuparían dos filas iguales. Lo que las distingue está en Zeek: cuánto duró cada conversación y cuánto se movió.

Una conversación de unos segundos con poca carga y otra de media hora con megabytes de subida no son lo mismo, aunque la firma sea la misma. El inventario le pone nombre al equipo que hay que revisar primero.

Responde para continuar

Escribe el nombre del equipo cuya conversación de la regla de lista de vigilancia duró más.

Ver pista de ayuda

Une las dos alertas de la regla 5710012 con `conn` y compara `duration`; después traduce la dirección con `inventario`.

Inicia sesión para registrar tus puntos y progreso en el ranking.

Whoami-Labs Pro

Whoami-Labs Pro utiliza cookies

Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad