AWS - Directory Services / WorkDocs Enum

Support HackTricks

Directory Services

AWS Directory Service for Microsoft Active Directory to zarządzana usługa, która ułatwia konfigurowanie, obsługę i skalowanie katalogu w chmurze AWS. Jest zbudowana na rzeczywistym Microsoft Active Directory i ściśle integruje się z innymi usługami AWS, co ułatwia zarządzanie obciążeniami i zasobami AWS świadomymi katalogu. Dzięki AWS Managed Microsoft AD możesz używać istniejących użytkowników, grup i polityk Active Directory do zarządzania dostępem do zasobów AWS. Może to pomóc uprościć zarządzanie tożsamością i zmniejszyć potrzebę dodatkowych rozwiązań tożsamości. AWS Managed Microsoft AD zapewnia również automatyczne kopie zapasowe i możliwości odzyskiwania po awarii, co pomaga zapewnić dostępność i trwałość Twojego katalogu. Ogólnie rzecz biorąc, AWS Directory Service for Microsoft Active Directory może pomóc zaoszczędzić czas i zasoby, oferując zarządzaną, wysoko dostępną i skalowalną usługę Active Directory w chmurze AWS.

Options

Directory Services pozwala na tworzenie 5 typów katalogów:

  • AWS Managed Microsoft AD: Który uruchomi nowy Microsoft AD w AWS. Będziesz mógł ustawić hasło administratora i uzyskać dostęp do DC w VPC.

  • Simple AD: Który będzie serwerem zgodnym z Active Directory Linux-Samba. Będziesz mógł ustawić hasło administratora i uzyskać dostęp do DC w VPC.

  • AD Connector: Proxy do przekierowywania żądań katalogu do istniejącego Microsoft Active Directory bez buforowania jakichkolwiek informacji w chmurze. Będzie nasłuchiwać w VPC i musisz podać dane uwierzytelniające do uzyskania dostępu do istniejącego AD.

  • Amazon Cognito User Pools: To to samo co Cognito User Pools.

  • Cloud Directory: To jest najprostsze. Bezserwerowy katalog, w którym wskazujesz schemat do użycia i jesteś obciążany zgodnie z użyciem.

Usługi katalogowe AWS pozwalają na synchronizację z istniejącym lokalnym Microsoft AD, uruchomienie własnego w AWS lub synchronizację z innymi typami katalogów.

Lab

Tutaj znajdziesz fajny samouczek, jak stworzyć własny Microsoft AD w 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

Zauważ, że jeśli opis katalogu zawierał domenę w polu AccessUrl, to dlatego, że użytkownik prawdopodobnie może zalogować się za pomocą swoich poświadczeń AD w niektórych usługach 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

Użytkownik AD może otrzymać dostęp do konsoli zarządzania AWS poprzez rolę do przyjęcia. Domyślna nazwa użytkownika to Admin i możliwe jest zmiana hasła z konsoli AWS.

Dlatego możliwe jest zmiana hasła Admina, utworzenie nowego użytkownika lub zmiana hasła użytkownika i nadanie temu użytkownikowi roli, aby utrzymać dostęp. Możliwe jest również dodanie użytkownika do grupy w AD i przyznanie tej grupie AD dostępu do roli (aby uczynić tę persistencję bardziej ukrytą).

Sharing AD (from victim to attacker)

Możliwe jest udostępnienie środowiska AD z ofiary do atakującego. W ten sposób atakujący będzie mógł kontynuować dostęp do środowiska AD. Jednakże wiąże się to z udostępnieniem zarządzanego AD oraz utworzeniem połączenia VPC peering.

Możesz znaleźć przewodnik tutaj: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step1_setup_networking.html

Sharing AD (from attacker to victim)

Nie wygląda na to, aby możliwe było przyznanie dostępu AWS użytkownikom z innego środowiska AD do jednego konta AWS.

WorkDocs

Amazon Web Services (AWS) WorkDocs to oparta na chmurze usługa przechowywania i udostępniania plików. Jest częścią zestawu usług obliczeniowych AWS i została zaprojektowana, aby zapewnić bezpieczne i skalowalne rozwiązanie dla organizacji do przechowywania, udostępniania i współpracy nad plikami i dokumentami.

AWS WorkDocs oferuje interfejs oparty na sieci, który umożliwia użytkownikom przesyłanie, uzyskiwanie dostępu i zarządzanie swoimi plikami i dokumentami. Oferuje również funkcje takie jak kontrola wersji, współpraca w czasie rzeczywistym oraz integracja z innymi usługami AWS i narzędziami firm trzecich.

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

AWS - WorkDocs Privesc
Wsparcie HackTricks

Last updated