Tomer Nahum

Este artículo describe un abuso de la sincronización de concordancia dura en Entra Connect que puede llevar a la toma de posesión de la cuenta Entra ID. Estos hallazgos se basan en la investigación que Semperis publicó en agosto, que describía el abuso de la sincronización suave (también conocida como sincronización SMTP).

Esta vulnerabilidad SyncJacking significa que un atacante con ciertos privilegios puede abusar de la sincronización de coincidencias duras en Entra Connect para apoderarse completamente de cualquier cuenta Entra ID sincronizada, incluido el Administrador Global Activo.

Estos hallazgos se comunicaron rápidamente al Centro de Respuesta de Seguridad de Microsoft (MSRC), que actualizó las directrices de endurecimiento para proporcionar mitigaciones más específicas contra el abuso de las coincidencias duras. Aunque el MSRC respondió rápidamente y actualizó las directrices de endurecimiento, las pruebas posteriores muestran que el ataque puede tener éxito incluso después de aplicar estas mitigaciones. Por lo tanto, recomendamos encarecidamente una mitigación adicional para combatir el abuso y la posible apropiación de cuentas Entra ID.

Entra Connect y el emparejamiento duro

Como se explica en "Abuso de concordancia SMTP en Azure AD", Entra Connect es una aplicación de Microsoft que soporta identidad híbrida mediante la sincronización de objetos AD on-prem con objetos Entra ID. Las características de Entra Connect incluyen sincronización de hash de contraseña, autenticación pass-through, integración de federación (con ADFS) y sincronización (con Entra Connect Sync). La toma de control de cuentas de Entra ID de coincidencia difícil que se analiza aquí abusa de la sincronización de hash de contraseñas y de las funciones generales de sincronización de Entra Connect.

Para lograr la integridad entre el entorno on-prem y los inquilinos de Entra ID en implementaciones de identidad híbrida, Entra Connect empareja objetos de usuario entre AD y Entra ID. Un atributo de anclaje de origen, elegido durante la configuración y sincronización iniciales de Entra Connect, identifica de forma exclusiva cada uno de estos objetos de usuario entre AD y Entra ID. Entra Connect utiliza este atributo para emparejar objetos de usuario entre Entra ID y AD utilizando una de dos técnicas:

  • Emparejamiento duro
  • Ajuste suave (SMTP)

Emparejamiento duro

Si permite que Azure gestione el anclaje de origen, Entra Connect busca uno de los dos posibles atributos sourceAnchor:

  • Entra Connect versión 1.1.486.0 o anterior busca el objectGUID
  • Entra Connect versión 1.1.524.0 o posterior busca el mS-DS-ConsistencyGuid

Si el atributo mS-DS-ConsistencyGuid no está rellenado, Entra Connect escribe el objectGUID del usuario en ese atributo. El valor correspondiente en el objeto Entra ID es ImmutableID (el objectGUID codificado en base64). La Figura 1 muestra un ejemplo de hard matching: obtener el ImmutableID de un objeto Entra ID a partir del objectGUID del usuario on-prem AD.

ImmutableID y hard matching - syncjacking
Figura 1

Este mecanismo es el objeto de los abusos de los que se habla en este post.

Sincronización del hash de la contraseña

La sincronización del hash de la contraseña, un método de autenticación que está habilitado por defecto en los entornos de identidad híbrida Entra ID, sincroniza el hash de la contraseña del usuario en AD local con Entra ID cada dos minutos. Esta sincronización permite el uso de la misma contraseña para iniciar sesión tanto en AD como en Entra ID. (Para una explicación detallada de la sincronización del hash de la contraseña, consulte "Entender la sincronización del hash de la contraseña de Azure AD").

Cómo pueden utilizar los atacantes el hard matching para facilitar la apropiación de cuentas Entra ID

Para realizar este ataque, un atacante sólo necesita dos permisos:

  • Write-all-Properties o GenericWrite en una cuenta AD on-prem no sincronizada
  • Eliminar en una cuenta AD on-prem sincronizada

El siguiente ejemplo ilustra este ataque en una cuenta con una asignación de rol de Administrador Global Activo en Entra ID. Tenga en cuenta que este ataque funciona en cualquier cuenta sincronizada.

Nutshell es un Administrador Global Activo sincronizado en Entra ID con el UPN nutshell@xd6z7.onmicrosoft.com (Figura 2, Figura 3).

Adquisición sincronizada de cuentas Azure AD
Figura 2
función de cáscara de nuez
Figura 3

Como nutshell es un usuario sincronizado, tiene presencia en el entorno AD on-prem. El atacante tiene permiso Write-All-Properties en una cuenta AD on-prem no sincronizada AliceIC. El atacante también tiene permiso para Eliminar en la cuenta de AD local sincronizada. Además, el atacante tiene la contraseña de la cuenta AliceIC.

Así es como el atacante puede usar el usuario on-prem AliceIC para secuestrar la cuenta de Entra ID.

Primero, el atacante copia el UPN del ID de Entra en el atributo userPrincipalName del AD on-prem de AliceIC (Figura 4).

UPN copiado
Figura 4

La Figura 5 muestra la población del atributo mS-DS-ConsistencyGuid de AD on-prem.

Población de mS-DS-ConsistencyGuid on-prem
Gráfico 5

A continuación, el atacante copia el valor del atributo nutshell mS-DS-ConsistencyGuid en el atributo AliceIC mS-DS-ConsistencyGuid (Figura 6).

Copia del valor del atributo nutshell al atributo AliceIC
Figura 6

