AWS - Directory Services / WorkDocs Enum

Impara l'hacking AWS da zero a eroe con htARTE (Esperto Red Team AWS di HackTricks)!

Altri modi per supportare HackTricks:

Servizi Directory

Il servizio Directory di AWS per Microsoft Active Directory è un servizio gestito che facilita la configurazione, l'operatività e la scalabilità di una directory nel Cloud AWS. È basato su Microsoft Active Directory effettivo e si integra strettamente con altri servizi AWS, facilitando la gestione dei carichi di lavoro directory-aware e delle risorse AWS. Con AWS Managed Microsoft AD, puoi utilizzare i tuoi utenti, gruppi e criteri di Active Directory esistenti per gestire l'accesso alle tue risorse AWS. Questo può aiutare a semplificare la gestione delle identità e ridurre la necessità di soluzioni di identità aggiuntive. AWS Managed Microsoft AD fornisce anche backup automatici e capacità di ripristino di emergenza, contribuendo a garantire la disponibilità e la durata della tua directory. In generale, il servizio Directory di AWS per Microsoft Active Directory può aiutarti a risparmiare tempo e risorse fornendo un servizio Active Directory gestito, altamente disponibile e scalabile nel Cloud AWS.

Opzioni

I servizi Directory consentono 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 dell'amministratore e accedere ai DC in una VPC.

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

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

  • Amazon Cognito User Pools: È lo stesso delle 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.

I servizi Directory di AWS consentono di sincronizzare con il tuo Microsoft AD on-premises esistente, eseguire il proprio in AWS o sincronizzarsi con altri tipi di directory.

Laboratorio

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

Enumerazione

# 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>

Accesso

Nota che se la descrizione della directory conteneva un dominio nel campo AccessUrl è perché un utente probabilmente può accedere con le sue credenziali AD ad 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)

Escalation dei Privilegi

pageAWS - Directory Services Privesc

Persistenza

Utilizzando un utente AD

Un utente AD può essere dato accesso alla console di gestione AWS tramite un Ruolo da assumere. Il nome utente predefinito è Admin ed è 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ù stealth).

Condivisione AD (dalla vittima all'attaccante)

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

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

Condivisione AD (dall'attaccante alla vittima)

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

WorkDocs

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

AWS WorkDocs fornisce un'interfaccia basata sul 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.

Enumerazione

# 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>

Escalazione dei privilegi

pageAWS - WorkDocs Privesc
Impara l'hacking su AWS da zero a esperto con htARTE (HackTricks AWS Red Team Expert)!

Altri modi per supportare HackTricks:

Last updated