Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

La baliza, medida con una consulta

5 tareas · 40 min · Principiante

Un programa instalado en un equipo que espera órdenes de fuera llama a su servidor cada cierto tiempo para preguntar si hay algo nuevo. Esa llamada periódica —la baliza— ya apareció en el módulo del SIEM, perfectamente regular. Las de verdad rara vez lo son: esperan «unos cinco minutos» con un margen al azar para no parecer un reloj. Aquí la mides con una consulta sobre el registro de conexiones de un día entero, separas los relojes legítimos con la lista de excepciones y te quedas con el que nadie ha explicado. Viernes 22 de enero, centro de distribución de Delta Cargo.

0 de 5 · 0%

Objetivo de la sala

Un programa instalado en un equipo que espera órdenes de fuera llama a su servidor cada cierto tiempo para preguntar si hay algo nuevo. Esa llamada periódica —la baliza— ya apareció en el módulo del SIEM, perfectamente regular. Las de verdad rara vez lo son: esperan «unos cinco minutos» con un margen al azar para no parecer un reloj. Aquí la mides con una consulta sobre el registro de conexiones de un día entero, separas los relojes legítimos con la lista de excepciones y te quedas con el que nadie ha explicado. Viernes 22 de enero, centro de distribución de Delta Cargo.

Ninguna conexión de una baliza, sola, llama la atención: es corta, va cifrada, usa el puerto de siempre. Lo que la delata es el conjunto: muchas conexiones al mismo destino, separadas por intervalos parecidos, con envíos del mismo tamaño —la misma pregunta una y otra vez— y desde un equipo que es el único de la empresa que habla con ese destino.

Cada una de esas cuatro señales tiene su falso positivo. La telemetría del antivirus es regular, pero la mandan todos los puestos. Un sensor de temperatura llama cada minuto exacto, pero alguien lo aprobó y está anotado. Una persona que vuelve a la misma web no llama a intervalos parecidos. Es la combinación lo que describe una baliza.

Esta tarea se hace en el laboratorio

Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.

Conectando con la base…

Responde para continuar

¿Qué combinación describe una baliza en el registro de conexiones?

Ver pista de ayuda

Ejecuta `SELECT * FROM intervalos` y fíjate en qué columnas cambian y cuáles se repiten para cada par de origen y destino.

Mirar filas sueltas no sirve: en un día hay decenas de miles de conexiones. Hay que agrupar por par —este equipo con este destino— y medir. La tabla intervalos ya trae, para cada conexión, los segundos desde la anterior del mismo par (en el SIEM se calcula con una función de ventana que mira la fila previa). Con eso, la medición es una consulta:

SELECT id_orig_h, id_resp_h, COUNT(*) AS conexiones,
       AVG(intervalo_s) AS media_s, STDDEV(intervalo_s) AS desviacion_s,
       AVG(orig_bytes) AS bytes_medios
FROM intervalos
GROUP BY id_orig_h, id_resp_h
HAVING COUNT(*) > 30

La media dice cada cuánto llama; la desviación, cuánto se aparta de esa media. Una persona da desviaciones más grandes que la propia media, porque navega a saltos. Un programa da una desviación pequeña frente a la media. Después, una segunda consulta cuenta cuántos equipos distintos hablan con cada destino, y la lista de excepciones quita lo que ya está explicado.

Esta tarea se hace en el laboratorio

Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.

Conectando con la base…

Responde para continuar

Escribe el destino al que un solo equipo llama a intervalo casi fijo y que no tiene ninguna excepción aprobada.

Ver pista de ayuda

Escribe la consulta de la medición tal cual (los saltos de línea dan igual), después `SELECT id_resp_h, COUNT(DISTINCT id_orig_h) AS equipos FROM intervalos GROUP BY id_resp_h` y por último `SELECT * FROM excepciones`.

El intervalo de una baliza puede bailar, pero lo que envía suele ser idéntico en cada llamada: el programa manda siempre el mismo saludo —quién es, si sigue vivo— y espera. Por eso la columna de bytes enviados es una de las mejores pistas: en la navegación de una persona no hay dos peticiones iguales; en una baliza, todas pesan lo mismo al byte.

Mira también la columna de lo que recibe. Casi siempre es la misma respuesta corta, «nada nuevo». Si un día la respuesta crece de golpe, es que el servidor tenía algo para ese equipo, y esa hora va directa a la línea de tiempo del caso.

Esta tarea se hace en el laboratorio

Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.

Conectando con la base…

Responde para continuar

Escribe cuántos bytes envía ese equipo en cada llamada a ese destino.

Ver pista de ayuda

Está en la columna «bytes_medios» de la medición, y se confirma fila a fila filtrando `intervalos` por la dirección de origen de ese par.

Muchas reglas de canal de mando se escriben pensando en el reloj perfecto: «el mismo intervalo, una y otra vez». Las balizas de verdad añaden un margen al azar —el jitter— precisamente para escapar de esa regla. Un programa configurado para llamar cada 300 segundos con un 15 % de jitter llamará a los 268, a los 334, a los 297… y su desviación ya no es cero.

La forma de medirlo sin que se escape es la desviación relativa: la desviación dividida entre la media. Por debajo de un umbral —un 20 o un 25 %, según lo que se ajuste con los datos de la casa— el par se comporta como un programa, aunque no sea un reloj exacto. Y como el sensor y el antivirus también caerán ahí, la regla se escribe con la rareza del destino y la lista de excepciones desde el primer día.

Esta tarea se hace en el laboratorio

Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.

Conectando con la base…

Responde para continuar

La regla de canal de mando del SOC salta cuando un par tiene desviación cero en sus intervalos. ¿Qué pasa con esta baliza?

Ver pista de ayuda

Mira la columna «desviacion_s» de la medición. ¿Es cero en alguna fila?

Una baliza medida es un hallazgo sólido: un equipo, un destino, un intervalo, un tamaño y una hora en la que el servidor contestó con algo. Falta lo de siempre para escalarlo: qué equipo es y de quién. Lo siguiente ya no es trabajo de red, es del agente del puesto: qué proceso abre esas conexiones.

Esta tarea se hace en el laboratorio

Una consola para consultar la base de datos, aquí en la página. No instalas nada y no puedes romper nada.

Conectando con la base…

Responde para continuar

Escribe el nombre del equipo que hace esas llamadas.

Ver pista de ayuda

La dirección de origen está en la medición; `SELECT * FROM inventario` le pone nombre.

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

Conectando con la base…

SIEM · Delta Cargo — conexiones salientes del centro de distribución, viernes 22 de enero
OpenSearch · consultas guardadas

Tablas

intervalos

  • ts
  • id_orig_h
  • id_resp_h
  • id_resp_p
  • intervalo_s
  • orig_bytes
  • resp_bytes

excepciones

  • destino
  • que_es
  • aprobada_por

inventario

  • ip
  • equipo
  • area
  • responsable
Ctrl + Enter
Consola de consultas v1.0 · build b77233

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