AWS - Directory Services / WorkDocs Enum

Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

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-Services, was es einfach macht, Ihre verzeichnisbewussten Workloads und AWS-Ressourcen zu verwalten. 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 die Identitätsverwaltung vereinfachen und den Bedarf an zusätzlichen Identitätslösungen reduzieren. AWS Managed Microsoft AD bietet auch automatische Backups und Disaster-Recovery-Funktionen, um die Verfügbarkeit und Haltbarkeit Ihres Verzeichnisses sicherzustellen. Insgesamt kann Ihnen der AWS Directory Service für Microsoft Active Directory Zeit und Ressourcen sparen, indem er 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: Hier wird ein neues Microsoft AD in AWS ausgeführt. Sie können das Admin-Passwort festlegen und auf die DCs in einem VPC zugreifen.

  • Simple AD: Hierbei handelt es sich um einen Linux-Samba Active Directory-kompatiblen Server. 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 zwischenspeichern. Er wird in einem VPC lauschen und Sie müssen Anmeldeinformationen bereitstellen, um auf das vorhandene AD zuzugreifen.

  • Amazon Cognito-Benutzerpools: Dies entspricht den Cognito-Benutzerpools.

  • Cloud Directory: Dies ist das einfachste. Ein serverloses Verzeichnis, bei dem Sie das Schema angeben und entsprechend der Nutzung abgerechnet werden.

AWS Directory Services ermöglicht die Synchronisierung mit Ihrem vorhandenen lokalen Microsoft AD, das Ausführen Ihres eigenen in AWS oder die Synchronisierung mit anderen Verzeichnistypen.

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

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>

Anmeldung

Beachten Sie, dass, wenn die Beschreibung des Verzeichnisses ein Domain im Feld AccessUrl enthielt, es daran liegt, dass sich ein Benutzer wahrscheinlich mit seinen AD-Anmeldeinformationen bei 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

pageAWS - Directory Services Privesc

Persistenz

Verwendung eines AD-Benutzers

Ein AD-Benutzer kann über eine Rolle, die er übernehmen soll, Zugriff auf die AWS-Managementkonsole erhalten. Der Standardbenutzername ist Admin und es ist möglich, sein Passwort von der AWS-Konsole aus 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 zu gewähren, um den Zugriff aufrechtzuerhalten. Es ist auch möglich, einen Benutzer einer Gruppe innerhalb von AD hinzuzufügen und dieser AD-Gruppe Zugriff auf eine Rolle zu gewähren (um diese Persistenz unauffälliger zu gestalten).

Teilen von AD (vom Opfer zum Angreifer)

Es ist möglich, eine AD-Umgebung vom Opfer auf den Angreifer zu übertragen. Auf diese Weise kann der Angreifer weiterhin auf die AD-Umgebung zugreifen. Dies impliziert jedoch das Teilen der verwalteten AD und das Erstellen einer VPC-Peering-Verbindung.

Eine Anleitung finden Sie hier: 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, Benutzern aus einer anderen AD-Umgebung Zugriff 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 cloudbasierter Computing-Services und soll eine sichere und skalierbare Lösung für Organisationen bieten, um Dateien und Dokumente zu speichern, zu teilen und zusammenzuarbeiten.

AWS WorkDocs bietet eine webbasierte Benutzeroberfläche, über die Benutzer ihre Dateien und Dokumente hochladen, darauf zugreifen und verwalten können. Es bietet auch Funktionen wie Versionskontrolle, Echtzeit-Zusammenarbeit und Integration mit anderen AWS-Diensten und Tools von Drittanbietern.

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>

Berechtigungserhöhung

pageAWS - WorkDocs Privesc
Erlernen Sie AWS-Hacking von Null auf Held mit htARTE (HackTricks AWS Red Team Expert)!

Andere Möglichkeiten, HackTricks zu unterstützen:

Last updated