AWS - ディレクトリサービス / WorkDocs Enum
Reading time: 9 minutes
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。
ディレクトリサービス
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サービスを提供することで、時間とリソースを節約するのに役立ちます。
オプション
ディレクトリサービスでは、5種類のディレクトリを作成できます:
- AWS Managed Microsoft AD: 新しいMicrosoft ADをAWSで実行します。管理者パスワードを設定し、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ディレクトリサービスは、既存のオンプレミス Microsoft ADと同期したり、AWSで独自のものを実行したり、他のディレクトリタイプと同期したりできます。
ラボ
ここでは、AWSで独自のMicrosoft ADを作成するための素晴らしいチュートリアルを見つけることができます: https://docs.aws.amazon.com/directoryservice/latest/admin-guide/ms_ad_tutorial_test_lab_base.html
列挙
# 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)
権限昇格
AWS - Directory Services Privesc
永続性
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アクセスを付与することは不可能なようです。
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>
プライベートエスカレーション
tip
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
Azureハッキングを学び、実践する:
HackTricks Training Azure Red Team Expert (AzRTE)
HackTricksをサポートする
- サブスクリプションプランを確認してください!
- **💬 Discordグループまたはテレグラムグループに参加するか、Twitter 🐦 @hacktricks_liveをフォローしてください。
- HackTricksおよびHackTricks CloudのGitHubリポジトリにPRを提出してハッキングトリックを共有してください。