Puede delegar
Descripción
La entidad de seguridad de origen puede realizar la delegación restringida de Kerberos (KCD) con transición de protocolos en el equipo de destino. Es decir, puede suplantar la identidad de cualquier usuario cuando se autentique con Kerberos en cualquier servicio que se ejecute en el equipo de destino.
Por lo tanto, a menudo conduce a un riesgo total en el equipo de destino.
Explotación
Los atacantes que ponen en peligro la entidad de seguridad de origen pueden usar herramientas para hackers dedicadas, como Rubeus, para explotar extensiones legítimas del protocolo Kerberos (S4U2self y S4U2proxy) con el fin de falsificar tickets de servicio de Kerberos y suplantar la identidad del usuario de destino. Es probable que los atacantes elijan suplantar la identidad de un usuario privilegiado para obtener acceso privilegiado.
Una vez que los atacantes falsifican el ticket de servicio, pueden usar cualquier herramienta de administración nativa o herramienta para hackers especializada compatible con Kerberos para ejecutar comandos arbitrarios de forma remota.
Un intento de explotación exitoso debe cumplir las siguientes restricciones:
-
La entidad de seguridad de origen debe estar habilitada para la transición de protocolos (ADS_UF_TRUSTED_TO_AUTHENTICATE_FOR_DELEGATION en UserAccountControl o “Usar cualquier protocolo de autenticación” en la GUI de delegación). Más precisamente, el ataque podría funcionar sin transición de protocolos (“Usar solamente Kerberos” en la GUI de delegación), pero los atacantes primero deben forzar una autenticación de Kerberos del usuario objetivo en la entidad de seguridad de origen, lo que hace que el ataque sea más difícil. Por lo tanto, en este caso Tenable Identity Exposure no crea una relación de ataque.
-
Las entidades de seguridad de origen y de destino deben tener un atributo ServicePrincipalName. Tenable Identity Exposure no crea esta relación de ataque sin esta condición.
-
La cuenta que se va a suplantar no debe estar marcada como “es importante y no se puede delegar” (ADS_UF_NOT_DELEGATED en UserAccountControl) ni ser miembro del grupo “Usuarios protegidos”, ya que Active Directory protege dichas cuentas de los ataques de delegación.
Por el contrario, el equipo de destino donde se permite la delegación está designado por un nombre de entidad de servicio (SPN) y, por lo tanto, contiene un servicio específico, como SMB con “cifs/host.example.net”, HTTP con “http/host.example.net”, etc. Sin embargo, los atacantes pueden apuntar a cualquier otro SPN y servicio que se ejecute bajo la misma cuenta de destino mediante un “ataque de sustitución de sname”. Por lo tanto, esto no constituye una limitación.
Corrección
Si la entidad de seguridad de origen no necesita el permiso para realizar la delegación restringida de Kerberos (KCD) en el equipo de destino, debe quitarlo. La modificación debe hacerse en el lado de origen, a diferencia de una relación de ataque de delegación “Puede actuar”.
Para quitar la entidad de seguridad de origen:
-
En la GUI de administración de “Usuarios y equipos de Active Directory”, vaya a la pestaña Propiedades > Delegación del objeto de origen.
-
Quite el nombre de entidad de servicio correspondiente al destino.
-
Si no quiere ninguna delegación de este origen, quite todos los SPN y seleccione “No confiar en este equipo para la delegación”.
Como alternativa, puede usar PowerShell para modificar el contenido del atributo “msDS-AllowedToDelegateTo” del origen.
-
Por ejemplo, en PowerShell, ejecute este comando para reemplazar todos los valores:
CopiarSet-ADObject -Identity "CN=Source,OU=corp,DC=example,DC=net" -Replace @{ "msDS-AllowedToDelegateTo" = @("cifs/desiredTarget.example.net") }
-
Si no quiere ninguna delegación de este origen, ejecute el siguiente comando para borrar el atributo:
CopiarSet-ADObject -Identity "CN=Source,OU=corp,DC=example,DC=net" -Clear "msDS-AllowedToDelegateTo"
También es posible deshabilitar la transición de protocolos para reducir el riesgo sin cerrar por completo esta ruta de ataque. Esto requiere que todas las entidades de seguridad se conecten al origen usando solamente Kerberos en lugar de NTLM.
Para deshabilitar la transición de protocolos:
-
En la GUI de administración de “Usuarios y equipos de Active Directory”, vaya a la pestaña Propiedades > Delegación del objeto de origen.
-
Seleccione “Usar solamente Kerberos” en lugar de “Usar cualquier protocolo de autenticación”.
Como alternativa, puede ejecutar el siguiente comando en PowerShell para deshabilitar la transición de protocolos:
Set-ADAccountControl -Identity "CN=Source,OU=corp,DC=example,DC=net" -TrustedToAuthForDelegation $false
Por último, como recomendación general, para limitar la exposición de las cuentas privilegiadas confidenciales a dichos ataques de delegación, Tenable Identity Exposure recomienda que se marquen como “Es importante y no se puede delegar” (ADS_UF_NOT_DELEGATED) o se agreguen al grupo “Usuarios protegidos”, después de una verificación cuidadosa de los efectos operativos asociados.
Consulte también