Análisis de inicios de sesión de Entra ID: riesgo y viajes
Cómo analizar los inicios de sesión de Entra ID en un BEC: campos clave, códigos de error, viaje imposible y falsos positivos, difusión, fatiga de MFA.
En resumen. En los registros de inicio de sesión, lea siete cosas por fila: hora, usuario, IP + ASN + ubicación, aplicación, cliente / protocolo de autenticación, estado + código de error, Session ID. Después busque patrones, no filas sueltas: un inicio de sesión correcto desde una red de hosting, un mismo Session ID usado desde dos redes, muchos fallos 50126 desde una IP (difusión de contraseñas), fallos de MFA repetidos y luego un éxito (fatiga), un protocolo deviceCode, un cliente heredado, un bloqueo por acceso condicional seguido de un éxito. El viaje imposible es una pista, no un veredicto: las VPN y las redes móviles generan muchísimos.
Los registros de inicio de sesión son donde empieza un BEC. También son el origen de la mayoría de las falsas alarmas, porque un equipo comercial de viaje conectado al Wi-Fi de un hotel y los puntos de salida de un operador móvil se parecen mucho a un atacante. La clave es combinar señales.
Los campos que conviene leer
Del CSV/JSON del portal o del recurso signIn de Graph:
| Columna del portal | Propiedad de Graph | Por qué importa |
|---|---|---|
| Date (UTC) | createdDateTime | Cronología, siempre en UTC |
| Username | userPrincipalName | Quién |
| IP address | ipAddress | Pivote hacia el UAL |
| Location | location (ciudad, región, país) | Desplazamientos, países nuevos (geolocalización aproximada) |
| Autonomous system number | autonomousSystemNumber | Hosting, residencial o red corporativa |
| Application / Resource | appDisplayName, resourceDisplayName | Las recomendaciones de búsqueda AiTM de Microsoft se fijan en inicios de sesión en OfficeHome seguidos de uso de aplicaciones desde otro país |
| Client app | clientAppUsed | Browser, Mobile Apps and Desktop clients, o un protocolo heredado (IMAP, POP, SMTP, Exchange ActiveSync…) |
| Authentication protocol | authenticationProtocol | deviceCode indica el flujo de código de dispositivo |
| Status / Sign-in error code | status.errorCode | Motivo del fallo |
| Session ID | sessionId | Vincula inicios de sesión interactivos, no interactivos y el UAL |
| Unique token identifier | uniqueTokenIdentifier | Vincula un token con los registros de las cargas de trabajo |
| Interactivo o no | isInteractive, signInEventTypes | La reutilización aparece como no interactiva |
| Riesgo | riskLevelDuringSignIn, riskEventTypes_v2 | Veredicto de Entra ID Protection (detalles con P2) |
Códigos de error que encontrará
Según la referencia de códigos de error AADSTS de Microsoft:
| Código | Significado | Lectura en clave BEC |
|---|---|---|
| 50126 | Nombre de usuario o contraseña no válidos | Difusión de contraseñas o fuerza bruta si se repite en varias cuentas |
| 50053 | Cuenta bloqueada (o inicio de sesión desde una IP maliciosa bloqueado) | Fuerza bruta en curso |
| 50074 / 50076 | Se requiere autenticación fuerte | La contraseña era correcta y después se pidió MFA |
| 500121 | Error durante la solicitud de autenticación fuerte | MFA no completada: rechazada, caducada o intento de fatiga |
| 53003 | Bloqueado por el acceso condicional | Vigile qué tiene éxito justo después |
| 53000 | Dispositivo no conforme | Igual |
Un 50074 o un 500121 en una cuenta a la que el usuario no intentaba acceder en ese momento significa que otra persona tiene la contraseña.
Patrón 1: inicio de sesión correcto desde una red de hosting o VPN
Los proxies de phishing y las máquinas de los atacantes funcionan casi siempre en proveedores cloud y VPS. Un inicio de sesión correcto cuyo ASN pertenece a un proveedor de hosting, en un usuario que normalmente se conecta desde una red corporativa o un proveedor residencial, es una de las señales aisladas más útiles. Dos salvedades: su propia VPN o pasarela web segura también puede estar en un ASN cloud (inclúyala en lista blanca), y los atacantes usan cada vez más proxies residenciales precisamente para esquivar esta comprobación.
Patrón 2: una sesión, dos redes
El Session ID se crea en el inicio de sesión interactivo y lo heredan todos los tokens derivados de él. Si el inicio de sesión interactivo llegó desde la IP A y aparecen inicios de sesión no interactivos del mismo Session ID desde la IP B, en otro país u otro ASN, es muy probable que la sesión se robara y reutilizara. Se trata a fondo en detección de phishing AiTM y reutilización de tokens.
Patrón 3: el viaje imposible y por qué miente
El viaje imposible compara inicios de sesión correctos consecutivos de un usuario: si la distancia dividida por el tiempo transcurrido supera lo que puede hacer un avión comercial, algo falla. Detecta la reutilización desde otro continente. También detecta:
| Falso positivo | Cómo se ve | Cómo descartarlo |
|---|---|---|
| VPN corporativa o personal | Saltos al país de salida de la VPN y vuelta | ASN / rangos de IP de la VPN conocidos; mismo ID de dispositivo y agente de usuario |
| Proxy en la nube / pasarela web segura | Inicios de sesión «desde» el centro de datos del proveedor | ASN del proveedor; igual en muchos usuarios |
| Operador móvil | Salida del operador lejos del usuario | ASN móvil; agente de usuario móvil |
| Error de geolocalización IP | El país cambia para el mismo rango de IP | Mismo /24 o ASN en ambos lados |
| Cuentas de servicio compartidas | Varias personas, varios lugares | Tipo de cuenta |
La detección Atypical travel (viaje atípico) de Microsoft ignora falsos positivos evidentes como las VPN y las ubicaciones que usan habitualmente otros miembros de la organización, y necesita un periodo de aprendizaje (lo primero entre 14 días y 10 inicios de sesión). Un análisis basado solo en registros no tiene ese historial, así que trate el viaje imposible en bruto como una pista y exija un segundo indicador.
La regla de M365 Forensics es transparente con sus parámetros: dos inicios de sesión correctos consecutivos de la misma cuenta, separados al menos 500 km, que implican más de 900 km/h; usa las coordenadas del inicio de sesión cuando existen y, si no, el centro geográfico del país. Se clasifica como alta, no crítica, precisamente por los falsos positivos anteriores.
Patrón 4: difusión de contraseñas y fatiga de MFA
- Difusión de contraseñas (password spraying): una IP, muchas cuentas distintas, fallos
50126en menos de una hora. La herramienta la marca cuando una IP falla contra cinco o más cuentas distintas en 60 minutos. Si una de esas cuentas tiene éxito después desde un lugar inusual, priorícela. - Fatiga de MFA: varios fallos en el paso de MFA (
500121,50074,50076…) para un usuario en poco tiempo, quizá seguidos de un éxito. La herramienta marca cinco fallos en una hora (medio) y tres fallos seguidos de un inicio de sesión interactivo correcto en la misma hora (alto). La coincidencia de números en Microsoft Authenticator reduce el riesgo, pero no elimina la ingeniería social.
Entra ID Protection tiene su propia detección Password spray; según Microsoft Learn, solo se activa cuando una difusión llegó a validar la contraseña de un usuario.
Patrón 5: código de dispositivo y autenticación heredada
- Flujo de código de dispositivo (
authenticationProtocol = deviceCode, uoriginalTransferMethod = deviceCodeFlow): el usuario escribe un código en la página de inicio de sesión de dispositivos de Microsoft y la sesión del atacante recibe los tokens. Microsoft documentó una amplia campaña de phishing con código de dispositivo en febrero de 2025 y recomienda bloquear este flujo siempre que sea posible. Consulte phishing con código de dispositivo. - Autenticación heredada (IMAP, POP, SMTP AUTH, Exchange ActiveSync con autenticación básica…): no puede exigir MFA. Un inicio de sesión heredado correcto en un buzón que no debería usarlo merece revisión.
Patrón 6: bloqueo por acceso condicional y después éxito
Un bloqueo 53003 seguido en menos de una hora de un éxito del mismo usuario puede ser un usuario que arregla su dispositivo o un atacante que cambia de cliente o de red hasta que una directiva deja de aplicarse. Compare las dos filas: ¿mismo dispositivo y misma IP, o no?
Señales de Entra ID Protection
Si el tenant tiene P2, riskEventTypes_v2 y riskLevelDuringSignIn incluyen las detecciones de Microsoft (unfamiliarFeatures, anonymizedIPAddress, unlikelyTravel…). Sin P2 verá hidden o un «riesgo adicional detectado» genérico. Úselas como corroboración; su ausencia no prueba nada.
Leerlo todo junto
Una fila aislada muy reveladora es rara. Lo que convence es un conjunto: una difusión de contraseñas desde un VPS a las 22:10, un inicio de sesión correcto desde un hosting para el mismo usuario a las 08:12, el mismo Session ID desde otro país siete minutos después y, a continuación, un nuevo método MFA. M365 Forensics puntúa cada patrón y luego correlaciona: cualquier acción del UAL o de la auditoría que lleve la IP, el Session ID o el token de un inicio de sesión sospechoso se convierte en un hallazgo crítico. El incidente ficticio comentado muestra un conjunto así, incluido un hallazgo de viaje imposible cuyas pruebas mezclan los inicios de sesión legítimos de la usuaria con los del atacante.
Preguntas frecuentes
¿Una alerta de viaje imposible demuestra que la cuenta fue hackeada?
No. Las VPN, los proxies en la nube, las redes móviles y los errores de geolocalización IP generan viajes imposibles entre inicios de sesión legítimos. Trátela como una pista y busque un segundo indicador independiente, como una red de hosting, una sesión reutilizada o una regla de bandeja de entrada nueva.
¿Qué significa el error 50126 en los registros de inicio de sesión de Entra?
InvalidUserNameOrPassword: las credenciales eran incorrectas. Algunos son normales; muchos fallos 50126 desde una misma IP contra muchas cuentas en poco tiempo es el patrón de una difusión de contraseñas.
¿Por qué son importantes los inicios de sesión no interactivos?
Registran el uso de tokens sin intervención del usuario, que es como se reutiliza una cookie de sesión o un token de actualización robado. La reutilización de tokens y muchas acciones del atacante solo aparecen ahí.
Para saber más
- Microsoft Learn: ¿Qué son las detecciones de riesgo?, Registros de inicio de sesión no interactivos
- MITRE ATT&CK: Password Spraying (T1110.003), MFA Request Generation (T1621)
- Cómo exportar los registros de inicio de sesión
- Okta plantea las mismas preguntas con otros campos: oktaforensics.com.