Az - Seamless SSO
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
From the docs: Azure Active Directory Seamless Single Sign-On (Azure AD Seamless SSO) accede automaticamente gli utenti quando sono sui loro dispositivi aziendali connessi alla tua rete aziendale. Quando abilitato, gli utenti non devono digitare le loro password per accedere ad Azure AD, e di solito, nemmeno digitare i loro nomi utente. Questa funzionalità offre ai tuoi utenti un facile accesso alle tue applicazioni basate su cloud senza necessità di componenti aggiuntivi on-premises.
Fondamentalmente, Azure AD Seamless SSO accede gli utenti quando sono su un PC unito a un dominio on-prem.
È supportato sia da PHS (Password Hash Sync) che da PTA (Pass-through Authentication).
Il SSO desktop utilizza Kerberos per l'autenticazione. Quando configurato, Azure AD Connect crea un account computer chiamato AZUREADSSOACC$
nell'AD on-prem. La password dell'account AZUREADSSOACC$
è inviata in chiaro ad Azure AD durante la configurazione.
I ticket Kerberos sono crittografati utilizzando l'NTHash (MD4) della password e Azure AD utilizza la password inviata per decrittografare i ticket.
Azure AD espone un endpoint (https://autologon.microsoftazuread-sso.com) che accetta i ticket Kerberos. Il browser della macchina unita al dominio inoltra i ticket a questo endpoint per il SSO.
La password dell'utente AZUREADSSOACC$
non cambia mai. Pertanto, un amministratore di dominio potrebbe compromettere l'hash di questo account, e poi usarlo per creare silver ticket per connettersi ad Azure con qualsiasi utente on-prem sincronizzato:
Con l'hash puoi ora generare biglietti silver:
Per utilizzare il silver ticket, i seguenti passaggi devono essere eseguiti:
Avviare il Browser: Mozilla Firefox deve essere avviato.
Configurare il Browser:
Navigare su about:config
.
Impostare la preferenza per network.negotiate-auth.trusted-uris ai valori specificati:
https://aadg.windows.net.nsatc.net
https://autologon.microsoftazuread-sso.com
Accedere all'Applicazione Web:
Visitare un'applicazione web integrata con il dominio AAD dell'organizzazione. Un esempio comune è Office 365.
Processo di Autenticazione:
Nella schermata di accesso, deve essere inserito il nome utente, lasciando vuoto il campo della password.
Per procedere, premere TAB o ENTER.
Questo non bypassa MFA se abilitato
È anche possibile eseguire questo attacco senza un attacco dcsync per essere più furtivi come spiegato in questo post del blog. Per questo hai solo bisogno di uno dei seguenti:
Golden Ticket: Se hai la chiave KRBTGT, puoi creare il TGT di cui hai bisogno per l'utente attaccato.
L'hash NTLM o la chiave AES di un utente compromesso: SeamlessPass comunicherà con il controller di dominio con queste informazioni per generare il TGT.
Hash NTLM o chiave AES dell'account AZUREADSSOACC$: Con queste informazioni e l'Identificatore di Sicurezza (SID) dell'utente da attaccare è possibile creare un ticket di servizio e autenticarsi con il cloud (come eseguito nel metodo precedente).
Infine, con il TGT è possibile utilizzare lo strumento SeamlessPass con:
Ulteriori informazioni per impostare Firefox per lavorare con SSO senza soluzione di continuità possono essere trovate in questo post del blog.
Se gli amministratori di Active Directory hanno accesso ad Azure AD Connect, possono impostare SID per qualsiasi utente cloud. In questo modo i ticket Kerberos possono essere creati anche per utenti solo cloud. L'unico requisito è che il SID sia un SID valido.
La modifica del SID degli utenti amministratori solo cloud è ora bloccata da Microsoft. Per informazioni controlla https://aadinternals.com/post/on-prem_admin/
Chiunque possa gestire gli account computer (AZUREADSSOACC$
) nel contenitore o nell'OU in cui si trova questo account, può configurare una delegazione vincolata basata su risorse sull'account e accedervi.
Impara e pratica il hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Impara e pratica il hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)