AWS - Directory Services / WorkDocs Enum

Support HackTricks

Directory Services

AWS Directory Service for Microsoft Active Directoryは、AWS Cloudでディレクトリを設定、運用、スケールするのを簡単にするマネージドサービスです。これは実際のMicrosoft Active Directoryに基づいており、他のAWSサービスと密接に統合されているため、ディレクトリ対応のワークロードやAWSリソースを簡単に管理できます。AWS Managed Microsoft ADを使用すると、既存のActive Directoryユーザー、グループ、およびポリシーを使用してAWSリソースへのアクセスを管理できます。これにより、アイデンティティ管理が簡素化され、追加のアイデンティティソリューションの必要性が減少します。AWS Managed Microsoft ADは、自動バックアップと災害復旧機能も提供し、ディレクトリの可用性と耐久性を確保します。全体として、AWS Directory Service for Microsoft Active Directoryは、AWS Cloudでのマネージドで高可用性かつスケーラブルなActive Directoryサービスを提供することで、時間とリソースを節約するのに役立ちます。

Options

Directory Servicesでは、5種類のディレクトリを作成できます:

  • AWS Managed Microsoft AD: AWSで新しいMicrosoft ADを実行します。管理者パスワードを設定し、VPC内のDCにアクセスできます。

  • Simple AD: Linux-Samba Active Directory互換サーバーです。管理者パスワードを設定し、VPC内のDCにアクセスできます。

  • AD Connector: 既存のMicrosoft Active Directoryへのディレクトリリクエストをリダイレクトするためのプロキシで、クラウドに情報をキャッシュしません。VPC内でリスニングし、既存のADにアクセスするための資格情報を提供する必要があります

  • Amazon Cognito User Pools: これはCognito User Poolsと同じです。

  • Cloud Directory: これは最もシンプルなものです。サーバーレスディレクトリで、使用するスキーマを指定し、使用量に応じて請求されます

AWS Directory servicesは、既存のオンプレミス Microsoft ADと同期したり、AWSで自分自身のものを実行したり、他のディレクトリタイプと同期したりできます。

Lab

ここでは、AWSで自分のMicrosoft ADを作成するための素晴らしいチュートリアルを見つけることができます: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>

ログイン

ディレクトリの説明に**AccessUrlフィールドにドメインが含まれている場合、それはユーザーがいくつかのAWSサービスAD資格情報を使用してログイン**できる可能性があるためです:

  • <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)

権限昇格

永続性

ADユーザーを使用する

ADユーザーは、引き受けるロールを介してAWS管理コンソールへのアクセスを与えられることがあります。デフォルトのユーザー名はAdminで、AWSコンソールからパスワードを変更することが可能です。

したがって、Adminのパスワードを変更したり、新しいユーザーを作成したり、ユーザーのパスワードを変更して、そのユーザーにロールを付与してアクセスを維持することが可能です。 また、AD内のグループにユーザーを追加し、そのADグループにロールへのアクセスを与えることも可能です(この永続性をよりステルスにするために)。

ADの共有(被害者から攻撃者へ)

被害者から攻撃者にAD環境を共有することが可能です。この方法で、攻撃者はAD環境へのアクセスを継続できます。 ただし、これは管理されたADを共有し、VPCピアリング接続を作成することを意味します。

ガイドはこちらにあります: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/step1_setup_networking.html

ADの共有(攻撃者から被害者へ)

異なるAD環境のユーザーにAWSアクセスを付与することは、1つのAWSアカウントに対しては不可能なようです。

WorkDocs

Amazon Web Services (AWS) WorkDocsは、クラウドベースのファイルストレージおよび共有サービスです。これはAWSのクラウドコンピューティングサービスの一部であり、組織がファイルや文書を安全に保存、共有、共同作業するためのスケーラブルなソリューションを提供するように設計されています。

AWS WorkDocsは、ユーザーがファイルや文書をアップロード、アクセス、管理するためのウェブベースのインターフェースを提供します。また、バージョン管理、リアルタイムコラボレーション、他のAWSサービスやサードパーティツールとの統合などの機能も提供しています。

列挙

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

プライベートエスカレーション

HackTricksをサポートする

Last updated