脅威の調査

巧妙なトリック:署名付きの奇異なバックドア

Sophos X-Ops がバックドアとして利用される署名付きの実行ファイルを検出しました。

** 本記事は、Smoke and (screen) mirrors: A strange signed backdoor の翻訳です。最新の情報は英語記事をご覧ください。**

2023 年 12 月、Sophos X-Ops は、有効な Microsoft ハードウェア発行元の証明書で署名された実行ファイルが誤検出されているとの報告を受けました。しかし、この問題がないはずのファイルのバージョン情報に不審な点がありました。

バージョン情報の表の会社名が「Catalog Thales」と記載されていました。

図 1:検出されたファイルのバージョン情報。「Copyrigth」と「rigths」の誤字が存在している。

このファイルのメタデータは、「Catalog Thales」が提供する「Catalog Authentication Client Service」であることを示しており、フランスの大手電機企業「タレス・グループ」へのなりすましの可能性が浮かび上がりました。ソフォスの社内データと VirusTotal のレポートの両方を調べた結果、このファイルは以前、「LaiXi Android Screen Mirroring」という製品のセットアップファイルにバンドルされていたことが判明しました。この製品は、「数百台のスマートフォンを接続し、それらのデバイスを一括で制御し、フォロー、いいね、コメントなどのタスクを自動化できるマーケティングソフトウェア」です。

LaiXi ソフトウェアが正規の製品であるかどうかを証明することはできていません。この記事を書いている時点で、GitHub リポジトリにコードはありませんが、開発者の Web サイトと思われるリンクがリポジトリに含まれていました。ソフォスは、調査したこのファイルは悪意のあるバックドアであると確信しています。

Sophos X-Ops が、Microsoft Windows ハードウェア互換性プログラム (WHCP) を悪用する脅威を発見したのは、今回が初めてではありません。この調査を実施するほぼ 1 年前の 2022 年 12 月、攻撃者が暗号署名されたドライバを展開し、ソフォスのエンドポイントセキュリティ製品を無効化しようとして失敗したことを報告しています。これらのドライバは、BURNTCIGAR/POORTRY (犯罪フォーラムで販売されており、LockBit や CUBA などのランサムウェアグループとつながりのある EDR を無効化するマルウェア)の亜種で、正規の WHCP 証明書で署名されていました。しかし、WHCP を悪用していること以外には、2023 年 12 月に報告したバックドアがその以前の EDR を無効化するマルウェアと関連があることを示す証拠は観察されませんでした。

2022 年に検出されたマルウェアと同様に、ソフォスは発見した問題を直ちに Microsoft Security Response Center に報告しました。ソフォスが報告した問題を確認した Microsoft のチームは、関連ファイルを失効リストに追加しました。この問題は、通常の月例パッチとして本日更新されました (CVE-2024-26234を参照)。

2023 年 12 月にこのバックドアについてソフォスが独自に調査した結果に基づいてこの記事を書いているときに、Johann Aydinbas 氏の 2024 年 1 月のツイートの情報に基づき、同月にセキュリティ企業の Stairwell がこのトピックについて独自の記事を発表しました。ソフォスの調査は、特定された問題をさらに詳細に検証したものです。

署名を依頼した発行元の追跡

悪意のあるファイルを操っているサイバー攻撃者は、Microsoft Windows Hardware Compatibility Publisher のシグネチャを Microsoft から取得していることから、この署名から分析を開始しました。

Catalog.exe の証明書情報のスクリーンショット。WHCP が署名者として表示されている。

図 2:Catalog.exe の署名

Authenticode は、署名付きソフトウェアの発行元を識別する Microsoft のコード署名テクノロジーであり、アプリケーションの発行元を識別し、署名され公開された後にアプリケーションが変更されていないことを検証します。Microsoft は、これらのシグネチャを処理し、さらにメタデータを抽出するコードスニペットを提供しています。ソフォスは、このスニペットを使用して、最初に依頼した発行元の情報を抽出することができました。

AuthenticodeParse.exe ツールを使用して Catalog.exe について出力された Windows コマンドラインのスクリーンショット。署名者の証明書情報に WHCP が表示されている。

図 3:悪意のあるファイルから最初に依頼した発行元を抽出できた

この場合、最初に要求した発行元は、Hainan YouHu Technology Co.Ltd となっており、LaiXI ソフトウェアの発行元としても表示されています。

LaiXi の Web サイトのスクリーンショット。会社名を右下の赤いボックスで強調表示しています。

