viernes, 23 de octubre de 2020

Usas inicio de sesión único en Azure Active Directory... resetea la contraseña Kerberos...Mimikatz la quiere xD

 Estimados amigos de Inseguros !!!

Seguro que muchos de vosotros tenéis un Directorio Activo sincronizado con Azure para una o varias funciones. Principalmente lo usamos para conectar las cuentas del dominio local con cuentas de Office 365.

Una de las funcionalidades que tenemos disponibles es la Inicio de sesión único de conexión directa, un SSO para no tener que estar autenticando nuestros Office online en cada uso.

Esta sincronización se hace mediante un ticket kerberos que se le pasa al navegador para autenticar con el portal de Office por ejemplo. 

El funcionamiento interno del ticket Kerberos se hace mediante una cuenta de equipo denominada AZUREADSSOACC. Cuando el usuario hace login en el portal de office, el controlador de dominio On-Premise genera un ticket kerberos usando esta cuenta, que representa el "azure ad".


Cómo imaginas, esta cuenta es muy importante y es necesario resetear el ticket kerberos que se genera de vez en cuando, por lo menos una vez al mes, para evitar que si se ve comprometida la cuenta o el ticket, un atacante no siga teniendo el control del usuario.

El ataque sería muy sencillo usando Mimikatz por ejemplo:

mimikatz.exe "lsadump::dcsync /user:AZUREADSSOACC$" exit


Con esta información estamos a disposición de crear un Silver Ticket mediante este ataque e impersonar a cualquier usuario.


Bueno, pero el propósito de este post no es otro que ayudar con la defensa, como casi siempre, y es importante que de vez en cuando, una o dos veces al trimestre... al semestre... hagais un reset del ticket kerberos para evitar persistencia en el sistema. No se os ocurra cambiar la clave de la cuenta.


El proceso es muy sencillo. Os recomiendo comprobar el estado de vuestra conexión, resetear el ticket, y volver a comprobarlo.


Import-Module “C:\Program Files\Microsoft Azure Active Directory Connect\AzureADSSO.psd1”

New-AzureADSSOAuthenticationContext 

Get-AzureADSSOStatus | ConvertFrom-Json

$Clave = Get-Credential

Update-AzureADSSOForest -OnPremCredentials $Clave

Espero que os sirva un poco para conocer cómo funciona esta particularidad, y sobre todo, para os asegureis !!!

Gracias por leerme !!!