ドメイン コントローラーに移動する: 攻撃者が環境内を横方向に移動する方法
ダン・グールドもこの投稿に貢献しました。
このブログシリーズの最初の部分では、脅威アクターがATT&CKフレームワークのディスカバリーフェーズを実行して、最初の感染後に状況を把握できるさまざまな方法を見てきました。これにより、標準のドメイン権限を使用しても、重要なネットワークとドメイン情報が得られます。また、ドメインコントローラーが使用するコンポーネントのうち、直接攻撃されたり、攻撃の一部として利用されたりする可能性があるものについても言及しました。
ここでは、攻撃の次のフェーズであるラテラルムーブメントを実行するために、これらのコンポーネントに対して使用できる攻撃とツールの例を紹介するために、これについて詳しく説明します。

前回の投稿で発見段階で示したような、この有用な情報を武器に、脅威アクターは自信を持ってドメイン コントローラーへのパスでラテラル ムーブメントを試みることができます。ただし、最終的なターゲットに到達するには、必要な資格情報、中間ターゲット システム、コンポーネント情報、および対応する攻撃ツールを組み合わせる必要があります。

ATT&CK:ラテラルムーブメント
特に Windows ドメインでは、横方向の移動は 2 つのレベルで発生する可能性があります。まず、アプリケーション レベルでは、攻撃者はハッシュの受け渡しやチケットの受け渡しなどの資格情報ベースの手法を使用する可能性があり、ネットワーク レベルを利用して、最終的なターゲット (この場合はドメイン コントローラー) に到達する途中で実際にマシンからマシンへと移動します。
これは、資格ベースの手法につながります。
ラテラルムーブメントのためのクレデンシャルベースの手法
率直に言って、ドメイン管理者の資格情報が発見されると、通常、ドメイン コントローラーはコマンド プロンプトでアクセスできます。
攻撃者は、Windows 上のユーザー、ログイン、権限の認証に使用される、ローカル セキュリティ機関サブシステム サービス (LSASS) などの一般的な場所にキャッシュされた資格情報をダンプしようとします。資格情報(ハッシュ化されたパスワード/チケット)がメモリに保持されるのはなぜですか?シングルサインオンの場合、ユーザーが常に再認証する必要がなくなります。
攻撃者は運が良ければ、過去の管理者ログインがメモリに残っているシステムを侵害します。これらのログイン資格情報は、Mimikatzまたは同様のLSASSメモリプロービングツールで誘導できます。ご存知のとおり、Mimikatz や同様のツールを使用すると、脅威アクターは、LSASS が使用する実行中のコンピューターのカーネル メモリから、NTLM ハッシュや Kerberos チケット情報などの認証資格情報を見つけて抽出できます。
次の例は、Mimikatz を使用した資格情報ダンプを示しています。

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

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

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

この特定のダンプには、ドメイン内のログオン サーバーなどの情報も含まれます。これは、ターゲット ドメイン コントローラーを確認するために検出フェーズ中に収集された情報で裏付けられます。
次の例では、前にダンプされた "itadmin" アカウント NTLM ハッシュから、このハッシュを渡して、管理者特権トークンを使用して新しい Windows cmd プロセスを起動することができました。これは、実際のログイン ユーザーが侵害されたマシンのローカル管理者権限を持っているだけであっても、新しい cmd プロセスが特権アカウントのコンテキストでアクションを実行できることを意味します。

この新しいプロセスは、"itadmin" の昇格されたトークンを使用して実行されるため、それを使用して他のリモート アクセス ツールを実行し、ネットワーク経由でドメイン コントローラーをターゲットにして接続できます。下の画像では、パス・ザ・ハッシュ攻撃が成功した後、power admin の PAexec などのセカンダリ ツールを使用して、ドメイン コントローラーにリモート接続することで残りの攻撃を続行できることがわかります。図の hostname コマンドは、アプリケーション レベルとネットワーク レベルの両方でラテラル ムーブメントが成功したことを確認します。

ドメイン コントローラー マシンで実行中のサービスをチェックして、PAExec が対応するプロセスに接続したことを確認できます。下の図に示すように、侵害されたラップトップで管理者昇格トークンを生成し、PAExecリモート管理ツールを実行するために使用されたハッシュのパス技術は成功しました。

これは、攻撃者がアプリケーションレベル(プロセスメモリ内の資格情報の盗難)からネットワークレベル(smb、msrpc、またはhttpマシントラバーサル)に横方向に移動して、最終的なターゲットであるドメインコントローラーに到達する方法の簡単なデモンストレーションです。
ATT&CK:インパクト
この時点で、ドメインコントローラーに到達すると、攻撃者が主導権を握っています。追加の悪意のあるファイルをドメイン コントローラーにリモートでコピーできます。たとえば、Mimikatz をドメイン コントローラーにコピーし、それを使用して、他のドメイン情報に加えて、組み込みの KRBTGT ユーザー アカウントのハッシュを抽出して、ゴールデン チケット攻撃を開始できるようになりました。これは、ドメイン全体にわたるパス・ザ・チケット攻撃に使用できます。
攻撃者は、すでに設置されているツールを使用して、陸上で生活しているランサムウェアのようなものを展開し、データベースやアプリケーションサーバーなどの他の機密サーバーに接続して、さらにデータを盗み出すこともできます。これは、PsExec、PowerShell、SCCM など、ソフトウェアを展開できるあらゆる IT 管理ツールです。
攻撃の巧妙さによっては、攻撃者がすべてのカスタムツールを使用したり、メモリ内でのみコードを実行したりする可能性があるため、Mimikatzのようなツールのシグネチャ分析は、セキュリティツールが検出して防止することが困難になります。同様に、行動分析もリソースを大量に消費する可能性があるため、特にサーバー環境やレガシークリティカルアプリケーションを実行するレガシーオペレーティングシステムでは、これらの分析手法が無効になる可能性があります。
これらの攻撃の緩和策を検討する次の投稿をご覧ください。