🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónFuerza 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.
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.
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.
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.
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.
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.
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.
Conectando con la base…
Tablas
SigninLogs
- TimeGenerated
- UserPrincipalName
- IPAddress
- ResultType
- AppDisplayName
- Location
salidas_conocidas
- IPAddress
- que_es
El resultado aparece aquí.
fila(s)
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
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.