AWS - Directory Services / WorkDocs Enum

Support HackTricks

Directory Services

AWS Directory Service for Microsoft Active Directory è un servizio gestito che semplifica la configurazione, l'operatività e la scalabilità di un directory nel Cloud AWS. È costruito su un vero Microsoft Active Directory e si integra strettamente con altri servizi AWS, rendendo facile gestire i tuoi carichi di lavoro e risorse AWS consapevoli della directory. Con AWS Managed Microsoft AD, puoi utilizzare i tuoi utenti, gruppi e politiche di Active Directory esistenti per gestire l'accesso alle tue risorse AWS. Questo può aiutare a semplificare la gestione dell'identità e ridurre la necessità di ulteriori soluzioni di identità. AWS Managed Microsoft AD fornisce anche backup automatici e capacità di disaster recovery, contribuendo a garantire la disponibilità e la durabilità della tua directory. In generale, AWS Directory Service for Microsoft Active Directory può aiutarti a risparmiare tempo e risorse fornendo un servizio Active Directory gestito, altamente disponibile e scalabile nel Cloud AWS.

Options

Directory Services consente di creare 5 tipi di directory:

  • AWS Managed Microsoft AD: Che eseguirà un nuovo Microsoft AD in AWS. Sarai in grado di impostare la password di amministratore e accedere ai DC in una VPC.

  • Simple AD: Che sarà un server compatibile con Active Directory Linux-Samba. Sarai in grado di impostare la password di amministratore e accedere ai DC in una VPC.

  • AD Connector: Un proxy per reindirizzare le richieste di directory al tuo esistente Microsoft Active Directory senza memorizzare alcuna informazione nel cloud. Sarà in ascolto in una VPC e dovrai fornire credenziali per accedere all'AD esistente.

  • Amazon Cognito User Pools: Questo è lo stesso di Cognito User Pools.

  • Cloud Directory: Questo è il più semplice. Una directory serverless in cui indichi lo schema da utilizzare e sei fatturato in base all'uso.

AWS Directory services consente di synchronizzare con il tuo Microsoft AD on-premises esistente, eseguire il tuo in AWS o sincronizzare con altri tipi di directory.

Lab

Qui puoi trovare un bel tutorial per creare il tuo Microsoft AD in AWS: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_test_lab_base.html

Enumeration

# Get directories and DCs
aws ds describe-directories
aws ds describe-domain-controllers --directory-id <id>
# Get directory settings
aws ds describe-trusts
aws ds describe-ldaps-settings --directory-id <id>
aws ds describe-shared-directories --owner-directory-id <id>
aws ds get-directory-limits
aws ds list-certificates --directory-id <id>
aws ds describe-certificate --directory-id <id> --certificate-id <id>

Login

Nota che se la descrizione della directory conteneva un dominio nel campo AccessUrl è perché un utente può probabilmente accedere con le proprie credenziali AD in alcuni servizi AWS:

  • <name>.awsapps.com/connect (Amazon Connect)

  • <name>.awsapps.com/workdocs (Amazon WorkDocs)

  • <name>.awsapps.com/workmail (Amazon WorkMail)

  • <name>.awsapps.com/console (Amazon Management Console)

  • <name>.awsapps.com/start (IAM Identity Center)

Privilege Escalation

Persistence

Using an AD user

Un utente AD può ricevere accesso alla console di gestione AWS tramite un Ruolo da assumere. Il nome utente predefinito è Admin e è possibile cambiare la sua password dalla console AWS.

Pertanto, è possibile cambiare la password di Admin, creare un nuovo utente o cambiare la password di un utente e concedere a quell'utente un Ruolo per mantenere l'accesso. È anche possibile aggiungere un utente a un gruppo all'interno di AD e dare a quel gruppo AD accesso a un Ruolo (per rendere questa persistenza più furtiva).

Sharing AD (from victim to attacker)

È possibile condividere un ambiente AD da una vittima a un attaccante. In questo modo l'attaccante sarà in grado di continuare ad accedere all'ambiente AD. Tuttavia, ciò implica la condivisione dell'AD gestito e anche la creazione di una connessione di peering VPC.

Puoi trovare una guida qui: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step1_setup_networking.html

Sharing AD (from attacker to victim)

Non sembra possibile concedere accesso AWS a utenti provenienti da un ambiente AD diverso a un account AWS.

WorkDocs

Amazon Web Services (AWS) WorkDocs è un servizio di archiviazione e condivisione file basato su cloud. Fa parte della suite di servizi di cloud computing di AWS ed è progettato per fornire una soluzione sicura e scalabile per le organizzazioni per archiviare, condividere e collaborare su file e documenti.

AWS WorkDocs fornisce un'interfaccia web per gli utenti per caricare, accedere e gestire i propri file e documenti. Offre anche funzionalità come il controllo delle versioni, la collaborazione in tempo reale e l'integrazione con altri servizi AWS e strumenti di terze parti.

Enumeration

# Get AD users (Admin not included)
aws workdocs describe-users --organization-id <directory-id>
# Get AD groups (containing "a")
aws workdocs describe-groups --organization-id d-9067a0285c --search-query a

# Create user (created inside the AD)
aws workdocs create-user --username testingasd --given-name testingasd --surname testingasd --password <password> --email-address name@directory.domain --organization-id <directory-id>

# Get what each user has created
aws workdocs describe-activities --user-id "S-1-5-21-377..."

# Get what was created in the directory
aws workdocs describe-activities --organization-id <directory-id>

# Get folder content
aws workdocs describe-folder-contents --folder-id <fold-id>

# Get file (a url to access with the content will be retreived)
aws workdocs get-document --document-id <doc-id>

# Get resource permissions if any
aws workdocs describe-resource-permissions --resource-id <value>

# Add permission so anyway can see the file
aws workdocs add-resource-permissions --resource-id <id> --principals Id=anonymous,Type=ANONYMOUS,Role=VIEWER
## This will give an id, the file will be acesible in: https://<name>.awsapps.com/workdocs/index.html#/share/document/<id>

Privesc

Supporta HackTricks

Last updated