AWS - Directory Services / WorkDocs Enum

Support HackTricks

Directory Services

AWS Directory Service for Microsoft Active Directory es un servicio gestionado que facilita configurar, operar y escalar un directorio en la nube de AWS. Está construido sobre el Microsoft Active Directory real e integra estrechamente con otros servicios de AWS, lo que facilita la gestión de tus cargas de trabajo y recursos de AWS que son conscientes del directorio. Con AWS Managed Microsoft AD, puedes usar tus usuarios, grupos y políticas de Active Directory existentes para gestionar el acceso a tus recursos de AWS. Esto puede ayudar a simplificar tu gestión de identidad y reducir la necesidad de soluciones de identidad adicionales. AWS Managed Microsoft AD también proporciona copias de seguridad automáticas y capacidades de recuperación ante desastres, ayudando a garantizar la disponibilidad y durabilidad de tu directorio. En general, AWS Directory Service for Microsoft Active Directory puede ayudarte a ahorrar tiempo y recursos al proporcionar un servicio de Active Directory gestionado, altamente disponible y escalable en la nube de AWS.

Options

Directory Services permite crear 5 tipos de directorios:

  • AWS Managed Microsoft AD: Que ejecutará un nuevo Microsoft AD en AWS. Podrás establecer la contraseña de administrador y acceder a los DCs en una VPC.

  • Simple AD: Que será un servidor compatible con Active Directory Linux-Samba. Podrás establecer la contraseña de administrador y acceder a los DCs en una VPC.

  • AD Connector: Un proxy para redirigir solicitudes de directorio a tu Microsoft Active Directory existente sin almacenar información en la nube. Estará escuchando en una VPC y necesitas proporcionar credenciales para acceder al AD existente.

  • Amazon Cognito User Pools: Esto es lo mismo que Cognito User Pools.

  • Cloud Directory: Este es el más sencillo. Un directorio sin servidor donde indicas el esquema a utilizar y se cobran según el uso.

Los servicios de directorio de AWS permiten sincronizar con tu Microsoft AD existente en las instalaciones, ejecutar el tuyo propio en AWS o sincronizar con otros tipos de directorios.

Lab

Aquí puedes encontrar un buen tutorial para crear tu propio Microsoft AD en AWS: 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>

Login

Tenga en cuenta que si la descripción del directorio contenía un dominio en el campo AccessUrl es porque un usuario probablemente puede iniciar sesión con sus credenciales de AD en algunos servicios de 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)

Privilege Escalation

Persistence

Using an AD user

Un usuario de AD puede recibir acceso a la consola de administración de AWS a través de un Rol que asumir. El nombre de usuario predeterminado es Admin y es posible cambiar su contraseña desde la consola de AWS.

Por lo tanto, es posible cambiar la contraseña de Admin, crear un nuevo usuario o cambiar la contraseña de un usuario y otorgar a ese usuario un Rol para mantener el acceso. También es posible agregar un usuario a un grupo dentro de AD y dar acceso a ese grupo de AD a un Rol (para hacer que esta persistencia sea más sigilosa).

Sharing AD (from victim to attacker)

Es posible compartir un entorno de AD de una víctima a un atacante. De esta manera, el atacante podrá continuar accediendo al entorno de AD. Sin embargo, esto implica compartir el AD administrado y también crear una conexión de emparejamiento de VPC.

Puede encontrar una guía aquí: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step1_setup_networking.html

Sharing AD (from attacker to victim)

No parece posible otorgar acceso a AWS a usuarios de un entorno de AD diferente a una cuenta de AWS.

WorkDocs

Amazon Web Services (AWS) WorkDocs es un servicio de almacenamiento y compartición de archivos basado en la nube. Es parte de la suite de servicios de computación en la nube de AWS y está diseñado para proporcionar una solución segura y escalable para que las organizaciones almacenen, compartan y colaboren en archivos y documentos.

AWS WorkDocs proporciona una interfaz basada en la web para que los usuarios suban, accedan y gestionen sus archivos y documentos. También ofrece características como control de versiones, colaboración en tiempo real e integración con otros servicios de AWS y herramientas de terceros.

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

Apoya a HackTricks

Last updated