Threat actor with a smiley computer face

セキュリティ研究者は、広く使用されている Microsoft、SentinelOne、TrendMicro、Avast、および AVG のエンドポイント検出および応答 (EDR) およびウイルス対策 (AV) ソフトウェアのデータ削除機能を悪用して、それらをデータ ワイパーに変える方法を発見しました。

ワイパーは、侵害されたシステム上のデータを意図的に消去または破損し、被害者がデータを回復できないようにしようとする特殊なタイプの破壊的なマルウェアです。

SafeBreach の研究者である Or Yair は、標的のシステムで既存のセキュリティ ツールを悪用して攻撃をよりステルスにし、攻撃者が特権ユーザーである必要性を排除して破壊的な攻撃を実行するというアイデアを思いつきました。

また、セキュリティ ソリューションのファイル削除機能は予期された動作であり、見逃される可能性が高いため、データ消去のために EDR と AV を悪用することは、セキュリティ防御を回避する良い方法です。

(間違った)削除のトリガー

ウイルス対策および EDR セキュリティ ソフトウェアは、悪意のあるファイルがないかコンピューターのファイル システムを常にスキャンし、マルウェアが検出されると、それらを隔離または削除しようとします。

さらに、リアルタイム保護を有効にすると、ファイルが作成されると自動的にスキャンされ、悪意があるかどうかが判断され、悪意がある場合は削除/隔離されます。

「EDRが悪意のあるファイルを削除する際には、主に2つのイベントがあります。まず、EDRがファイルを悪意のあるファイルとして識別し、次にそのファイルを削除します」とYair氏はレポートで説明しています。

「ジャンクションを使用して、これら 2 つのイベントの間に何かを行うことができれば、EDR を別のパスに向けることができるかもしれません。これらは、チェック時から使用時 (TOCTOU) の脆弱性と呼ばれます。

Yair のアイデアは、C:tempWindowsSystem32drivers フォルダーを作成し、Mimikatz プログラムをそのフォルダーに ndis.sys として格納することでした。

Mimikatz は Microsoft Defender を含むほとんどの EDR プラットフォームで検出されるため、作成時に悪意のあるものとして検出されるように計画されていました。ただし、EDR がファイルを削除する前に、研究者はすぐに C:Temp フォルダーを削除し、C:Temp から C:Windows への Windows ジャンクションを作成します。

EDR が ndis.sys ファイルを削除しようとすることが期待されていましたが、このファイルはジャンクションにより、現在は正規の C:Windowssystem32driversndis.sys ファイルを指しています。

悪意のあるディレクトリを削除し、ジャンクションを使用してターゲットを指す
悪意のあるディレクトリを削除し、junction を使用してターゲットを指す(SafeBreach)

一部の EDR は、悪意のあるファイルとして検出された後、ファイルへのアクセス (削除を含む) をブロックしたため、これは機能しませんでした。他のケースでは、EDR が悪意のあるファイルの削除を検出したため、ソフトウェアは保留中のワイプ アクションを却下しました。

解決策は、悪意のあるファイルを作成し、そのファイルを開いたままにしてそのハンドルを保持し、それを検出した EDR と AV がファイルを消去できないように、そのファイルの書き込み/削除を許可する他のプロセスを定義しないことでした。

検出がトリガーされ、ファイルを削除する権限がなくなった後、セキュリティ ツールは研究者にシステムの再起動を承認するように促し、ハンドルを解放して悪意のあるファイルを削除できるようにしました。

再起動を促すセキュリティ ツール
再起動を促すセキュリティ ツール(SafeBreach)

この場合、ファイル削除コマンドは PendingFileRenameOperations レジストリ レジストリ値の下に書き込まれるため、再起動中に削除されます。

ただし、この値のファイルを削除する場合、Windows はジャンクションを「やみくもに」たどりながらファイルを削除します。

「しかし、このデフォルトの Windows 機能で驚くべきことは、再起動すると Windows がすべてのパスを削除し始め、やみくもにジャンクションをたどることです」と Yair 氏は警告しています。

したがって、次の 5 段階のプロセスを実装することで、Yair は変更権限を持たないディレクトリ内のファイルを削除できました。

  1. C:tempWindowsSystem32driversndis.sys に悪意のあるファイルを含む特別なパスを作成します。
  2. ハンドルを保持し、次の再起動後まで EDR または AV に削除を延期させます。
  3. C:temp ディレクトリを削除します
  4. ジャンクション C:temp → C: を作成します
  5. プロンプトが表示されたら再起動します。

「このエクスプロイトは、Controlled Folder Access と呼ばれる Windows のランサムウェア保護機能にも有効です。この機能は、未処理のプロセスが、保護されたフォルダー リストにリストされているフォルダーの 1 つに含まれるファイルを変更または削除するのを防ぎます。ただし、EDR または AVはシステム上で最も信頼できるエンティティであるため、この機能によってこれらのファイルの削除が妨げられることはありません。」 – セーフブリーチ

アナリストはエクスプロイトを彼が「Aikido Wiper」と名付けたワイパー ツールに実装しました。このツールは完全に検出されず、特権のないユーザーが起動して管理者ユーザー ディレクトリのデータを消去でき、システムを起動できなくすることさえできます。

影響と対応

Yair は 11 のセキュリティ ツールに対してエクスプロイトをテストし、Microsoft Defender、Defender for Endpoint、SentinelOne EDR、TrendMicro Apex One、Avast Antivirus、および AVG Antivirus がすべて脆弱であることを発見しました。

悪用できなかったセキュリティ ソリューションには、アナリストもテストした Palo Alto、Cylance、CrowdStrike、McAfee、BitDefender などがあります。

テスト済みのセキュリティ製品
テスト済みのセキュリティ製品(SafeBreach)

Aikido は、Microsoft Defender、Defender for Endpoint、および SentinelOne EDR で発見された脆弱性に対するエクスプロイトを特徴としており、これらはワイパー ツールで最も簡単に実装できるためです。

Yair は、2022 年 7 月から 8 月の間にすべての脆弱なベンダーに欠陥を報告し、現在までにすべてのベンダーが修正をリリースしています。

この問題に対してベンダーが割り当てた脆弱性 ID は、 CVE-2022-37971 (Microsoft)、 CVE-2022-45797 (Trend Micro)、CVE-2022-4173 (Avast および AVG) です。

修正されたバージョンは次のとおりです。

  • Microsoft Malware Protection Engine: 1.1.19700.2 以降
  • TrendMicro Apex One: Hotfix 23573 & Patch_b11136 以降
  • アバスト & AVG アンチウイルス: 22.10 以降

上記の製品のすべてのユーザーは、Aikido ワイパー機能を模倣するマルウェアによってファイルがワイプされる深刻なリスクを軽減するために、できるだけ早くセキュリティ アップデートを適用することをお勧めします。