Az - PHS - Password Hash Sync
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking:
HackTricks Training GCP Red Team Expert (GRTE)
基本情報
ドキュメントから: Password hash synchronizationはハイブリッドアイデンティティを実現するために使用されるサインイン方法の一つです。Azure AD Connectは、オンプレミスのActive DirectoryインスタンスからクラウドベースのAzure ADインスタンスにユーザーのパスワードのハッシュのハッシュを同期します。
![](https://cloud.hacktricks.xyz/~gitbook/image?url=https%3A%2F%2F2218554093-files.gitbook.io%2F%7E%2Ffiles%2Fv0%2Fb%2Fgitbook-x-prod.appspot.com%2Fo%2Fspaces%252FlhtE9mh962i6B5Y7Jsw2%252Fuploads%252Fgit-blob-b9ba83cc03b87519e6b4acacafa6a73632a4786f%252Fimage%2520%28173%29.png%3Falt%3Dmedia&width=768&dpr=4&quality=100&sign=e5efa350&sv=1)
これは、オンプレミスのADをAzure ADと同期するために企業が使用する最も一般的な方法です。
すべてのユーザーとパスワードハッシュのハッシュがオンプレミスからAzure ADに同期されます。ただし、平文のパスワードや元のハッシュはAzure ADに送信されません。 さらに、組み込みのセキュリティグループ(ドメイン管理者など)はAzure ADに同期されません。
ハッシュの同期は2分ごとに行われます。ただし、デフォルトでは、パスワードの有効期限やアカウントの有効期限はAzure ADに同期されません。したがって、オンプレミスのパスワードが期限切れ(変更されていない)になっているユーザーは、古いパスワードを使用してAzureリソースにアクセスし続けることができます。
オンプレミスのユーザーがAzureリソースにアクセスしようとすると、認証はAzure ADで行われます。
PHSはIdentity ProtectionやAAD Domain Servicesなどの機能に必要です。
ピボット
PHSが構成されると、いくつかの特権アカウントが自動的に作成されます:
MSOL_<installationID>
アカウントがオンプレミスのADに自動的に作成されます。このアカウントにはDirectory Synchronization Accountsロールが付与されます(ドキュメントを参照)。これは、オンプレミスのADでレプリケーション(DCSync)権限を持っていることを意味します。Sync_<name of on-prem ADConnect Server>_installationID
アカウントがAzure ADに作成されます。このアカウントは、Azure AD内の任意のユーザーのパスワードをリセットすることができます(同期されたユーザーまたはクラウドのみのユーザー)。
前述の2つの特権アカウントのパスワードは、Azure AD ConnectがインストールされているサーバーのSQLサーバーに保存されます。管理者はこれらの特権ユーザーのパスワードを平文で抽出することができます。
データベースはC:\Program Files\Microsoft Azure AD Sync\Data\ADSync.mdf
にあります。
テーブルの1つから構成を抽出することが可能で、1つは暗号化されています:
SELECT private_configuration_xml, encrypted_configuration FROM mms_management_agent;
暗号化された構成はDPAPIで暗号化されており、オンプレミスのAD内の**MSOL_*
ユーザーのパスワードとAzureAD内のSync_***のパスワードが含まれています。したがって、これらを侵害することで、ADおよびAzureADに対して特権昇格が可能です。
これらの資格情報がどのように保存され、復号化されるかの完全な概要はこのトークで確認できます。
Azure AD connectサーバーの特定
Azure AD connectがインストールされているサーバーがドメインに参加している場合(ドキュメントで推奨されている)、次の方法で見つけることができます:
MSOL_*の悪用
Azure AD Connectを使用している場合、MSOL_*アカウントがオンプレミスのActive Directoryに存在します。これらのアカウントは、Azure AD Connectのインストール時に作成され、Azure ADとオンプレミスのActive Directory間の同期を管理します。
MSOL_*アカウントの特権
MSOL_*アカウントは、オンプレミスのActive Directory内で高い特権を持つことが多く、これにより攻撃者は以下のようなアクションを実行できます:
ドメイン管理者権限の取得
パスワードハッシュの抽出
他のシステムへの横移動
MSOL_*アカウントの検出
MSOL_*アカウントを検出するには、以下のPowerShellコマンドを使用します:
MSOL_*アカウントの悪用方法
MSOL_*アカウントを悪用するための一般的な手法は以下の通りです:
MSOL_*アカウントの資格情報を取得
取得した資格情報を使用して、オンプレミスのActive Directoryにアクセス
高い特権を持つアカウントに昇格
防御策
MSOL_*アカウントの悪用を防ぐための対策は以下の通りです:
MSOL_*アカウントの監視とログの分析
強力なパスワードポリシーの適用
定期的な資格情報の更新
最小特権の原則の適用
You can also use adconnectdump to obtain these credentials.
Sync_*の悪用
Sync_*
アカウントを侵害すると、任意のユーザー(Global Administratorsを含む)のパスワードをリセットすることが可能です。
クラウドユーザーのパスワードのみを変更することも可能です(予期しない場合でも)
このユーザーのパスワードをダンプすることも可能です。
別のオプションとして、Syncユーザーが権限を持つサービスプリンシパルに特権を割り当て、そのサービスプリンシパルにアクセスすることでprivescを行う方法があります。
Seamless SSO
Seamless SSOをPHSと一緒に使用することが可能で、他の悪用に対して脆弱です。以下を確認してください:
Az - Seamless SSOReferences
AWS Hackingを学び、練習する:HackTricks Training AWS Red Team Expert (ARTE)
GCP Hackingを学び、練習する:
HackTricks Training GCP Red Team Expert (GRTE)
Last updated