AWS - Serviços de Diretório / Enumeração do WorkDocs
Reading time: 7 minutes
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.
Serviços de Diretório
O AWS Directory Service para Microsoft Active Directory é um serviço gerenciado que facilita a configuração, operação e escalabilidade de um diretório na AWS Cloud. Ele é construído sobre o Microsoft Active Directory real e se integra de forma estreita com outros serviços da AWS, facilitando a gestão de suas cargas de trabalho e recursos da AWS que reconhecem diretórios. 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 sua gestão de identidade e reduzir a necessidade de soluções adicionais de identidade. 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 Microsoft Active Directory pode ajudar você a economizar tempo e recursos, fornecendo um serviço de Active Directory gerenciado, altamente disponível e escalável na AWS Cloud.
Opções
Os Serviços de Diretório permitem 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 compatível com Active Directory Linux-Samba. 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 seu Microsoft Active Directory existente sem armazenar em cache nenhuma informação na nuvem. Ele ficará 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 sem servidor onde você indica o esquema a ser usado e é cobrado 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ório.
Laboratório
Aqui você pode encontrar um bom 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
Note 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 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
AWS - Directory Services Privesc
Persistence
Using an AD user
Um usuário AD pode ter acesso ao console de gerenciamento AWS através de um papel a ser assumido. O nome de usuário padrão é Admin e é possível alterar sua senha a partir do console 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 um papel 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 um papel (para tornar essa persistência mais discreta).
Sharing AD (from victim to attacker)
É 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 peering VPC.
Você pode encontrar um guia aqui: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step1_setup_networking.html
Sharing AD (from attacker to victim)
Não parece ser possível conceder acesso AWS a usuários de um ambiente AD diferente para uma conta AWS.
WorkDocs
Amazon Web Services (AWS) WorkDocs é um serviço de armazenamento e compartilhamento de arquivos baseado em nuvem. 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.
AWS WorkDocs oferece uma interface baseada na web para os usuários fazerem upload, acessar e gerenciar seus arquivos e documentos. Também oferece recursos como controle de versão, colaboração em tempo real e integração com outros serviços AWS e ferramentas de terceiros.
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
tip
Aprenda e pratique Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE)
Aprenda e pratique Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)
Aprenda e pratique Hacking Azure:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Confira os planos de assinatura!
- Junte-se ao 💬 grupo do Discord ou ao grupo do telegram ou siga-nos no Twitter 🐦 @hacktricks_live.
- Compartilhe truques de hacking enviando PRs para o HackTricks e HackTricks Cloud repositórios do github.