# AWS - Verzeichnisdienste / WorkDocs Enum {{#include ../../../banners/hacktricks-training.md}} ## 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](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 # Get directory settings aws ds describe-trusts aws ds describe-ldaps-settings --directory-id aws ds describe-shared-directories --owner-directory-id aws ds get-directory-limits aws ds list-certificates --directory-id aws ds describe-certificate --directory-id --certificate-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: - `.awsapps.com/connect` (Amazon Connect) - `.awsapps.com/workdocs` (Amazon WorkDocs) - `.awsapps.com/workmail` (Amazon WorkMail) - `.awsapps.com/console` (Amazon Management Console) - `.awsapps.com/start` (IAM Identity Center) ### Privilegieneskalation {{#ref}} ../aws-privilege-escalation/aws-directory-services-privesc/README.md {{#endref}} ## 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](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 # 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 --email-address name@directory.domain --organization-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 # Get folder content aws workdocs describe-folder-contents --folder-id # Get file (a url to access with the content will be retreived) aws workdocs get-document --document-id # Get resource permissions if any aws workdocs describe-resource-permissions --resource-id # Add permission so anyway can see the file aws workdocs add-resource-permissions --resource-id --principals Id=anonymous,Type=ANONYMOUS,Role=VIEWER ## This will give an id, the file will be acesible in: https://.awsapps.com/workdocs/index.html#/share/document/ ``` ### Privesc {{#ref}} ../aws-privilege-escalation/aws-workdocs-privesc/README.md {{#endref}} {{#include ../../../banners/hacktricks-training.md}}