図 4:Hainan YouHu Technology Co. Ltd も LaiXi アプリケーションの発行元として表示されている。

LaiXi の開発者が悪意のあるファイルを意図的に製品に組み込んだことを示す証拠はありません。また、サイバー攻撃者がサプライチェーン攻撃を実行し、LaiXi アプリケーションのコンパイル/ビルドプロセスにこの悪意のあるファイルを挿入したことを示す証拠もありません。しかし、LaiXi とソフォスが調査した悪意のあるバックドアとの関連、そして問題が存在していた期間 (後ほど説明するように、少なくとも 2023 年 1 月以降) を考えると、LaiXi のダウンロード、インストール、使用についてユーザーは細心の注意を払う必要があります。

技術的な分析

不審なファイルは、3proxy と呼ばれる小規模なフリーウェアのプロキシサーバーを埋め込んでいます。3proxy の認証クライアントとしての機能は不完全なものです。ソフォスは、埋め込まれたこのバイナリは、感染したシステムのネットワークトラフィックを監視し、傍受することを目的としていると考えています。

マルウェアを解析したスクリーンショット。「3proxy」という文字列を黄色で強調表示している。

図 5:マルウェアに組み込まれたプロキシサーバーに関する文字列

ファイルが実行されると、「CatalogWatcher」と呼ばれるサービスとしてインストールされます。このサービスの説明には、「Google ADB LoaclSocket [sic] Multi-threading Graphics API」と記載されており、図 1 で表示したファイルバージョン情報とは全く異なっています。確認はできていませんが、これは LaiXi Android ソフトウェアのセットアップファイルにリンクされており、感染したユーザーにこれが合法的なサービスであると信じ込ませようとしている可能性があります。

マルウェアを解析したスクリーンショット

図 6:CatalogWatcher サービスを作成する関数

このサービスが実行されると、マルウェアは QueueUserWorkItem を介して新しい作業項目/スレッドをスレッドプールに入れます。十分なリソースをプロセスに利用できるようになると、悪意のあるスレッドが開始されます。このスレッドには、バックドア自体のコア機能が組み込まれています。

この関数は、VMProtect の VMProtectSDK32.DLL のエクスポートである VmProtectBeginVirtualization() 関数を呼び出すところから始まっていることに注意が必要です。

マルウェアを解析したスクリーンショット

図 7:C2 と通信する関数の開始

VMProtect のユーザーマニュアルによると、この関数は難読化と仮想化によって保護するコード領域を定義するために使用されています。正規のソフトウェア開発者は、アプリケーションのリバースエンジニアリングを防止する目的で、仮想マシンベースのコード保護機能を使用することが多くありますが、サイバー攻撃者もこの機能を利用して、マルウェアの解析を妨害することもあります。仮想マシンベースの保護機能を使用するアプリケーションのリバースエンジニアリングの詳細については、数年前に私が個人サイトで公開したブログを参照してください。今回のケースでは、関数は適切に難読化されていません。サイバー攻撃者が意図している可能性も否定できませんが、ソフォスは何らかの理由で難読化が失敗したと考えています。

また、2022 年 12 月に Microsoft に報告した POORTRY/BURNTCIGAR の検体は VMProtect がパッカーとして使用されていました。当初からソフォスは、攻撃者がソフトウェアの悪意のある目的を隠蔽し、ドライバを署名させるために、Armadillo や VMProtect のような商用のパッカーを使用していることを疑っていました。このバックドアを操っているサイバー攻撃者も、同じ狙いを持っていた可能性があります。難読化、パッカー、VMProtect などの仮想化の使用は、多くのマルウェア開発者にとって非常に一般的な技法となっています。

C2 サーバーの文字列「catalog[.]micrisoftdrivers[.]com」 (microsoftdrivers[.]com に似せているドメイン) は、単純な XOR 演算によって復号されます。Python による復号ルーチンの再実装を以下に示します。

# Decrypts to catalog[.]micrisoftdrivers[.]com
s = "c`vbhja)e`iye~aidu`zbpdd6zuv"
cc = ""
i = 0
while i < len(s):
    ch = chr((ord(s[i]) ^ i))
    cc += ch
    i += 1

脅威ハンティング

