Loading
_ DESCIFRANDO CONEXIÓN SEGURA...

Fuerza bruta y rociado — qué agrupación, qué umbral y qué excluir

5 tareas · 45 min · Principiante

El analista de guardia reconoce un rociado cuando lo ve; el ingeniero de identidad tiene que lograr que una regla lo vea sola, sin despertar a nadie por la oficina entera cambiando de contraseña. En el registro de Navegantes del Sur hay una madrugada con dos ataques distintos y una mañana con mucho ruido legítimo. Aquí decides sobre qué campo se agrupa cada regla, dónde cae el umbral y qué se excluye, todo leyendo consultas de ejemplo en KQL.

0 de 5 · 0%

Objetivo de la sala

El analista de guardia reconoce un rociado cuando lo ve; el ingeniero de identidad tiene que lograr que una regla lo vea sola, sin despertar a nadie por la oficina entera cambiando de contraseña. En el registro de Navegantes del Sur hay una madrugada con dos ataques distintos y una mañana con mucho ruido legítimo. Aquí decides sobre qué campo se agrupa cada regla, dónde cae el umbral y qué se excluye, todo leyendo consultas de ejemplo en KQL.

La fuerza bruta contra una cuenta (técnica T1110 de MITRE ATT&CK) y el rociado de contraseñas (T1110.003) usan el mismo código de fallo, 50126, pero tienen forma distinta en el registro. Una regla útil se define por el campo por el que agrupa. Contar fallos por cuenta atrapa muchos intentos contra una sola. Contar cuentas distintas por origen atrapa pocos intentos contra muchas, que es lo que hace el rociado para quedarse bajo el umbral de bloqueo de cada cuenta.

dcount cuenta valores distintos. La consulta de abajo devuelve, por cada origen, cuántas cuentas distintas falló y cuántos intentos hizo en total.

SigninLogs | where ResultType == "50126" | summarize cuentas = dcount(UserPrincipalName), intentos = count() by IPAddress | order by cuentas desc

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

¿Por qué campo hay que agrupar para que una regla vea un rociado que ninguna cuenta supera el umbral de bloqueo?

Empieza por la regla clásica, que cuenta fallos por cuenta y los ordena. La consulta toma los cinco primeros. Observa cuántos fallos tiene la primera y qué distancia hay con la segunda: esa distancia es la que permite fijar un umbral sin ruido.

Escribe el nombre de usuario sin el dominio.

SigninLogs | where ResultType == "50126" | summarize intentos = count() by UserPrincipalName | order by intentos desc | take 5

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é cuenta tiene muchos más fallos de contraseña que las demás? Escribe solo el nombre de usuario, sin el dominio.

Ahora la regla horizontal. La primera consulta de la tarea 1 devuelve tres orígenes; uno de ellos es la salida de la propia oficina, donde toda la gente comparte una dirección. Las salidas de la empresa están en la tabla salidas_conocidas. Excluyéndolas, el resultado cambia.

salidas_conocidas
SigninLogs | where ResultType == "50126" | where IPAddress != "192.0.2.10" | summarize cuentas = dcount(UserPrincipalName), intentos = count() by IPAddress | order by cuentas desc

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

Excluida la salida de la oficina, ¿cuántos intentos de contraseña hizo en total el origen que falló contra más cuentas distintas?

La oficina tocó diez cuentas distintas en una mañana porque se cambió una contraseña y la gente se equivocó una vez cada una. El rociado tocó once. Un umbral de «ocho cuentas distintas por origen» dispara las dos cosas; uno de «doce» no dispara ninguna.

Subir el umbral hasta librar a la oficina deja pasar el ataque, y apagar la regla deja pasar todos. La salida es decidir por separado qué se mide y qué se excluye, y dejarlo escrito: la excluida es una lista de direcciones de la empresa que alguien mantiene, no una cifra mágica.

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 del rociado se dispara con la salida de la oficina. ¿Qué cambio la deja útil?

Un rociado importa de verdad cuando alguna cuenta acepta la contraseña común. La regla que se escribe a continuación no cuenta fallos, busca el acierto desde el mismo origen que rocía. Esa fila es la que convierte un tanteo en un incidente de acceso.

SigninLogs | where IPAddress == "203.0.113.50" and ResultType == "0"

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é cuenta registró un inicio de sesión correcto desde el origen del rociado? Escribe solo el nombre de usuario, sin el dominio.

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

Conectando con la base…

SIEM · Navegantes del Sur · madrugada y mañana del 1 de octubre
KQL · consultas previstas · solo lectura

Tablas

SigninLogs

  • TimeGenerated
  • UserPrincipalName
  • IPAddress
  • ResultType
  • AppDisplayName
  • Location

salidas_conocidas

  • IPAddress
  • que_es
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