Kerberos リレー (KrbRelayUp) を利用した権限昇格攻撃の検出と防止

news

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 つの小さな連続したアクションでこのステップを実装します。

  1. Kerberos リレー攻撃をトリガーして実行することにより、LDAP サービスに対する認証を行います
  2. msDS-AllowedToActOnBehalfOfOtherIdentity属性を編集して、ターゲット デバイスの委任を許可されたエンティティのリストに攻撃者のリソースを追加します。

ステップ3:特典チケット取得

ここで、攻撃者は、最初のステップで得たリソースに対する制御を、2 番目のステップで得たリソースに対する信頼で活用します。そのため、ローカル デバイスは攻撃者のリソースを信頼して、ドメイン管理者としてホスト SPN 宛てのチケットを要求します。リクエストは、最初に攻撃者のリソースになりすますことによって行われ、次の 3 つのリクエストで構成されます。

  1. AS-Req – 攻撃者の偽装リソースのチケット保証チケット (TGT) を生成する要求。
  2. S4U2self – 管理者からリソースへの Ticket Granting Service (TGS) チケットを生成する要求。
  3. S4U2proxy – 偽装されたリソースを介してアクセスを委任する管理者として、ホスト SPN の TGS チケットを生成する要求。

この手順の後、攻撃者は管理者になりすますことができるローカル デバイスの有効なチケットを取得します。

ステップ 4: 特権チケットの活用

最後のステップでは、攻撃者が新たに取得したチケットを利用して、デバイス上でコードを実行します。この攻撃では、オンラインで公開されているように、サービス コントロール マネージャー (SCM) は、SYSTEM 権限を持つ新しいサービスを作成するように求められます。

協調的な脅威防御による KrbRelayUp 攻撃からの保護

KrbRelayUp は、Azure AD のみを使用している組織に対する攻撃には使用できないことに注意してください。ただし、組織がドメイン コントローラーを Azure AD と同期するハイブリッド ID 環境では、攻撃者が同期されたアカウントを使用して Azure 仮想マシンを侵害すると、仮想マシンに対する SYSTEM 特権を受け取ります。

この脅威の影響を軽減するために、組織は以下の緩和策を適用する必要があります。 Microsoft 365 Defenderのお客様は、推奨事項カードで監視対象の軽減策の展開状態を確認できます。

検出の詳細

組織は、Microsoft 365 Defender のような包括的なセキュリティ ソリューションを展開して、攻撃チェーンの段階全体でこの脅威を検出してブロックする必要もあります。 Microsoft 365 Defender には、機械学習ベースの保護を含む複数層の動的保護テクノロジがあり、電子メール、エンドポイント、ID、およびクラウド アプリからの脅威データを関連付けて、詳細で調整された脅威防御を提供します。これらはすべて、脅威の状況を継続的に監視して新しい攻撃者のツールや手法を監視している脅威の専門家によって支えられています。

Microsoft Defender for Identityは、ドメイン コントローラーから見た異常な動作を監視することにより、攻撃フローの最初の 3 つのステップからアクティビティを検出します。バージョン 2.180 以降、Defender for Identity には、この攻撃が試みられたときにアラートを生成する 2 つの検出機能があります。

  • 新しく作成されたコンピューターによる疑わしい Kerberos 委任の試行。
  • コンピューター アカウント (KrbRelayUp) によるリソース ベースの制約付き委任属性の不審な編集。
この画像は、Microsoft Defender for Identity のアラートを示しています。タイトルには、「新しく作成されたコンピューターによる疑わしい Kerberos 委任の試み」と記載されており、その後に「evilcomputer5 の管理者がチケットを使用して攻撃者へのアクセスを委任しました」というサブタイトルが続きます。タイトルの下には、左側に管理者アイコン、右側に攻撃者アイコンが表示され、管理者から攻撃者への矢印が「アクセス権のあるチケットを委任しました」と表示されます。証拠には、「リソース ベースの制約付き委任が、委任を許可された管理者とともにリソースに構成されている」、「evilcomputer5 は 2022 年 5 月 19 日の午後 8 時 45 分に作成された」、「このアラートは KrbRelayUp の悪用に関連付けられている」などがあります。
図 1. Microsoft Defender for Identity の「新しく作成されたコンピューターによる疑わしい Kerberos 委任の試行」アラート

Microsoft Defender for Endpointには、ネットワークとエンドポイントのシグナルを関連付けて信頼性の高いアラートを発行するための、新しく強化されたネットワーク検査機能が含まれています。 Defender for Endpoint は、これらのネットワーク シグナルを活用し、Active Directory ドメイン コントローラーへの疑わしい LDAP および Kerberos 要求を探し、KrbRelayUp を使用して攻撃を正確に検出します。 Defender for Endpoint は、疑わしい Kerberos サインインとサービスの作成も検出します。

この画像は、Microsoft Defender for Endpoint の「Kerberos ローカル特権エスカレーション リレー攻撃の可能性」というタイトルのアラートを示しています。アラート ストーリーには、「Defender がプロセス 'Test.exe' でアクティブな 'HackTool:MSIL/KrbUpRly.A!dha' を検出しました」など、さまざまな検出の詳細なタイムラインが表示されます。検出の下には、アラート状態、MITRE ATT&CK テクニック、検出情報、最後のアクティビティなど、アラート「Kerberos ローカル権限エスカレーション リレー攻撃の可能性」に関する詳細な洞察が含まれます。
図 2. Microsoft Defender for Endpoint の「Kerberos ローカル特権エスカレーション リレー攻撃の可能性」アラート

Microsoft Defender ウイルス対策は、KrbRelayUp ツールからの脅威を次のマルウェアとして検出します。

  • ハックツール:MSIL/KrbUpRly.A
  • ハックツール:MSIL/KrbUpRly.C
  • ハックツール:MSIL/KrbUpRly.D

Microsoft 365 Defender のお客様は、脅威分析レポートを参照して、この脅威がネットワークに存在するかどうかを判断し、追加の詳細と推奨事項を取得することができます。 脅威分析により、組織はネットワークに対する脅威の影響を評価し、露出と回復力を確認し、緩和、回復、または防止アクションを実行して、アクティブな攻撃を停止または封じ込めることができます。

Microsoft 365 Defender を使用して、自動化されたクロスドメイン セキュリティによって攻撃を阻止する方法について説明します。

Zeev RabinovichOfir Shlomo
Microsoft 365 Defender 研究チーム

資力

参照: https://www.microsoft.com/en-us/security/blog/2022/05/25/detecting-and-preventing-privilege-escalation-attacks-leveraging-kerberos-relaying-krbrelayup/

Comments

Copied title and URL