2022 年 4 月 24 日、権限昇格ハッキング ツールKrbRelayUpが、セキュリティ研究者の Mor Davidovich 氏によって GitHub で公開されました。 KrbRelayUp は、攻撃における Rubeus、KrbRelay、SCMUACBypass、PowerMad/SharpMad、Whisker、および ADCSPwn ツールの一部の機能の使用を合理化できるラッパーです。
この攻撃は、Azure Active Directory (Azure AD) に参加しているデバイスに対しては機能しませんが、オンプレミスのドメイン コントローラーを備えたハイブリッドに参加しているデバイスは依然として脆弱です。 Microsoft Defender for Identityは、ドメイン コントローラーから見た異常な動作を監視することで、攻撃チェーンの初期段階からアクティビティを検出します。さらに、Defender for Identity からのシグナルもMicrosoft 365 Defenderにフィードされ、疑わしいネットワーク アクティビティ、悪意のあるファイル、およびこの攻撃のその他の関連コンポーネントを検出してブロックする包括的なソリューションを組織に提供します。 Microsoft Defender ウイルス対策は、この攻撃ツールをマルウェア ファミリHackTool:MSIL/KrbUpRlyとして検出します。
マイクロソフトは、このアドバイザリで説明されているように、ドメイン コントローラー: LDAP サーバーの署名要件を更新して署名を要求し、このブログで説明されているように認証の拡張保護 (EPA) を有効にすることをお勧めします。
当初、KrbRelayUp は、リソースベースの制約付き委任 (RBCD) を利用することに基づく 1 つの方法のみをサポートしていました。その後、いくつかの攻撃方法が追加されました。このブログでは、RBCD について説明し、最初の KrbRelayUp 攻撃方法がどのように機能するかについてさらに洞察を提供します。また、前述の攻撃を構成する段階についても詳しく説明します。最後に、組織がデバイス構成を強化し、このツールを使用する攻撃からネットワークを保護するのに役立つ推奨事項とガイドラインを提供します。
攻撃を理解する: リソースベースの制約付き委任とは?
リソースベースの制約付き委任 (RBCD) は、この攻撃方法の鍵を表し、ツールが管理者になりすまして最終的に侵害されたデバイスの SYSTEM アカウントとしてコードを実行できるようにします。
認証プロトコルの基本
認証プロトコルは、リソースまたは ID の正当性を検証します。ユーザーが Web サイトにサインインすると、その Web サイトは方法論を使用して、アクセスを要求しているリソースの信頼性を確認します。簡単に言えば、認証プロセスにはパスワードを使用したサインインが含まれます。これは、ユーザーが Web サイトで予期されるパスワードを知っていることによって可能になります。 Kerberos プロトコルは、オンプレミスの Active Directory でのこのプロセスの主要な認証フレームワークとして機能します。
委任
ただし、場合によっては、リソースが別の ID に代わって別のリソースへのアクセスを要求する必要があります。この一般的な例はメールの委任です。この場合、役員は多くの場合、役員のアシスタントに役員のパスワードを提供せずに、代理で電子メールを送受信する委任権を役員のアシスタントに与えます。エグゼクティブアシスタントはエグゼクティブとして認証されていません。エグゼクティブは、アシスタントのアカウントが自分であるかのように「装う」ことを許可しました。
リソースベースの制約付き委任
最初は、 SeEnableDelegationロールを持つユーザー (通常はドメイン管理者) のみが委任を構成できました。これらのドメイン管理者は、リソースを管理し、別のリソースに代わって動作できる ID を指示できます。これを実現するには、ユーザー アカウントまたはデバイスのmsDS-AllowedToDelegateToプロパティを更新します。このプロパティには、このオブジェクトが委任または代行できるすべての一意の識別子 (サービス プリンシパル名、または SPN) のリストが含まれています。
しかし、組織が拡大するにつれて、管理者はすべての委任要件を管理するのに苦労し、新しいタイプの委任、つまりリソースベースの委任の必要性が高まりました。たとえば、すべてが委任のために Web サーバーを信頼する複数のファイル サーバーを持つ組織では、管理者はすべての異なるファイル サーバーでmsDS-AllowedToDelegateTo優先度を変更して、2 つ目の Web サーバーを導入する必要があります。リソースベースの委任では、信頼できるコンピューターのリストが受信側で保持されます。したがって、この例では、新しく作成されたサーバーのみが設定の変更を必要とします。
署名されていない LDAP とリレー攻撃
KrbRelayUp ツールの RBCD メソッドが機能するためには、LDAP プロトコルが署名を使用して LDAP クライアントとドメイン コントローラの間で通信しないようにする必要があります。この設定はまだ Windows のデフォルトですが、2019 年現在、Microsoft は、LDAP チャネル バインディングと署名を使用するように LDAP を構成することを推奨しています。
LDAP は、Active Directory などのディレクトリ サービス ツールがディレクトリ情報のクエリとアクセスに使用する主要なプロトコルの 1 つです。デフォルトでは、LDAP は資格情報リレー攻撃に対して脆弱です。たとえば、クレデンシャル リレー攻撃では、サインインするためのパスワードを要求する Web サーバーが、その要求を攻撃者によって承認されたクライアントにリレーされます。次に、攻撃者は、正しいパスワードを含むクライアントの応答をサーバーに中継し、サインインします。攻撃者がサインインすると、資格情報が中継されたユーザーと同じ権限が与えられます。
LDAP 署名が必要な場合は、サーバーへの各要求に暗号署名が必要です。この場合、攻撃者は引き続きサインイン要求と応答をリレーできますが、攻撃者からのそれ以降のすべての要求は無視されます。これは、各要求に署名する必要があり、攻撃者は署名を行うための適切なキーを持っていないためです。署名します。
M s-DS-MachineAccountQuota
KrbRelayUp ツールの RBCD メソッドの背後にある最後の重要な概念は、 ms-DS-MachineAccountQuota属性であり、すべてのユーザー Active Directory オブジェクトが持っています。この属性は既定で10に設定されています。つまり、Active Directory 内のすべてのユーザーは、関連付けられたコンピューター アカウントを最大 10 個作成できます。この属性の正当な使用法は、ユーザーが管理できるネットワーク上に複数のデバイスを所有できるようにすることです。ただし、侵害されたユーザーが自分のアカウントに関連付けられた実際のデバイスを 10 個持っていない場合、攻撃者は Active Directory のオブジェクトとなる存在しないデバイスのアカウントを作成できます。この偽のコンピューター アカウントは、実際のデバイスに関連付けられていませんが、Active Directory 認証要求をあたかも関連付けられているかのように実行できます。
当初、このようなアカウントを取得できることがこの攻撃方法の前提条件でしたが、ツールのリリース以降、他のセキュリティ研究者がこの要件を回避する方法を発見しました。
KrbRelayUp 攻撃フロー
KrbRelayUp の RBCD メソッドを使用して攻撃を開始するには、攻撃者は次の 4 つの主要な手順を実行します。
ステップ 1: 適切なリソースの取得
攻撃者はまず、RBCD のソースに適したリソースを取得します。このようなリソースを取得するには、いくつかの方法があります。最も簡単な方法は、前述のように新しいコンピューター アカウントを作成することです。
手順 2: msDS-AllowedToActOnBehalfOfOtherIdentity属性の変更
次に、攻撃者は自分のリソースを現在のデバイスの信頼できるリソースのリストに追加します。これを行うために、攻撃者は LDAP セッションを開始し、現在のデバイスの資格情報を LDAP サーバーに中継します。
新しい KrbRelayUp ツールは、次の 2 つの小さな連続したアクションでこのステップを実装します。
- Kerberos リレー攻撃をトリガーして実行することにより、LDAP サービスに対する認証を行います
- msDS-AllowedToActOnBehalfOfOtherIdentity属性を編集して、ターゲット デバイスの委任を許可されたエンティティのリストに攻撃者のリソースを追加します。
ステップ3:特典チケット取得
ここで、攻撃者は、最初のステップで得たリソースに対する制御を、2 番目のステップで得たリソースに対する信頼で活用します。そのため、ローカル デバイスは攻撃者のリソースを信頼して、ドメイン管理者としてホスト SPN 宛てのチケットを要求します。リクエストは、最初に攻撃者のリソースになりすますことによって行われ、次の 3 つのリクエストで構成されます。
- AS-Req – 攻撃者の偽装リソースのチケット保証チケット (TGT) を生成する要求。
- S4U2self – 管理者からリソースへの Ticket Granting Service (TGS) チケットを生成する要求。
- S4U2proxy – 偽装されたリソースを介してアクセスを委任する管理者として、ホスト SPN の TGS チケットを生成する要求。
この手順の後、攻撃者は管理者になりすますことができるローカル デバイスの有効なチケットを取得します。
ステップ 4: 特権チケットの活用
最後のステップでは、攻撃者が新たに取得したチケットを利用して、デバイス上でコードを実行します。この攻撃では、オンラインで公開されているように、サービス コントロール マネージャー (SCM) は、SYSTEM 権限を持つ新しいサービスを作成するように求められます。
協調的な脅威防御による KrbRelayUp 攻撃からの保護
KrbRelayUp は、Azure AD のみを使用している組織に対する攻撃には使用できないことに注意してください。ただし、組織がドメイン コントローラーを Azure AD と同期するハイブリッド ID 環境では、攻撃者が同期されたアカウントを使用して Azure 仮想マシンを侵害すると、仮想マシンに対する SYSTEM 特権を受け取ります。
この脅威の影響を軽減するために、組織は以下の緩和策を適用する必要があります。 Microsoft 365 Defenderのお客様は、推奨事項カードで監視対象の軽減策の展開状態を確認できます。
- Microsoft は、LDAP チャネル バインディングと LDAP 署名を有効にするためのガイダンスを提供しています。 Microsoft は、管理者が前述のアドバイザリで推奨されているように LDAP 署名と LDAP チャネル バインドを構成することをお勧めします。詳細については、Windows の 2020 LDAP チャネル バインドと LDAP 署名の要件 (KB4520412) を参照してください。
- 組織は、 ms-DS-MachineAccountQuota属性を0に設定して、攻撃者が属性を攻撃に利用することをより困難にすることも検討する必要があります。属性を0に設定すると、管理者以外のユーザーが新しいデバイスをドメインに追加するのを阻止し、攻撃の最初のステップを実行するための最も効果的な方法をブロックし、攻撃者に適切なリソースを取得するためのより複雑な方法を選択させます。
検出の詳細
組織は、Microsoft 365 Defender のような包括的なセキュリティ ソリューションを展開して、攻撃チェーンの段階全体でこの脅威を検出してブロックする必要もあります。 Microsoft 365 Defender には、機械学習ベースの保護を含む複数層の動的保護テクノロジがあり、電子メール、エンドポイント、ID、およびクラウド アプリからの脅威データを関連付けて、詳細で調整された脅威防御を提供します。これらはすべて、脅威の状況を継続的に監視して新しい攻撃者のツールや手法を監視している脅威の専門家によって支えられています。
Microsoft Defender for Identityは、ドメイン コントローラーから見た異常な動作を監視することにより、攻撃フローの最初の 3 つのステップからアクティビティを検出します。バージョン 2.180 以降、Defender for Identity には、この攻撃が試みられたときにアラートを生成する 2 つの検出機能があります。
- 新しく作成されたコンピューターによる疑わしい Kerberos 委任の試行。
- コンピューター アカウント (KrbRelayUp) によるリソース ベースの制約付き委任属性の不審な編集。
Microsoft Defender for Endpointには、ネットワークとエンドポイントのシグナルを関連付けて信頼性の高いアラートを発行するための、新しく強化されたネットワーク検査機能が含まれています。 Defender for Endpoint は、これらのネットワーク シグナルを活用し、Active Directory ドメイン コントローラーへの疑わしい LDAP および Kerberos 要求を探し、KrbRelayUp を使用して攻撃を正確に検出します。 Defender for Endpoint は、疑わしい Kerberos サインインとサービスの作成も検出します。
Microsoft Defender ウイルス対策は、KrbRelayUp ツールからの脅威を次のマルウェアとして検出します。
- ハックツール:MSIL/KrbUpRly.A
- ハックツール:MSIL/KrbUpRly.C
- ハックツール:MSIL/KrbUpRly.D
Microsoft 365 Defender のお客様は、脅威分析レポートを参照して、この脅威がネットワークに存在するかどうかを判断し、追加の詳細と推奨事項を取得することができます。 脅威分析により、組織はネットワークに対する脅威の影響を評価し、露出と回復力を確認し、緩和、回復、または防止アクションを実行して、アクティブな攻撃を停止または封じ込めることができます。
Microsoft 365 Defender を使用して、自動化されたクロスドメイン セキュリティによって攻撃を阻止する方法について説明します。
Zeev RabinovichとOfir Shlomo
Microsoft 365 Defender 研究チーム
資力
- この攻撃を実行するための実用的なガイド – KrbRelay with RBCD Privilege Escalation HOWTO 。
- KrbRelayUp ツールのGitHubリポジトリには、追加の参照も含まれています。
- cube0x0によるオリジナルの Kerberos リレー攻撃ツールのGitHubリポジトリ。
- Microsoft Defender for Identityの詳細を確認し、ここから試用を開始してください。
- Microsoft Defender for Identity の新機能である応答アクションについて説明します。
- Kerberos の制約付き委任の概要について詳しくは、こちらをご覧ください。
Comments