Threat Research

グループポリシーを狙った攻撃

ある脅威ハンティングをもとに、侵害された Active Directory に対する攻撃者の 3 つの変更に注目し、攻撃を理解し克服する方法を説明します。

** 本記事は、Identifying Group Policy attacks の翻訳です。最新の情報は英語記事をご覧ください。**

本記事では、今年初めに Sophos X-Ops のインシデントレスポンスチームが実施したランサムウェア調査をもとに、グループポリシーを狙った攻撃について説明します。Active Directory やグループポリシーへの攻撃に関連する悪意のある活動を取り上げ、これらの脅威を調査し、修復する方法を紹介します。

本記事の内容の多くは、Sophos X-Ops の新しい YouTube チャンネルで公開中の動画「Identifying Group Policy Attacks (グループポリシーを狙った攻撃)」でも紹介されています。この動画では、Sophos Live Response (Sophos Intercept X Advanced with XDR の主要機能である、標準の調査ツール) を使用して、調査および修復を行っています。

本記事では、この動画と同一の内容を説明しますが、動画の情報を読者の方々にわかりやすい形式で提供します。

事例

今回ご紹介する Cyclops ランサムウェアの事例では、攻撃者は ProxyShell の脆弱性を利用して、パッチが適用されていない Exchange サーバーに侵入することで、環境への初期アクセスを獲得しました。初期アクセスから 4 日後、攻撃者は Exchange サーバー上の Web シェルから暗号化された PowerShell コマンドを使用して攻撃の実行を開始しました。

攻撃者は、防御回避の手段としてエンドポイント保護を無効にし、Windows のイベントログとインターネットブラウザの履歴を消去しました。攻撃者はその後、リモートデスクトッププロトコル (RDP) を活用して、ネットワーク上の他のマシンにラテラルムーブメントを行いました。アクセスを維持するため、コマンドアンドコントロール (C2) マルウェアである Cobalt Strike と、リモートアクセスソフトウェアである AnyDesk の両方が複数のマシンにインストールされていました。その翌日、攻撃者はネットワークアクセスを利用して、複数のクラウドストレージホスティングプロバイダーにデータを流出させました。

その後、攻撃者は Active Directory のグループポリシーを利用して、ドメイン上のマシンに Cyclops ランサムウェアのバイナリを配信し、スケジュールタスクを使用してランサムウェアのバイナリを実行するグループポリシーも作成しました。攻撃の最終段階では、攻撃者はボリュームシャドウコピーのバックアップを削除しました。ドメイン上のマシンはスケジュールタスクを実行することで Cyclops ランサムウェアのバイナリを起動し、ファイルを暗号化し、ランサムノート (身代金要求文書) を作成しました。

グループポリシーを狙う理由

グループポリシーを狙う攻撃は、より大規模な Active Directory 攻撃の兆候です。グループポリシーを狙う攻撃者は、UNC パスなどの既存のグループポリシーオブジェクトを活用し、GPO にプリセットされた安全性の低い場所から悪意のあるペイロードを実行したり、脆弱な cpassword 属性を持つグループポリシー経由で設定されたユーザーパスワードを傍受したりする可能性があります。

一度権限を獲得した攻撃者は、ファイアウォール、アンチウイルス、セキュリティ更新、ロギングなどの中核的なセキュリティソフトウェアや機能を無効にするなど、大規模な目標を達成するために GPO を作成することがしばしばあります。また、ネットワークに常駐してマルウェアを実行するため、スケジュールタスク、スタートアップまたはログインスクリプト、あるいはサービスを作成することで、悪意のあるツールの展開に GPO を使用する可能性もあります。

脅威ハンティング

脅威ハンティングの調査担当者は、ランサムウェアの調査/修復プロセスを開始するにあたって、まず被害者の証言やフォレンジックデータを収集します。さらに、手持ちのツールを使って、Windows のイベントログ、PowerShell の履歴、スタートアップの項目、ShellBags、スケジュールタスク、シムキャッシュなど、標準的なフォレンジックデータからセキュリティ侵害の痕跡を探します。