Finalmente, el atacante elimina la cuenta nutshell on-prem y espera a la sincronización (Figura 7).

Active Directory - Supresión de la cuenta nutshell on-prem
Gráfico 7

Ahora, la cuenta AliceIC on-prem AD se sincroniza con la cuenta Entra ID nutshell. Dado que Entra Connect utiliza la sincronización de hash de contraseña por defecto, la contraseña de AliceIC y el atributo DisplayName también se sincronizan con la cuenta de Entra ID de nutshell.

AliceIC es ahora un Administrador Global Activo y actúa en nombre de nutshell (Figura 8). Como se mencionó anteriormente, no encontrará ningún rastro de estos cambios en los registros on-prem y sólo un rastro mínimo en los registros de Entra ID.

Adquisición de cuentas
Figura 8

Es importante tener en cuenta por qué los atacantes podrían explotar este método:

  • El uso de hard matching para facilitar el traspaso de cuentas de Entra ID no deja rastro en los registros de AD on-prem y sólo un rastro mínimo en los registros de Entra ID.
  • El ataque sólo requiere dos permisos en las cuentas de destino para hacerse completamente con el control de cualquier cuenta sincronizada con cualquier rol.
  • Un atacante que posea permisos relativamente altos en AD puede tomar el control de Entra ID tomando cualquier cuenta sincronizada con una asignación Activo/Elegible.

Posibles abusos

Delegación de usuarios. Si a un usuario o grupo se le ha delegado el control para gestionar usuarios en una o más unidades organizativas (OUs) con usuarios sincronizados y no sincronizados, entonces ese usuario o grupo tiene el control total de estos objetos y puede secuestrar cualquiera de ellos-teóricamente incluso convertirse en Administrador Global.

Operadores de cuentas. Cualquier usuario del grupo Operadores de cuentas puede gestionar todas las cuentas y tiene privilegios de creación de cuentas. Por lo tanto, cualquier Operador de Cuenta puede secuestrar a cualquier usuario sincronizado.

Utilización de Semperis DSP para detectar este tipo de apropiación de cuentas Entra ID

Semperis Directory Services Protector ( DSP) recoge los cambios de Entra ID y los datos de AD on-prem y utiliza estos datos para detectar intentos de explotar esta vulnerabilidad. A pesar de los mínimos rastros dejados por el ataque, las capacidades específicas de DSPpermiten su detección.

Otras detecciones de abuso de SyncJacking

Usted puede razonablemente (aunque no definitivamente) asumir que este ataque ha ocurrido si dos eventos de registro ocurren uno tras otro en Entra ID: "Cambiar contraseña de usuario" seguido de "Actualizar usuario" con un DisplayName cambiado y un objetivo que usa el mismo UPN(Figura 9, Figura 10).

"Evento "Cambiar contraseña de usuario
Figura 9
"Evento "Actualizar usuario
Figura 10

 

Corrección de SyncJacking

El MSRC ha actualizado sus directrices para incluir la siguiente recomendación:

Desactivar Hard Match Takeover. Hard match takeover permite a Entra Connect tomar el control de un objeto gestionado en la nube y cambiar la fuente de autoridad del objeto a Active Directory. Una vez que la fuente de autoridad de un objeto es tomada por Entra Connect, los cambios hechos al objeto Active Directory que está vinculado al objeto Entra ID sobrescribirán los datos originales de Entra ID - incluyendo el hash de la contraseña, si la Sincronización de Hash de Contraseña está habilitada. Un atacante podría utilizar esta capacidad para hacerse con el control de objetos gestionados en la nube. Para mitigar este riesgo, deshabilite el hard match takeover.

Nuestras pruebas demuestran que el SyncJacking funciona incluso después de desactivar la toma de partido dura. En cualquier caso, es importante aplicar esta directriz de endurecimiento.

MSRC afirma que es importante habilitar MFA para todos los usuarios que tienen acceso privilegiado en Entra ID o en AD. Actualmente, la única manera de mitigar este ataque es aplicar MFA a todos los usuarios sincronizados. Esta no es una forma segura de evitar que un atacante acceda a su cuenta si se abusa del SyncJacking, pero puede ayudar. Asegúrese de seguir todas las directrices de refuerzo proporcionadas por Microsoft en el enlace anterior para mitigar muchas superficies de ataque en su entorno de identidad híbrida. Para una protección aún mayor, considere la posibilidad de implementar DSP para la Detección y Respuesta a Amenazas de Identidad (ITDR).

Calendario de divulgación

  • 6 de octubre: Semperis descubre abusos y los denuncia al MSRC.
  • 12 de octubre: el MSRC responde con directrices de endurecimiento.
  • 18 de octubre: Semperis responde a MSRC con nueva información; el ataque sigue funcionando con las mitigaciones aplicadas.
  • 27 de octubre: El MSRC reabre el caso para revisar la información.
  • 4 de noviembre: El MSRC actualiza las directrices de endurecimiento de la documentación para mitigar específicamente el abuso de hard matching, y señala que el comportamiento de hard matching descrito aquí es por diseño.
  • 7 de noviembre: Semperis responde a MSRC; el ataque sigue funcionando con las directrices de endurecimiento aplicadas.
  • 11 de noviembre: MSRC mantiene que el comportamiento es por diseño.

Agradecimientos

Un agradecimiento especial a las siguientes personas

  • Andrea Pierini (@decoder_it)
  • Charlie Clark (@exploitph)
  • Sapir Federovsky (@sapirxfed)

Agradecimiento especial al MSRC por reconocer la exposición y responder rápidamente con directrices actualizadas.

Más información