GWS - Admin Directory Sync
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)
La principale differenza tra questo modo di sincronizzare gli utenti con GCDS è che GCDS viene eseguito manualmente con alcuni binari che devi scaricare ed eseguire, mentre Admin Directory Sync è serverless gestito da Google in https://admin.google.com/ac/sync/externaldirectories.
Al momento della scrittura, questo servizio è in beta e supporta 2 tipi di sincronizzazione: Da Active Directory e da Azure Entra ID:
Active Directory: Per configurarlo devi dare accesso a Google al tuo ambiente Active Directory. E poiché Google ha accesso solo alle reti GCP (tramite VPC connectors), devi creare un connettore e poi rendere il tuo AD disponibile da quel connettore avendolo in VM nella rete GCP o utilizzando Cloud VPN o Cloud Interconnect. Poi, devi anche fornire credenziali di un account con accesso in lettura sulla directory e un certificato per contattare tramite LDAPS.
Azure Entra ID: Per configurarlo è necessario accedere ad Azure con un utente con accesso in lettura sulla sottoscrizione Entra ID in un pop-up mostrato da Google, e Google manterrà il token con accesso in lettura su Entra ID.
Una volta configurato correttamente, entrambe le opzioni consentiranno di sincronizzare utenti e gruppi in Workspace, ma non consentiranno di configurare utenti e gruppi da Workspace a AD o EntraID.
Altre opzioni che saranno consentite durante questa sincronizzazione sono:
Inviare un'email ai nuovi utenti per accedere
Cambiare automaticamente il loro indirizzo email in quello utilizzato da Workspace. Quindi, se Workspace utilizza @hacktricks.xyz
e gli utenti di EntraID utilizzano @carloshacktricks.onmicrosoft.com
, @hacktricks.xyz
sarà utilizzato per gli utenti creati nell'account.
Selezionare i gruppi contenenti gli utenti che saranno sincronizzati.
Selezionare i gruppi da sincronizzare e creare in Workspace (o indicare di sincronizzare tutti i gruppi).
Se riesci a compromettere un AD o EntraID avrai il controllo totale degli utenti e dei gruppi che saranno sincronizzati con Google Workspace. Tuttavia, nota che le password che gli utenti potrebbero utilizzare in Workspace potrebbero essere le stesse o meno.
Quando avviene la sincronizzazione, potrebbe sincronizzare tutti gli utenti da AD o solo quelli di una specifica OU o solo gli utenti membri di gruppi specifici in EntraID. Questo significa che per attaccare un utente sincronizzato (o crearne uno nuovo che venga sincronizzato) dovrai prima scoprire quali utenti vengono sincronizzati.
Gli utenti potrebbero riutilizzare la password o meno da AD o EntraID, ma questo significa che dovrai compromettere le password degli utenti per accedere.
Se hai accesso alle email degli utenti, potresti cambiare la password di Workspace di un utente esistente, o creare un nuovo utente, aspettare che venga sincronizzato e configurare l'account.
Una volta che accedi all'utente all'interno di Workspace, potrebbero essere concessi alcuni permessi per impostazione predefinita.
Devi anche scoprire prima quali gruppi vengono sincronizzati. Anche se c'è la possibilità che TUTTI i gruppi vengano sincronizzati (poiché Workspace lo consente).
Nota che anche se i gruppi e le appartenenze vengono importati in Workspace, gli utenti che non sono sincronizzati nella sincronizzazione degli utenti non verranno creati durante la sincronizzazione dei gruppi anche se sono membri di uno dei gruppi sincronizzati.
Se sai quali gruppi di Azure sono assegnati permessi in Workspace o GCP, potresti semplicemente aggiungere un utente compromesso (o appena creato) in quel gruppo e ottenere quei permessi.
C'è un'altra opzione per abusare dei gruppi privilegiati esistenti in Workspace. Ad esempio, il gruppo gcp-organization-admins@<workspace.email>
di solito ha alti privilegi su GCP.
Se la sincronizzazione da, ad esempio, EntraID a Workspace è configurata per sostituire il dominio dell'oggetto importato con l'email di Workspace, sarà possibile per un attaccante creare il gruppo gcp-organization-admins@<entraid.email>
in EntraID, aggiungere un utente in questo gruppo e aspettare che avvenga la sincronizzazione di tutti i gruppi.
L'utente sarà aggiunto nel gruppo gcp-organization-admins@<workspace.email>
aumentando i privilegi in GCP.
Nota che Workspace richiede credenziali con accesso in sola lettura su AD o EntraID per sincronizzare utenti e gruppi. Pertanto, non è possibile abusare di Google Workspace per apportare modifiche a AD o EntraID. Quindi questo non è possibile al momento.
Non so nemmeno dove Google memorizzi le credenziali AD o il token EntraID e non puoi recuperarli riconfigurando la sincronizzazione (non appaiono nel modulo web, devi fornirli di nuovo). Tuttavia, dal web potrebbe essere possibile abusare della funzionalità attuale per elencare utenti e gruppi.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)