AWS - Directory Services / WorkDocs Enum

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

# 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

Beachten Sie, dass wenn die Beschreibung des Verzeichnisses eine Domäne im Feld AccessUrl enthielt, 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)

Privilege Escalation

AWS - Directory Services Privesc

Persistence

Using an AD user

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

Sharing AD (from victim to attacker)

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

Sharing AD (from attacker to victim)

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.

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

AWS - WorkDocs Privesc
Support HackTricks

Last updated