Puntos clave
- Cómo detectar un ataque de password spray
- Usa Microsoft Sentinel y consultas KQL para correlacionar los inicios de sesión fallidos repetidos entre usuarios o desde una misma IP y activar alertas.
- Habilita el registro de auditoría unificada en Microsoft Purview para recopilar datos de inicios de sesión fallidos y consultarlos con PowerShell.
- Usa comandos de PowerShell para identificar el uso de protocolos heredados (IMAP, POP, SMTP, MAPI), vectores de ataque habituales.
- Aplica políticas de bloqueo de cuentas por GPO y desactiva la autenticación básica mediante el registro o las directivas de grupo para reducir la superficie de ataque.
- Protege toda tu infraestructura frente al password spray y otros ataques
- Ajusta las consultas de detección para excluir las IP y regiones de confianza y modifica los umbrales para limitar los falsos positivos.
- Automatiza la respuesta a incidentes: bloquea las IP sospechosas, deshabilita las cuentas comprometidas y exige MFA a todos los usuarios.
- Intégralo con plataformas RMM para centralizar las alertas, el despliegue de scripts y la corrección en toda tu infraestructura.
Esta guía te muestra cómo detectar y bloquear ataques de password spray en Microsoft 365. Incluye estrategias para monitorizar los registros en busca de indicios de ataque, con el uso de Microsoft Sentinel y el lenguaje KQL, los registros de auditoría unificada, PowerShell para detectar el uso de autenticación heredada y el análisis de registros mediante comandos que puedes ejecutar desde el símbolo del sistema o con herramientas de automatización de seguridad.
¿Cómo se detecta un ataque de password spray?
Los ataques de password spray son ataques de fuerza bruta en los que los atacantes intentan acceder a varias cuentas utilizando contraseñas comunes o filtradas. Aunque los métodos de autenticación modernos (como MFA) ayudan a bloquearlos, los atacantes suelen aprovechar métodos de autenticación heredados (como las credenciales básicas de correo y nombre de usuario que se usan para acceder al correo mediante POP3) o los portales de inicio de sesión para intentar sortearlos en entornos que todavía no han completado la transición a métodos de autenticación más seguros.
Estos ataques de password spray se pueden detectar monitorizando los registros en busca de intentos de inicio de sesión fallidos repetidos y actividad sospechosa en endpoints de autenticación heredada. La automatización es fundamental para detectar y mitigar los ataques de password spray, ya que cualquier acceso no autorizado debe bloquearse de inmediato y hay que actualizar las credenciales de los usuarios afectados.
Los objetivos principales al automatizar la protección de Microsoft 365 frente a los ataques de password spray deberían incluir:
- Detectar patrones de inicio de sesión fallido en varias cuentas
- Correlacionar los intentos de inicio de sesión desde IP o ubicaciones geográficas poco habituales
- Bloquear la autenticación heredada
- Automatizar los bloqueos de cuentas o la generación de alertas cuando se detecte un ataque
- Reforzar los sistemas mediante cambios de políticas, scripts y registro
Antes de implementar la prevención automatizada del password spray, necesitarás:
- Un tenant de Microsoft 365 con la auditoría habilitada
- Azure Sentinel o Microsoft 365 Defender Plan 2 (para la búsqueda avanzada)
- El registro de auditoría unificada habilitado en Microsoft Purview
- Acceso de administrador a Microsoft Graph, PowerShell y la configuración de GPO
Puedes mejorar la protección de los endpoints y la automatización integrando tus despliegues de Microsoft 365 con una solución de monitorización y gestión remota (RMM), que permite centralizar la monitorización y las alertas y automatizar acciones de corrección en toda tu infraestructura.
Detectar patrones de password spray con Microsoft Sentinel y KQL
Puedes usar el lenguaje de consulta Kusto (KQL) para consultar Microsoft Sentinel y detectar comportamientos que podrían indicar un ataque de password spray. A continuación tienes un ejemplo de consulta KQL que busca varios inicios de sesión fallidos con la misma contraseña:
SigninLogs
| where ResultType == 50053
| summarize Attempts=count() by UserPrincipalName, IPAddress
| where Attempts > 5
Ejemplo KQL 2: monitorizar los inicios de sesión fallidos desde la misma IP dirigidos a varios usuarios:
SigninLogs
| where ResultType == 50053 or ResultType == 50126
| summarize CountByIP = count(), AccountsTargeted = dcount(UserPrincipalName) by IPAddress
| where AccountsTargeted > 10 and CountByIP > 30
Ejemplo KQL 3: excluir ubicaciones conocidas y seguras:| where Location != "YourSafeLocation"
Esta consulta sirve para configurar reglas de análisis en Sentinel que activen alertas cuando se superen los umbrales.
Detección ligera con los registros de auditoría unificada de Microsoft 365 en Purview
Habilita el registro de auditoría unificada en Microsoft Purview con el siguiente comando en Exchange Online PowerShell:
Set-AdminAuditLogConfig -UnifiedAuditLogIngestionEnabled $true
Después, puedes buscar los intentos de inicio de sesión fallidos con este comando:
Search-UnifiedAuditLog -StartDate (Get-Date).AddHours(-1) -EndDate (Get-Date) -Operations UserLoggedIn |
Where-Object { $_.AuditData.ResultStatus -eq «Failed» }
A continuación puedes usar herramientas de análisis para correlacionar estas entradas con direcciones IP y frecuencia, deducir si hay intentos de ataque y bloquear esos orígenes. Para ello, puedes exportar los datos del registro de auditoría en formato .csv:
Export-Csv -Path "C:\Logs\M365_LoginFailures.csv" -NoTypeInformation
Identificar el uso de autenticación heredada con PowerShell (habitual en los intentos de password spray)
Los ataques de password spray suelen tener como objetivo protocolos heredados como POP, IMAP y SMTP. Aunque estos protocolos están obsoletos en Microsoft 365, algunas organizaciones los mantienen habilitados o conservan infraestructura conectada que utiliza tecnologías de autenticación antiguas e insegurasn. Puedes detectar la autenticación heredada del correo ejecutando el siguiente comando en Exchange Online PowerShell:
Get-SignInLogs | Where-Object { $_.ClientAppUsed -in @(«IMAP», «POP», «SMTP», «MAPI», «Exchange ActiveSync») } |
Select-Object UserPrincipalName, ClientAppUsed, IPAddress
Y para desactivar estos métodos en un usuario concreto:
Set-CASMailbox [email protected] -ImapEnabled $false -PopEnabled $false -MAPIEnabled $false -SmtpClientAuthenticationDisabled $true
Bloquear protocolos heredados y forzar el bloqueo de cuentas con GPO
Además de proteger Microsoft 365 frente al password spray, puedes proteger los dispositivos endpoint de los intentos de inicio de sesión repetidos mediante directivas de grupo en un entorno de dominio de Windows. Para aplicar estas restricciones a nivel de SO en entornos híbridos:
- Abre la consola de administración de directivas de grupo
- Ve a Configuración del equipo > Configuración de Windows > Configuración de seguridad > Directivas de cuenta > Directiva de bloqueo de cuenta
- Establece el Umbral de bloqueo de cuenta en 5 intentos no válidos
- Establece la Duración del bloqueo de cuenta en 15 minutos
Puedes usar wevtutil para buscar intentos de inicio de sesión fallidos en los registros de seguridad y, si quieres, automatizar el proceso con despliegue de scripts o soluciones RMM:
wevtutil qe Security «/q:*[System[(EventID=4625)]]» /c:20 /f:text
También puedes imponer la autenticación moderna y desactivar la autenticación básica como alternativa en Outlook mediante directivas de grupo: despliega el valor de registro «AlwaysUseMSOAuthForAutoDiscover»=dword:00000001 en la clave de registro ubicada en HKEY_CURRENT_USER\Software\Microsoft\Exchange.
Resolución de problemas y otros consejos y herramientas de detección
Para asegurarte de que tus medidas de mitigación del password spray en Microsoft 365 funcionan correctamente, comprueba que:
- La ingesta del registro de auditoría unificada está habilitada
- Las IP o regiones de confianza están en la lista de permitidos de las consultas de Sentinel para reducir los falsos positivos, mientras que los inicios de sesión desde países lejanos de los que nunca esperarías un intento quedan bloqueados por completo
- Se usa el acceso condicional para bloquear la autenticación y las aplicaciones heredadas, en lugar de confiar en que los usuarios hagan la transición por su cuenta
- Se amplían los intervalos de tiempo de las consultas KQL y se ajustan las variables de umbral para detectar comportamientos sospechosos
- Las cuentas de usuario se bloquean automáticamente cuando el riesgo de inicio de sesión es alto
Para evitar que los ataques de password spray tengan éxito, implementa MFA en toda tu infraestructura de TI y para todos los usuarios. También conviene auditar con regularidad el acceso de terceros para eliminar las cuentas de servicio que no se usan o revisar sus permisos. Además, los usuarios finales deberían recibir formación periódica sobre buenas prácticas de ciberseguridad y tratamiento de datos (como identificar solicitudes de inicio de sesión sospechosas e intentos de phishing) para garantizar que tu organización esté protegida y cumpla la normativa.
Así ayuda un RMM a proteger toda tu infraestructura frente al password spray y otros ataques
La monitorización y gestión remota (RMM) de NinjaOne permite a los técnicos monitorizar y gestionar endpoints de forma remota, además de avisarles de posibles incidentes de ciberseguridad. También puede usarse para desplegar scripts que desinstalen software heredado que intente autenticarse en Microsoft 365 con métodos inseguros y para vigilar los intentos de fuerza bruta.
NinjaOne RMM también sirve para aplicar configuraciones predeterminadas seguras en todos los dispositivos y ejecutar scripts de corrección que deshabiliten usuarios y aíslen endpoints cuando se detecten anomalías. Ofrece visibilidad completa de todos los endpoints con los SO más utilizados, en cualquier ubicación.
Guía de inicio rápido
Detección de ataques de password spray en Microsoft 365
Aunque NinjaOne no cuenta con una herramienta integrada de detección de ataques de password spray, puedes aplicar varias estrategias:
1. Monitorización con Microsoft Sentinel
– Usa Microsoft Sentinel para monitorizar los registros de inicio de sesión
– Busca:
– Varios intentos de inicio de sesión fallidos en distintas cuentas
– Inicios de sesión desde direcciones IP o ubicaciones geográficas poco habituales
– Patrones de autenticación sospechosos
2. Análisis de los registros de auditoría
– Revisa los registros de inicio de sesión de Azure AD
– Comprueba si hay:
– Un volumen elevado de intentos de inicio de sesión fallidos
– Intentos desde direcciones IP anónimas o sospechosas
– Intentos de inicio de sesión en varias cuentas de usuario en poco tiempo
3. Otras protecciones recomendadas
– Habilita la autenticación multifactor (MFA)
– Implementa políticas de acceso condicional
– Usa Azure AD Password Protection
– Configura umbrales de intentos de inicio de sesión
4. Scripts complementarios de NinjaOne
– NinjaOne tiene un script llamado «Check for Brute Force login attempts» que puede ayudarte a detectar patrones de inicio de sesión sospechosos
Recomendación: aunque NinjaOne no resuelve esto directamente, te recomendamos usar Microsoft Sentinel o la monitorización avanzada de Azure AD junto con enfoques de seguridad en varias capas.
