/
サイバー・レジリエンス

私をドメインコントローラーに連れて行って:攻撃者が環境内を横方向に移動する方法

ダン・グールドもこの投稿に貢献しました。

このブログシリーズの第1部では、最初の感染後に脅威アクターがATT&CKフレームワークのディスカバリーフェーズを実行して、一概の状況を把握するためのさまざまな方法について説明しました。これにより、標準的なドメイン権限を持っていても、重要なネットワークとドメインの情報が得られます。また、ドメインコントローラーが使用するコンポーネントのうち、直接攻撃されたり、攻撃の一部として悪用されたりする可能性があるものにも注目しました。

ここでは、これについて詳しく説明し、攻撃の次の段階であるラテラルムーブメントを実行するためにこれらのコンポーネントに対して使用できる攻撃とツールの例を示します。

 Domain Controller components and corresponding attacks and tools
ドメインコントローラーのコンポーネントとそれに対応する攻撃とツール

前回の投稿で発見段階で示したような有益な情報を入手することで、脅威アクターは自信を持ってドメインコントローラーへの経路を横方向に移動できるようになります。ただし、最終的なターゲットに到達するには、必要な認証情報、中間のターゲットシステムおよびコンポーネント情報、および対応する攻撃ツールが必要です。

Image 2

ATT&CK: ラテラルムーブメント

横方向の動きは、特に Windows ドメインでは 2 つのレベルで発生する可能性があります。1つ目はアプリケーションレベルで、攻撃者はパス・ザ・ハッシュやパス・ザ・チケットなどの認証情報ベースの手法を使用し、次にネットワーク・レベルを活用して、最終的なターゲット(この場合はドメイン・コントローラー)に向かう途中で実際にマシンからマシンへと移動します。

これにより、認証情報ベースの手法が浮かび上がります。

横方向の動きに関する資格ベースのテクニック

率直に言って、ドメイン管理者の資格情報が明らかになると、通常はコマンドプロンプトでドメインコントローラーにアクセスできるようになります。

攻撃者は、Windows 上のユーザー、ログイン、権限の認証に使用される、ローカルセキュリティ機関サブシステムサービス (LSASS) などの一般的な場所にキャッシュされた資格情報をダンプしようとします。認証情報 (ハッシュ化されたパスワード/チケット) がメモリに保存されるのはなぜですか?シングルサインオンでは、ユーザーが毎回再認証する必要がないようにするためです。

攻撃者が運が良ければ、過去の管理者ログイン情報がメモリに残っているシステムを危険にさらすことになります。これらのログイン認証情報は、Mimikatz や類似の LSASS メモリプロービングツールを使って偽装される可能性があります。ご存知のように、脅威アクターは、Mimikatz や類似のツールを使用することで、LSASS が使用する実行中のコンピューターのカーネルメモリから NTLM ハッシュや Kerberos チケット情報などの認証資格情報を見つけて抽出できます。

以下の例は、Mimikatz を使った認証情報のダンプを示しています。

Image 3
ログオンハッシュのダンプを示す Mimikatz

ほとんどの場合、最初に侵害されたアカウントが Windows マシンのローカル管理者アカウントでなければ、Mimikatz などのツールを正常に実行できます。つまり、Windows デバッグ権限など、LSASS のような特定の重要な Windows プロセスのカーネルや特権メモリを読み取るのに必要な権限が付与されるということです。前述のように、Windows ドメインは、ドメイン全体でリソースを要求するユーザーやマシンにほぼシームレスなエクスペリエンスを提供するために、シングルサインオン機能に大きく依存しています。これを容易にするために、Windows ではハッシュされた認証情報をメモリに保存する機能を、古いバージョンではプレーンテキストのパスワードをメモリに保存する機能を使用しています。これは、Mimikatz のようなツールが NTLM ハッシュを取得できる主な方法の 1 つです。場合によっては、パス・ザ・ハッシュやパス・ザ・チケット攻撃などの手法でプレーンテキストのパスワードを取得できます。

Kerberos チケットをメモリからダンプすると、次のようになります。

Mimikatz showing a dump of Kerberos ticket information
Kerberos チケット情報のダンプを見せているミミカッツ

Kerberos チケット関連の攻撃に使用できるもう 1 つのツールが Rubeus です。このツールには Kerberos チケットリクエストのような機能があり、あるインスタンス内のユーザーのパスワード/ハッシュ、またはユーザーの証明書ストアに基づいて Ticket-Granting-Ticket (TGT) を取得できます。Rubeus は、特定のドメイン内またはフォレスト内のドメイン間で Service for User (S4U) の制約付き委任を行うことで、Windows ドメインの制約付き委任を悪用する目的でも悪用される可能性があります。

Image 5

