Azureを使用したActive Directory攻撃の検出

来年は、Active Directoryが作成されてから20年になります。 この間、サービスは機能、プロトコル、さまざまなクライアントで大きくなりました。 ただし、多数のレガシークライアントとの互換性を維持する必要があるため、互換性を重視したデフォルト設定が必要になります。 多くの場合、管理者はそれらを変更しないため、大きなリスクが生じます。 この記事では、ドメインの支配につながる可能性のある攻撃の検出について説明します。







Active DirectoryとAzureの攻撃の共通点は何ですか? 2018年3月1日に、Azure Advanced Threat Protectionがリリースされました。 このサービスは、オンプレミスのAdvanced Threat Analytics製品のクラウドベースの類似物です。 ローカルバージョンとは異なり、クラウドには機械学習の人為的な制限がなく、クラウドサービスと同様に定期的に更新されます。 典型的な攻撃と異常なユーザー行動の両方を検出するために使用できます。



開始するには、試用版サブスクリプションを登録できます



初期設定後、ゲートウェイをダウンロードしてインストールし、エンタープライズネットワーク内のすべてのドメインコントローラーでデータを収集する必要があります。 これでセットアップは完了です。



ここで、次のシナリオに従って攻撃の例を検討することを提案します。ローカルマシンの管理者権限を取得したインサイダーは、ドメイン内の特権を増やすことを計画しています。



まず、従業員は、ドメイン内の特権を取得するために侵害する必要があるアカウントを理解する必要があります。 彼はDomain Adminsに興味があります。 Domain Adminsメンバーを検出するには、コマンドラインでクエリを作成します。



net group “Domain Admins” /domain











グループのユーザーを発見したら、ユーザーの1人のアクティブセッションがどのマシンにあるかを調べる必要があります。 ユーザートレーナーについて見てみましょう。



セッションを検出するには、ペンテスターの間で知られているブラッドハウンドツールを使用します。 図からわかるように、ユーザートレーナーはW10-notGuardedワークステーションでアクティブなセッションを持ち、攻撃者もアクセスできます。







Azure ATPポータルに移動して、新しいアラートを確認します。 グループおよびセッションの検出要求が検出されました。







攻撃者に戻ります。 ワークステーションに接続することにより、攻撃者はタスクマネージャーを使用して(またはprocdumpを使用してコマンドラインから)lsassプロセスをダンプできます。 この操作にはデバッグ特権が必要です。







ダンプを受け取った攻撃者は、ダンプをワークステーションにコピーし、Mimikatzを使用して分析できます。



Mimikatzと同じフォルダーにダンプをコピーし、Mimikatzを実行して、分析のためにダンプを接続します



Sekurlsa::minidump lsass.dmp







結果をテキストファイルに出力する



Log







ダンプの内容を抽出します



Sekurlsa::logonpasswords











テキストファイルMimikatz.logを開くと、ユーザートレーナーの資格情報を見つけることができます。 NTLMパスワードハッシュに興味があります。 スクリーンショットの値は、プライバシー保護のために非表示になっています。







ハッシュ操作は元に戻せないため、ハッシュからパスワードを取得することはできません。 パスワードが単純な場合、レインボーテーブルを介して選択される可能性があります。 不幸で、ハッシュでパスワードを見つけることができなかったとします。 その後、ハッシュ攻撃が始まります。



攻撃を検討する前に、Active DirectoryのKerberos認証は、この攻撃が可能な理由を理解するために簡単に機能します。 Active Directoryクライアントが特定のリソースにアクセスするには、TGSチケッ​​トが必要です。 TGSチケッ​​トを指で取得すると、次のようになります。



  1. クライアントは現在の日付と時刻をドメインコントローラーに送信し、共有シークレットを使用してそれらを暗号化します。
  2. 要求を受信して​​復号化すると、ドメインコントローラーは、ユーザー、ユーザーが所属するグループなどに関する情報を含むTGTチケットをクライアントに転送します。
  3. クライアントがリソースへのアクセスを必要とするとき、彼はコントローラーに目を向け、TGTチケットを提示し、TGSチケッ​​トを受け取ります
  4. このチケットで適切なリソースを認証します。


既存のNTLMハッシュに関連する攻撃はどの段階で可能ですか? NTLMハッシュは、クライアントとドメインコントローラーが持っているものと同じ共有秘密です。 したがって、NTLMハッシュを知っていれば、TGTチケットをほぼ正当に取得できます。



攻撃を実行するには、ドメインコントローラーおよびMimikatzと同じネットワーク上にワークステーションが必要です。 ワークステーション自体がドメインのメンバーである必要はありません。



jdoeユーザーが作業しているドメインワークステーションに切り替えます。 目的のリソースにアクセスできないことを確認しますが、トレーナーユーザーはそれを持っている必要があります。



Mimikatzを開き、特権をアップグレードしてデバッグします



Privilege::debug







次に、コマンドを示します。



Sekurlsa::pth /user:trainer /domain:contoso.com /ntlm:<ntlm- trainer>



(実際のハッシュを指定してSekurlsa::pth /user:trainer /domain:contoso.com /ntlm:<ntlm- trainer>











新しいコマンドラインが開きました。 ファイルへのアクセスを確認しています-アクセスが許可されました。 同時に、私はまだjdoeユーザーですが、トレーナーユーザーKerberosチケットを持っています。







この攻撃はOverpass-the-Hashと呼ばれ、Kerberosプロトコル機能の悪用です。 適切な構成と検出により、攻撃を防止できます。



Azure ATPポータルに戻って、何が発見されたかを見てみましょう。



1つのアラートは、異常なプロトコルの実装です。 これは「非定型」認証の発見です。







2番目は暗号化ダウングレードアクティビティです。 Mimikatzを使用したKerberosチケット要求の検出。







したがって、Kerberosプロトコルに対する攻撃の1つをすぐに発見しました。



攻撃の検出は、ベストプラクティスに従ってActive Directoryセキュリティを慎重に構成する必要性を排除しないことに留意することが重要です。



4月21日にモスクワのAzureグローバルブートキャンプで、 Azure ATPの実際の動作を直接またはオンラインで見ることができます。



ロシア語の新しい無料のMicrosoft Azureセキュリティインフラストラクチャe-bookで、Azureの基本機能やその他のセキュリティ機能について詳しく知ることができます。



この本は、一般的な情報、設計のヒント、展開シナリオ、ベストプラクティス、技術調査の結果、およびAzureのセキュリティ機能に関する包括的なプレゼンテーションの作成に役立つステップバイステップの手順を提供します。



著者について



Sergey Chubarovは、IT教授のインフラストラクチャプロジェクトの責任者です。 Microsoft AzureのMost Valuable Professional(MVP)ステータスホルダー。 プロジェクトの仕事に加えて、彼女は技術イベントの講演者であり、MCTのロシア語を話すトレーナーの地域リーダーでもあります。



グローバルAzure Bootcamp 2018ロシア



4月21日土曜日に、Azure Global Cloud Technology ForumであるGlobal Azure Bootcamp Russia 2018を開催します。 毎年、Azureコミュニティは、世界中の200以上の都市で1つの会議日を選択します。そこでは、IT専門家がお互いの知識と経験を共有し、新規参入者と共有できます。 是非、参加は無料です。

登録



All Articles