分析を実行し、複数の活動が同時に起こった証拠や活動が反復された証拠が発見された場合、グループポリシー攻撃の重要な兆候である可能性があります。たとえば、スケジュールタスクやファイルの実行が複数のマシンで確認された場合は、リモート実行やグループポリシーの使用が示唆されます。ソフトウェア配信ツールまたは Windows 管理ツールの使用を示すシステムログが存在しない場合、グループポリシーが侵害された可能性が高いことを示しています。このような悪意のある同期機能の使用は、特にトリアージ時に顕著で、削除されたシステム上に持続的なスケジュールタスクが再度出現します。

グループポリシーを狙った攻撃が疑われる場合、調査担当者はすべてのグループポリシーオブジェクトを一覧化する PowerShell コマンド get-GPO -All を用いてドメインコントローラー上のグループポリシーオブジェクトを調べる必要があります。結果をフィルタリングします。

Get-GPO -All | Sort-Object ModificationTime -Descending | Format-Table DisplayName, ModificationTime, CreationTime 

上記のコマンドにより、調査担当者は、変更時間および作成時間を確認し、確認された他の活動との関連性を確認できます。ファイルが最後に変更された日付でソートすると、攻撃者によって作成または変更された GPO を発見できる可能性があります。ここで、さらなる調査のために GPO レポートを作成するのも有益です。

Get-GPOReport -All -ReportType Html -Path "C:\Windows\Temp\Sophos_GPOReport.html” 

GPO レポートを調査すると、疑わしい名前のグループポリシーオブジェクトの目的を特定できます。動画用に匿名化された Cyclops の事例では、3 件の不審な GPO が確認されました。匿名化のため、この 3 件を「Pawn」、「Rook」、「Queen」と呼ぶことにします。

  • 攻撃者は Pawn を使ってドメインコンピュータにスケジュールタスクをインストールし、プログラム rook.exe を実行させました。
  • GPO「Rook」は、rook.exe ファイルをファイルサーバー上の管理共有からドメインに参加したマシンにコピーするために使用されます。攻撃者がマルウェアを使って上記のような活動を行うのは珍しくないため、私たちは即座にローカルシステムに移動し、Get-ItemProperty “C:\Windows\rook.exe” を用いて GPO のコピーがまだ利用可能かどうかを確認します。利用可能な場合、調査担当者は (Get-FileHash “C:\Windows\rook.exe” を使用して) このファイルのハッシュ値を取得し、VirusTotal と照合することで悪意の有無を確認できます。もちろん、さらなるフォレンジック分析のためにマルウェアのサンプルを所持しておくことも重要です。
  • GPO「Queen」は、Windows ファイアウォールの状態をオフに設定します。また、Queen はリアルタイムスキャン機能を含む Windows Defender のマルウェア対策機能も無効にするようです。

対応策

環境内の悪意のある行動が特定されると、Active Directory 管理サーバー上のグループポリシー管理ツールを介して、脅威の封じ込めおよび環境の修復が開始されます。

まず、Windows Firewall と Windows Defender の動作を妨害している Queen に対処します。このポリシーを無効にすると、これらの設定が Windows のデフォルトのローカル設定を上書きするのを防げます。

次に、Rook を無効化します。このポリシーを無効にすると、マルウェア rook.exe がネットワーク上の他のマシンにコピーされるのを防げます。また、マルウェアの実行ファイルは、ネットワーク全体のグローバル設定でブラックリストに登録する必要があります。登録することにより、たとえば新たな攻撃の試み、あるいは感染したバックアップが実行ファイルを再ロードしようとする場合などに、Rook マルウェアが実行されるのを防げます。(適切なバックアップの管理は、防御側にとって考慮すべき重要なトピックですが、本記事の範囲からは少し外れます。)

最後に、悪意のあるスケジュールタスク Pawn に対処します。この GPO を無効にすると、攻撃者はドメイン上のコンピュータにスケジュールタスクを追加で配信できなくなります。これらの修復ステップに従うことで、ネットワーク全体に悪意のある活動が拡散するのを防げます。

これらの 3 つの手順はすべて悪意のある GPO を無効にするものですが、それだけでは不十分です。適切な修復には、悪意のある GPO が実行する動作と逆の動作を実行する手順が必要です。この手順自体は、GPO や他のデバイス管理プラットフォームを使って一気に行えます。企業によってはロールバックという選択肢もあり得ます。後者を選択した場合、アーカイブされたファイルに感染や不要な改変がないかを検査することを強くお勧めします。

謝辞

本調査への貢献に対し、Elida Leite および Rajat Wason の各氏に謝意を表します。