以下の例から、脅威アクターは認証情報のハッシュ情報をメモリからダンプし、管理者アカウントとして識別された特定のアカウント名を見つけることができることがわかります。このアカウントが存在するのは、ある時点でそのマシンにログオンしていたはずだからです。

Image 6

この特定のダンプには、ドメイン内のログオンサーバーなどの情報も含まれます。これは、検出フェーズで収集された情報で裏付けられ、ターゲットドメインコントローラーを確認することができます。

以下の例では、 「IT管理者」 以前にダンプされたアカウント NTLM ハッシュでは、このハッシュを渡して、昇格された管理者権限トークンを使用して新しい Windows cmd プロセスを起動できました。つまり、実際にログインしているユーザーが感染マシンのローカル管理者権限しか持っていない場合でも、新しい cmd プロセスは特権アカウントのコンテキストでアクションを実行できるということです。

Image 7

この新しいプロセスは、「itadmin」という昇格されたトークンを使用して実行されます。つまり、このトークンを使用して他のリモートアクセスツールを実行し、ネットワーク経由でドメインコントローラーをターゲットにして接続できます。以下の図では、パス・ザ・ハッシュ攻撃が成功すると、パワー・アドミニストレーターのような副次的なツールが使用されていることがわかります。 ApeExec ドメインコントローラにリモート接続することで、残りの攻撃を続行できます。図の hostname コマンドは、アプリケーションレベルとネットワークレベルの両方でラテラルムーブメントが成功したことを確認しています。

Image 8

ドメインコントローラマシン上で実行中のサービスをチェックして、PaExec が対応するプロセスと接続したことを確認できます。下の図に示すように、パス・ザ・ハッシュ手法を使用して侵入先のラップトップに管理者権限で昇格したトークンを生成し、それを使用してPaExecリモート管理ツールを実行したところ、成功しました。

Image 9

これは、攻撃者がアプリケーションレベル(プロセスメモリ内の認証情報の盗難)からネットワークレベル(smb、msrpc、httpマシントラバーサル)へと横方向に進み、最終的なターゲットであるドメインコントローラーに到達する方法を示す簡単なデモンストレーションです。

AT&CK: インパクト

この時点で、ドメインコントローラーに到達した時点で、攻撃者が担当します。攻撃者は、さらに悪質なファイルをドメインコントローラーにリモートでコピーする可能性があります。例えば、Mimikatz をドメインコントローラーにコピーし、それを使って他のドメイン情報に加えてビルトイン KRBTGT ユーザーアカウントのハッシュを抽出し、ゴールデンチケット攻撃を仕掛けることができるようになりました。これにより、ドメイン全体にわたるパス・ザ・チケット攻撃が可能になります。

攻撃者は、すでに導入されているツールを利用して海外に住み、ランサムウェアなどを展開し、データベースやアプリケーションサーバーなどの他の機密サーバーに接続してデータをさらに盗み出すこともできます。攻撃対象となるのは、PSExec、PowerShell、SCCM など、ソフトウェアをデプロイできる IT 管理ツールならどれでもかまいません。

攻撃の巧妙さにもよりますが、攻撃者はすべてのカスタムツールを使用したり、メモリ内でのみコードを実行したりする可能性があります。そのため、Mimikatzなどのツールのシグネチャ分析は、どのセキュリティツールにとっても検出と防止が困難になります。同様に、行動分析はリソースを大量に消費する可能性があるため、特にサーバー環境やレガシークリティカルアプリケーションを実行するレガシーオペレーティングシステムでは、これらの分析手法が無効になる可能性があります。

次回の記事では、これらの攻撃の緩和策について紹介しています。ぜひご覧ください。

関連トピック

アイテムが見つかりません。

関連記事

スペースシャトルの打ち上げをハッキングした方法—そして捕まった方法
サイバー・レジリエンス

スペースシャトルの打ち上げをハッキングした方法—そして捕まった方法

ポールの子供の頃のハッキングの話が、典型的なサイバー攻撃がいかに直感的であるかを示している理由と、その情報を利用してラテラルムーブメントを阻止する方法を学びましょう。

ゼロトラストの運用 — ステップ 6: 検証、実装、監視
サイバー・レジリエンス

ゼロトラストの運用 — ステップ 6: 検証、実装、監視

組織のゼロトラストへの取り組みにおける重要なステップ、つまり検証、実装、監視について学びましょう。

Kubernetes クラスタの I/O はめちゃくちゃだが、支援は間近に迫っている
サイバー・レジリエンス

Kubernetes クラスタの I/O はめちゃくちゃだが、支援は間近に迫っている

Kubernetes クラスタ I/O の急増と、状況を簡素化するために行われている取り組みについて学んでください。

アイテムが見つかりません。

違反を想定.
影響を最小限に抑えます。
レジリエンスを高めます。

ゼロトラストセグメンテーションについて詳しく知る準備はできていますか?