AWS - Directory Services / WorkDocs Enum

Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras formas de apoiar o HackTricks:

Serviços de Diretório

O AWS Directory Service para o Microsoft Active Directory é um serviço gerenciado que facilita configurar, operar e dimensionar um diretório na AWS Cloud. Ele é construído no Microsoft Active Directory real e integra-se perfeitamente com outros serviços da AWS, facilitando a gestão de suas cargas de trabalho e recursos da AWS conscientes do diretório. Com o AWS Managed Microsoft AD, você pode usar seus usuários, grupos e políticas do Active Directory existentes para gerenciar o acesso aos seus recursos da AWS. Isso pode ajudar a simplificar a gestão de identidades e reduzir a necessidade de soluções de identidade adicionais. O AWS Managed Microsoft AD também fornece backups automáticos e capacidades de recuperação de desastres, ajudando a garantir a disponibilidade e durabilidade do seu diretório. No geral, o AWS Directory Service para o Microsoft Active Directory pode ajudá-lo a economizar tempo e recursos, fornecendo um serviço de Active Directory gerenciado, altamente disponível e escalável na AWS Cloud.

Opções

O Directory Services permite criar 5 tipos de diretórios:

  • AWS Managed Microsoft AD: Que executará um novo Microsoft AD na AWS. Você poderá definir a senha do administrador e acessar os DCs em uma VPC.

  • Simple AD: Que será um servidor Linux-Samba compatível com o Active Directory. Você poderá definir a senha do administrador e acessar os DCs em uma VPC.

  • AD Connector: Um proxy para redirecionar solicitações de diretório para o seu Microsoft Active Directory existente sem armazenar informações na nuvem. Ele estará ouvindo em uma VPC e você precisará fornecer credenciais para acessar o AD existente.

  • Amazon Cognito User Pools: Isso é o mesmo que Cognito User Pools.

  • Cloud Directory: Este é o mais simples. Um diretório serverless onde você indica o esquema a ser usado e é faturado de acordo com o uso.

Os serviços de diretório da AWS permitem sincronizar com seu Microsoft AD local existente, executar o seu próprio na AWS ou sincronizar com outros tipos de diretórios.

Laboratório

Aqui você pode encontrar um tutorial para criar seu próprio Microsoft AD na AWS: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_test_lab_base.html

Enumeração

# 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

Observe que se a descrição do diretório contiver um domínio no campo AccessUrl, é porque um usuário provavelmente pode fazer login com suas credenciais AD em alguns serviços da AWS:

  • <name>.awsapps.com/connect (Amazon Connect)

  • <name>.awsapps.com/workdocs (Amazon WorkDocs)

  • <name>.awsapps.com/workmail (Amazon WorkMail)

  • <name>.awsapps.com/console (Console de Gerenciamento da Amazon)

  • <name>.awsapps.com/start (Centro de Identidade IAM)

Escalação de Privilégios

pageAWS - Directory Services Privesc

Persistência

Usando um usuário AD

Um usuário AD pode receber acesso ao console de gerenciamento da AWS por meio de uma Função a ser assumida. O nome de usuário padrão é Admin e é possível alterar sua senha no console da AWS.

Portanto, é possível alterar a senha do Admin, criar um novo usuário ou alterar a senha de um usuário e conceder a esse usuário uma Função para manter o acesso. Também é possível adicionar um usuário a um grupo dentro do AD e dar a esse grupo AD acesso a uma Função (para tornar essa persistência mais furtiva).

Compartilhando AD (da vítima para o atacante)

É possível compartilhar um ambiente AD de uma vítima para um atacante. Dessa forma, o atacante poderá continuar acessando o ambiente AD. No entanto, isso implica compartilhar o AD gerenciado e também criar uma conexão de VPC peering.

Você pode encontrar um guia aqui: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step1_setup_networking.html

Compartilhando AD (do atacante para a vítima)

Não parece ser possível conceder acesso AWS a usuários de um ambiente AD diferente para uma conta AWS.

WorkDocs

O Amazon Web Services (AWS) WorkDocs é um serviço de armazenamento e compartilhamento de arquivos baseado em nuvem. Ele faz parte do conjunto de serviços de computação em nuvem da AWS e é projetado para fornecer uma solução segura e escalável para organizações armazenarem, compartilharem e colaborarem em arquivos e documentos.

O AWS WorkDocs fornece uma interface baseada na web para os usuários fazerem upload, acessarem e gerenciarem seus arquivos e documentos. Ele também oferece recursos como controle de versão, colaboração em tempo real e integração com outros serviços da AWS e ferramentas de terceiros.

Enumeração

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

Escalação de Privilégios

pageAWS - WorkDocs Privesc
Aprenda hacking na AWS do zero ao herói com htARTE (HackTricks AWS Red Team Expert)!

Outras maneiras de apoiar o HackTricks:

Última actualización