最後に、このサイバー攻撃者が同じペイロードを他の製品に埋め込んでいないかどうかを確認することにしました。ソフォスは独自のテレメトリと他の情報ソースの両方を確認しましたが、このバックドアが LaiXi 以外の別のソフトウェアにバンドルされているという証拠は得られませんでした。しかし、ソフォスは他にもいくつかの亜種を検出しています。それらの亜種のいくつかは「Laixi_Update_1.0.6.7_b.exe」という名前のファイルにリンクされており、セットアップ用のインストーラーだけでなく、他のファイルにも悪意のあるバックドアが含まれていることを示しています。

検出したすべての検体を、コンパイルのタイムスタンプに基づいて 4 つのグループに分類しました。

コンパイルのタイムスタンプに基づく検体の 4 つのカテゴリを示すタイムライン

図 8:検体の 4 つのグループと検出された年月の分類

PE ファイルがコンパイルされた日付のタイムスタンプは改変される可能性がありますが、ファイルがコンパイルされた日時からソフォスのシステムで最初に検出されるまでに経過した時間を考慮すれば、コンパイルのタイムスタンプは正確である可能性が高いと思われます。

  • 最初の亜種には、2023-01-05 というコンパイルのタイムスタンプが含まれていることから、このキャンペーンは少なくとも 2023 年 1 月から展開されていたと考えられます。3
  • 2 つ目の亜種は、2023-01-11 というコンパイルのタイムスタンプが含まれています。これは WHCP 証明書を取得した最初の検体です。
  • 3つ目の検体グループは、コンパイルのタイムスタンプが 2023-03-19 で、WHCP 証明書によって署名されているものと、署名されていないものがありました。これらの検体の一部は、上記の Laixi_Update_1.0.6.7_b.exe ファイルに関連しています。
  • 最後のグループは、2023-10-08 というタイムスタンプを共有しています。このグループのうち 2 つの検体は署名者が異なりますが、この原稿を書いている時点では、これらの署名者についての詳細な情報は確認できておらず、また、署名された他の検体も確認できていません。
SHA256 コンパイルのタイムスタンプ 署名
cec73bddc33cd11ba515e39983e81569d9586abdaabbdd5955389735e826c3c7 2023-01-05 19:58:50 署名なし
815e21de6fab4b737c7dd844e584c1fc5505e6b180aecdd209fbd9b4ed14e4b2 2023-01-11 09:46:14 WHCP
3c931548b0b8cded10793e5517e0a06183b76fa47d2460d28935e28b012e426c 2023-03-19 14:19:29 WHCP
0dae9c759072f9c0e5a61a9de24a89e76da35ffab8ff9610cc90df417c741f3f 2023-03-19 14:19:34 WHCP
acc5c46ae2e509c59a952269622b4e6b5fa6cf9d03260bfebdfaa86c734ee6ea 2023-03-19 14:19:34 署名なし
230c9c47abb17e3caa37bcb1b8e49b30e671e6c50e88f334107e3350bee13385 2023-03-19 14:19:29 WHCP
d6a1db6d0570576e162bc1c1f9b4e262b92723dbabdde85b27f014a59bbff70c 2023-03-19 14:19:34 署名なし
4c23a199152db6596ccafb5ea2363500e2e1df04961a4ede05168999da87d39a 2023-10-08 17:05:40 署名なし
c0c648e98ec9d2576b275d55f22b8273a6d2549f117f83a0bcc940194f1d0773 2023-10-08 17:05:45
eccfd9f2d1d935f03d9fbdb4605281c7a8c23b3791dc33ae8d3c75e0b8fbaec6 2023-10-08 17:05:40 WHCP
5a519932c20519e58a004ddbfee6c0ed46f1cee8d7c04f362f3545335904bae2 2023-10-08 17:05:40 IFOX PTE. LTD
593f8ed9319fd4e936a36bc6d0f163b9d43220e61221801ad0af8b1db35a0de5 2023-10-08 17:05:40 Gaoyou tucker network studio
0ee12274d7138ecd0719f6cb3800a04a6667968c1be70918e31c6f75de7da1ba 2023-10-08 17:05:45 署名なし

表 1:コンパイルのタイムスタンプと署名者を含む、検出されたすべての検体の概要

このインシデントに関連する IoC は、ソフォスの GitHub リポジトリで公開しています。ソフォスの保護機能は、このマルウェア (Mal/Proxcat-A) とここで説明している亜種を検出して組織を保護します。

謝辞

Sophos X-Ops は、検体の分析に協力いただいた Richard Cohen 氏、Andrew Ludgate (SophosLabs) 、Sean Gallagher (Sophos X-Ops) に感謝いたします。

コメントを残す

Your email address will not be published. Required fields are marked *