AWS - Verzeichnisdienste / WorkDocs Enum

Reading time: 6 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

Verzeichnisdienste

AWS Directory Service für Microsoft Active Directory ist ein verwalteter Dienst, der es einfach macht, ein Verzeichnis in der AWS-Cloud einzurichten, zu betreiben und zu skalieren. Es basiert auf dem tatsächlichen Microsoft Active Directory und integriert sich eng mit anderen AWS-Diensten, was die Verwaltung Ihrer verzeichnisbewussten Workloads und AWS-Ressourcen erleichtert. Mit AWS Managed Microsoft AD können Sie Ihre vorhandenen Active Directory-Benutzer, -Gruppen und -Richtlinien verwenden, um den Zugriff auf Ihre AWS-Ressourcen zu verwalten. Dies kann helfen, Ihr Identitätsmanagement zu vereinfachen und den Bedarf an zusätzlichen Identitätslösungen zu reduzieren. AWS Managed Microsoft AD bietet auch automatische Backups und Notfallwiederherstellungsfunktionen, die dazu beitragen, die Verfügbarkeit und Haltbarkeit Ihres Verzeichnisses sicherzustellen. Insgesamt kann AWS Directory Service für Microsoft Active Directory Ihnen helfen, Zeit und Ressourcen zu sparen, indem es einen verwalteten, hochverfügbaren und skalierbaren Active Directory-Dienst in der AWS-Cloud bereitstellt.

Optionen

Verzeichnisdienste ermöglichen die Erstellung von 5 Arten von Verzeichnissen:

  • AWS Managed Microsoft AD: Das wird ein neues Microsoft AD in AWS ausführen. Sie können das Admin-Passwort festlegen und auf die DCs in einem VPC zugreifen.
  • Simple AD: Das wird ein Linux-Samba Active Directory-kompatibler Server sein. Sie können das Admin-Passwort festlegen und auf die DCs in einem VPC zugreifen.
  • AD Connector: Ein Proxy zum Umleiten von Verzeichnisanfragen an Ihr vorhandenes Microsoft Active Directory, ohne Informationen in der Cloud zu cachen. Es wird in einem VPC lauschen und Sie müssen Anmeldeinformationen für den Zugriff auf das vorhandene AD bereitstellen.
  • Amazon Cognito User Pools: Das ist dasselbe wie Cognito User Pools.
  • Cloud Directory: Das ist das einfachste. Ein serverloses Verzeichnis, in dem Sie das Schema angeben, das verwendet werden soll, und nach Nutzung abgerechnet werden.

AWS-Verzeichnisdienste ermöglichen es, mit Ihrem vorhandenen lokalen Microsoft AD zu synchronisieren, Ihr eigenes in AWS auszuführen oder mit anderen Verzeichnisarten zu synchronisieren.

Labor

Hier finden Sie ein schönes Tutorial, um Ihr eigenes Microsoft AD in AWS zu erstellen: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_test_lab_base.html

Aufzählung

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

Anmeldung

Beachten Sie, dass wenn die Beschreibung des Verzeichnisses ein Domäne im Feld AccessUrl enthält, es wahrscheinlich ist, dass ein Benutzer sich mit seinen AD-Anmeldeinformationen in einigen AWS-Diensten anmelden kann:

  • <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)

Privilegieneskalation

AWS - Directory Services Privesc

Persistenz

Verwendung eines AD-Benutzers

Ein AD-Benutzer kann Zugriff auf die AWS-Managementkonsole über eine zu übernehmende Rolle erhalten. Der Standardbenutzername ist Admin und es ist möglich, sein Passwort über die AWS-Konsole zu ändern.

Daher ist es möglich, das Passwort von Admin zu ändern, einen neuen Benutzer zu erstellen oder das Passwort eines Benutzers zu ändern und diesem Benutzer eine Rolle zuzuweisen, um den Zugriff aufrechtzuerhalten.
Es ist auch möglich, einen Benutzer zu einer Gruppe innerhalb von AD hinzuzufügen und dieser AD-Gruppe Zugriff auf eine Rolle zu gewähren (um diese Persistenz stealthier zu gestalten).

Teilen von AD (vom Opfer zum Angreifer)

Es ist möglich, eine AD-Umgebung von einem Opfer zu einem Angreifer zu teilen. Auf diese Weise kann der Angreifer weiterhin auf die AD-Umgebung zugreifen.
Dies setzt jedoch voraus, dass das verwaltete AD geteilt wird und auch eine VPC-Peering-Verbindung erstellt wird.

Sie finden hier eine Anleitung: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step1_setup_networking.html

Teilen von AD (vom Angreifer zum Opfer)

Es scheint nicht möglich zu sein, AWS-Zugriff für Benutzer aus einer anderen AD-Umgebung auf ein AWS-Konto zu gewähren.

WorkDocs

Amazon Web Services (AWS) WorkDocs ist ein cloudbasierter Dateispeicher- und Freigabedienst. Es ist Teil der AWS-Suite von Cloud-Computing-Diensten und wurde entwickelt, um eine sichere und skalierbare Lösung für Organisationen bereitzustellen, um Dateien und Dokumente zu speichern, zu teilen und gemeinsam daran zu arbeiten.

AWS WorkDocs bietet eine webbasierte Schnittstelle für Benutzer, um ihre Dateien und Dokumente hochzuladen, darauf zuzugreifen und sie zu verwalten. Es bietet auch Funktionen wie Versionskontrolle, Echtzeit-Zusammenarbeit und Integration mit anderen AWS-Diensten und Drittanbieter-Tools.

Aufzählung

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

AWS - WorkDocs Privesc

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks