Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Cuatro formas de escribir un evento

4 tareas · 40 min · Principiante

El mismo hecho, un inicio de sesión fallido, puede llegar como una línea de texto, como un objeto JSON, como un mensaje syslog o como un registro CEF. Cada formato dice las cosas de otra manera y pide un parser distinto. En el Ingenio Cañaduzal tienes muestras crudas de un servidor Linux, de un servicio de identidad y de una pasarela web; las lees, sacas la prioridad de un mensaje syslog, localizas un campo dentro de un JSON y averiguas qué clave de CEF lleva la cuenta.

0 de 4 · 0%

Objetivo de la sala

El mismo hecho, un inicio de sesión fallido, puede llegar como una línea de texto, como un objeto JSON, como un mensaje syslog o como un registro CEF. Cada formato dice las cosas de otra manera y pide un parser distinto. En el Ingenio Cañaduzal tienes muestras crudas de un servidor Linux, de un servicio de identidad y de una pasarela web; las lees, sacas la prioridad de un mensaje syslog, localizas un campo dentro de un JSON y averiguas qué clave de CEF lleva la cuenta.

El texto libre no tiene estructura declarada: una persona lo entiende, un programa necesita un patrón. Syslog pone una cabecera común. En el formato del RFC 5424 un mensaje empieza con la prioridad entre ángulos, <165>, seguida de versión, hora, equipo, aplicación y mensaje.

La prioridad junta dos números: prioridad = facility × 8 + severidad. La facility dice de qué parte del sistema viene el mensaje (por ejemplo, 20 es local4); la severidad va de 0 (emergencia) a 7 (depuración), y 5 es «aviso». Así, <165> es facility 20 y severidad 5 porque 20 × 8 + 5 = 165. Para deshacerlo se divide entre 8: el cociente es la facility y el resto, la severidad.

Abre el laboratorio, entra en la carpeta de muestras y lee syslog.txt.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Escribe el número de facility de la línea de syslog de la aplicación sshd.

Ver pista de ayuda

Lee la prioridad entre ángulos de esa línea y divide entre 8; el cociente es la facility.

En un evento JSON cada dato trae su nombre y los objetos se anidan: la dirección de origen no está en la raíz, está dentro de red, dentro de origen. Para referirse a un campo anidado se escribe su ruta, con puntos entre los niveles, por ejemplo evento.accion.

Esto ahorra el patrón: no hay que adivinar dónde empieza un valor. A cambio hay que conocer el esquema y tolerar que un campo falte o cambie de nivel.

Lee json.txt.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Escribe la dirección IP de origen de los intentos fallidos, que los eventos JSON guardan en el campo ip dentro de red y origen.

Ver pista de ayuda

Sigue los objetos anidados desde la raíz, red y luego origen, hasta el campo ip de los eventos con resultado fallo.

CEF (Common Event Format) escribe el evento en una sola línea con una cabecera de campos separados por barra vertical: versión, fabricante del dispositivo, producto, versión del producto, identificador de la clase de evento, nombre y severidad. Después va la extensión, una lista de pares clave=valor con claves de un diccionario común.

Por eso un evento CEF se parte en dos pasos: primero la cabecera por las barras, luego la extensión por sus claves. Si un valor de la cabecera lleva una barra vertical, se escapa con una barra invertida.

Lee cef.txt y el diccionario de la exportación.

Esta tarea se hace en el laboratorio

Un escritorio Linux con terminal, aquí en la página. No instalas nada y no puedes romper nada.

Preparando el escritorio…

Responde para continuar

Escribe la clave de la extensión CEF que lleva la cuenta de usuario que inicia la acción.

Ver pista de ayuda

En diccionario-cef.txt hay una clave para la cuenta de origen y otra para la de destino.

Algunas fuentes ofrecen dos formatos de salida. La elección no es de gusto: define cuánto trabajo recae en el parser y cuánto se rompe cuando el proveedor actualiza el producto.

Responde para continuar

Una fuente ofrece su registro como texto libre y como JSON con los mismos datos. ¿Cuál conviene y por qué?

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

Preparando el escritorio…

16:24
Terminal (user@whoami)
user@whoami:~$
Tab Autocompletar ↑/↓ Historial
bash 5.2.21
Whoami-Labs OS v3.0.1 LTS · build 733482

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