AWS - Directory Services / WorkDocs Enum

Apprenez le piratage AWS de zéro à héros avec htARTE (Expert Red Team AWS de HackTricks)!

Autres façons de soutenir HackTricks:

Services de répertoire

Le service AWS Directory pour Microsoft Active Directory est un service géré qui facilite la configuration, l'exploitation et la mise à l'échelle d'un répertoire dans le cloud AWS. Il est basé sur Microsoft Active Directory réel et s'intègre étroitement avec d'autres services AWS, facilitant la gestion de vos charges de travail sensibles au répertoire et des ressources AWS. Avec AWS Managed Microsoft AD, vous pouvez utiliser vos utilisateurs, groupes et stratégies Active Directory existants pour gérer l'accès à vos ressources AWS. Cela peut aider à simplifier votre gestion des identités et à réduire le besoin de solutions d'identité supplémentaires. AWS Managed Microsoft AD fournit également des sauvegardes automatiques et des capacités de reprise après sinistre, contribuant à garantir la disponibilité et la durabilité de votre répertoire. Dans l'ensemble, le service AWS Directory pour Microsoft Active Directory peut vous aider à gagner du temps et des ressources en fournissant un service Active Directory géré, hautement disponible et évolutif dans le cloud AWS.

Options

Les Services de répertoire permettent de créer 5 types de répertoires :

  • AWS Managed Microsoft AD : Qui exécutera un nouveau Microsoft AD dans AWS. Vous pourrez définir le mot de passe administrateur et accéder aux DC dans un VPC.

  • Simple AD : Qui sera un serveur Active Directory compatible avec Linux-Samba. Vous pourrez définir le mot de passe administrateur et accéder aux DC dans un VPC.

  • AD Connector : Un proxy pour rediriger les demandes de répertoire vers votre Active Directory Microsoft existant sans mettre en cache d'informations dans le cloud. Il écoutera dans un VPC et vous devrez fournir des informations d'identification pour accéder à l'AD existant.

  • Pools d'utilisateurs Amazon Cognito : Il s'agit de la même chose que les Pools d'utilisateurs Cognito.

  • Cloud Directory : C'est le plus simple. Un répertoire sans serveur où vous indiquez le schéma à utiliser et êtes facturé en fonction de l'utilisation.

Les services de répertoire AWS permettent de synchroniser avec votre AD Microsoft sur site existant, d'exécuter le vôtre dans AWS ou de synchroniser avec d'autres types de répertoires.

Laboratoire

Vous trouverez ici un tutoriel pour créer votre propre Microsoft AD dans AWS : https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_test_lab_base.html

Énumération

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

Connexion

Notez que si la description du répertoire contient un domaine dans le champ AccessUrl, c'est parce qu'un utilisateur peut probablement se connecter avec ses identifiants AD à certains services 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)

Élévation de privilèges

pageAWS - Directory Services Privesc

Persistance

Utilisation d'un utilisateur AD

Un utilisateur AD peut se voir accorder l'accès à la console de gestion AWS via un rôle à assumer. Le nom d'utilisateur par défaut est Admin et il est possible de changer son mot de passe depuis la console AWS.

Par conséquent, il est possible de changer le mot de passe d'Admin, créer un nouvel utilisateur ou changer le mot de passe d'un utilisateur et accorder à cet utilisateur un rôle pour maintenir l'accès. Il est également possible d'ajouter un utilisateur à un groupe dans AD et de donner à ce groupe AD l'accès à un rôle (pour rendre cette persistance plus discrète).

Partage AD (de la victime à l'attaquant)

Il est possible de partager un environnement AD de la victime à l'attaquant. De cette manière, l'attaquant pourra continuer à accéder à l'environnement AD. Cependant, cela implique de partager l'AD géré et de créer une connexion VPC peering.

Vous pouvez trouver un guide ici : https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step1_setup_networking.html

Partage AD (de l'attaquant à la victime)

Il ne semble pas possible d'accorder l'accès AWS à des utilisateurs d'un environnement AD différent à un compte AWS.

WorkDocs

Amazon Web Services (AWS) WorkDocs est un service de stockage et de partage de fichiers basé sur le cloud. Il fait partie de la suite de services de cloud computing AWS et est conçu pour fournir une solution sécurisée et évolutive aux organisations pour stocker, partager et collaborer sur des fichiers et des documents.

AWS WorkDocs fournit une interface basée sur le web pour que les utilisateurs puissent télécharger, accéder et gérer leurs fichiers et documents. Il offre également des fonctionnalités telles que le contrôle des versions, la collaboration en temps réel et l'intégration avec d'autres services AWS et des outils tiers.

Énumération

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

Élévation de privilèges

pageAWS - WorkDocs Privesc
Apprenez le piratage AWS de zéro à héros avec htARTE (Expert de l'équipe rouge AWS de HackTricks)!

Autres façons de soutenir HackTricks :

Dernière mise à jour