Kaspersky Endpoint Security for Businessのふるまい検知と脆弱性攻撃ブロックのテクノロジーによって、複数の企業に対する標的型攻撃が特定されました。これらの攻撃は、Google ChromeとMicrosoft Windowsの脆弱性に対する一連のゼロデイエクスプロイトを使用していました。現時点で、これら脆弱性を修正するパッチが入手可能な状態となっています(Microsort Windowsに関しては6月8日にリリース済み)。Chrome、Windows OS共に、アップデートすることを推奨します。これら攻撃の背後にいる攻撃者を、当社では「PuzzleMaker」と名付けました。
PuzzleMaker攻撃の流れ
攻撃者は、Google Chromeの脆弱性を利用して標的のコンピューター上で悪意あるコードを実行。さらにWindows 10の2つの脆弱性を使用して「サンドボックス」を回避し、システム権限を獲得します。その後、最初のマルウェアモジュール(いわゆる「ステージャー」)を、カスタマイズした構成ブロック(指令サーバーのアドレス、セッションID、次のモジュールの復号鍵など)と共にアップロードします。
このステージャーは、感染に成功したことを攻撃者へ通知し、ドロッパーモジュールをダウンロードして復号します。ドロッパーモジュールは、Microsoft Windowsの正規のファイルに見せかけた実行ファイルを2つインストールします。1つ目のWmiPrvMon.exеはサービスとして登録され、2つ目のwmimon.dllを実行します。この2つ目の実行ファイルwmimon.dllはリモートシェルの機能を持っており、攻撃の主要なペイロードであると考えられます。
攻撃者は、このリモートシェルを使用して標的のコンピューターを完全に掌握します。ファイルのアップロードとダウンロードが可能なほか、プロセスを作成する、指定時間のあいだ休眠する、攻撃の痕跡をすべて消し去るといったことも可能です。このリモートシェルは、暗号化された接続を通じて指令サーバーと通信します。
使われたエクスプロイトと脆弱性
PuzzleMaker がGoogle Chromeへの攻撃に使用したリモートコード実行のエクスプロイトに関しては、当社エキスパートは残念ながら解析できませんでしたが、徹底した調査の結果、CVE-2021-21224の脆弱性が攻撃に使用された可能性が高いとの結論に至りました。この結論に至った経緯については、Securelistの記事をご覧ください(英語)。この脆弱性に対するパッチは、2021年4月20日にGoogleから公開されています。当社がこの攻撃を発見してから1週間も経たないタイミングでした。
一方の権限昇格のエクスプロイトは、Windows 10の脆弱性を一度に2つ使用します。1つ目のCVE-2021-31955は、ntoskrnl.exeに存在する情報漏洩の脆弱性です。エクスプロイトはこの脆弱性を利用し、実行済みプロセスのEPROCESSのカーネルアドレスを特定します。
2つ目の脆弱性CVE-2021-31956は、ntfs.sysに存在するヒープオーバーフローの脆弱性です。攻撃者はこの脆弱性を、メモリへのデータ読み書きに使われるWindows Notification Facilityと共に使用していました。このエクスプロイトは、広く使用されている以下のWindows 10ビルドで機能します。
17763(Redstone 5)
18362(19H1)
18363(19H2)
19041(20H1)
19042(20H2)
なお、ビルド19043(21H1)は、当社がPuzzleMakerを検知した後にリリースされ、当社テクノロジーではこのビルドへの攻撃を検知していませんが、このビルドも同様に脆弱性を抱えています。PuzzleMakerの技術的詳細と脅威存在痕跡(IoC)については、Securelistの記事(英語)をご覧ください。
この攻撃や類似の攻撃への対策
PuzzleMakerの攻撃に使用されたエクスプロイトから企業を守るため、まずはChromeをアップデートし、MicrosoftのWebサイトからCVE-2021-31955およびCVE-2021-31956に対応するセキュリティ更新プログラムをインストールすることを推奨します。
これに留まらず、その他ゼロデイ脆弱性の脅威を避けるには、企業の業種を問わず、疑わしいふるまいの解析によってこのようなエクスプロイトの試みを検知可能なセキュリティ製品を導入・運用することが重要です。Kaspersky Endpoint Security for Businessには、この攻撃を検知したふるまい検知エンジンと脆弱性攻撃ブロック機能が搭載されています。