Salim Bitam

トリック・アンド・トリート:GHOSTPULSEの新しいピクセルレベルの欺瞞

更新されたGHOSTPULSEマルウェアは、ピクセル構造内に悪意のあるデータを直接埋め込むように進化したことにより、検出が困難になり、新しい分析・検出手法が必要とされています。

13分で読めますマルウェア分析
トリックアンドトリート:GHOSTPULSEによる新たなピクセルレベルの欺瞞

アップデート

この調査は、Elastic Security Labs が 2023 年 10 月に最初に公開したGHOSTPULSE のステージ 2 の更新をカバーしています。

重要なポイント

  1. GHOSTPULSE は、PNG ファイルの IDAT チャンクの使用から、暗号化された構成とペイロードをピクセル構造内に埋め込む方法に移行しました。
  2. 最近の攻撃では、Windows のキーボード ショートカットを通じて悪意のあるコマンドをトリガーする CAPTCHA 検証など、独創的なソーシャル エンジニアリング手法を使用して被害者を騙すケースが多く見られます。
  3. Elastic Security は YARA ルールを強化し、構成抽出ツールを更新して、GHOSTPULSE の古いバージョンと新しいバージョンの両方を検出して分析できるようになりました。

前文

GHOSTPULSE マルウェア ファミリ (HIJACKLOADER または IDATLOADER とも呼ばれる) は、2023 年に発見されて以来、進化を続け、ますます高度化する手法で検出を回避しています。

以前のバージョンでは、GHOSTPULSE は PNG ファイルの IDAT チャンクを悪用して悪意のあるペイロードを隠していました。詳細はElastic Security Labs の以前の記事に記載されています。しかし、最近の分析により、そのアルゴリズムに大きな変更があったことが明らかになりました。GHOSTPULSE の最新バージョンでは、IDAT チャンクからペイロードを抽出する代わりに、画像のピクセルを解析して構成とペイロードを取得します。この新しいアプローチでは、悪意のあるデータをピクセル構造内に直接埋め込みます。

この研究論文では、この新しいピクセルベースのアルゴリズムを調査し、更新された検出ルールを備えた以前の IDAT チャンク手法と比較します。

はじめに

最近、GHOSTPULSE をローダーとして使用した LUMMA STEALER を含むキャンペーンがいくつか確認されましたが、これはHarfangLabでも調査されているトピックです。これらのキャンペーンは、独創的なソーシャル エンジニアリング戦術によって目立っています。被害者は CAPTCHA を検証するように誘導されますが、Web サイトは通常のプロセスではなく、一連の Windows キーボード ショートカットを実行するように指示します。これらのショートカットは、悪意のある JavaScript によってクリップボードにコピーされたコマンドをトリガーします。これにより PowerShell スクリプトが実行され、GHOSTPULSE ペイロードをダウンロードして実行することで感染チェーンが開始されます。

GHOSTPULSE の以前のバージョンでは、複数のファイル パッケージの一部として提供されていました。このパッケージには通常、無害な実行ファイル、実行ファイルによって読み込まれた感染した DLL、および暗号化された構成を保存する PNG ファイルが含まれていました。

しかし、最新バージョンでは、GHOSTPULSE は展開を合理化しました。現在、パッケージ全体は 1 つのファイル (リソース セクション内に PNG ファイルを含む、無害だが侵害された実行可能ファイル) で構成されています。

テクニカル分析

マルウェアの更新された第 2 段階では、Windows API 名を解決するために同じハッシュ アルゴリズムを使用するなど、以前の構造の大部分が保持されています。しかし、最も重要な変更点は、マルウェアがペイロードと展開のための重要な指示の両方を保持する構成を見つける方法にあります。

以下は、両方の実装の疑似コードを示すスクリーンショットです。

以前のバージョンでは、GHOSTPULSE は PNG ファイルを解析して暗号化されたデータ BLOB を検出し、チャンクに分割して順番に保存していました。マルウェアの解析プロセスは単純で、ファイル内の特定のマーカー(この場合は IDAT 文字列)を検索します。見つかったら、マルウェアは文字列に続く 4 バイトのタグをチェックします。このタグが予想される値と一致した場合、暗号化されたチャンクが抽出されます。このプロセスは、暗号化されたペイロード全体が収集されるまで、後続の IDAT 文字列が発生するたびに継続されます。

新しいバージョンでは、暗号化された構成は画像のピクセルに保存されます。マルウェアは、GdiPlus (GDI+)ライブラリの標準 Windows API を使用して、各ピクセルのREDGREENBLUE (RGB) 値を順番に抽出してバイト配列を構築します。バイト配列が構築されると、マルウェアは、復号化に必要な XOR キーを含む、暗号化された GHOSTPULSE 構成を含む構造体の開始を検索します。これは、バイト配列を 16 バイトのブロックでループすることによって行われます。各ブロックの最初の 4 バイトは CRC32 ハッシュを表し、次の 12 バイトはハッシュされるデータです。マルウェアは 12 バイトの CRC32 を計算し、ハッシュと一致するかどうかを確認します。一致が見つかった場合、暗号化された GHOSTPULSE 構成のオフセット、そのサイズ、および 4 バイトの XOR キーを抽出し、XOR 復号化します。

次の図は、このプロセスを視覚的に示しています。

更新された構成抽出ツール

これらの調査結果に基づいて、GHOSTPULSE の両方のバージョンをサポートするように構成抽出ツールを更新しました。このツールは PNG ファイルを入力として受け取り、埋め込まれたペイロードを出力します。更新されたツールは、labs-releases リポジトリにあります。

YARAによるGHOSTPULSEの検出

オリジナルのGHOSTPULSE YARAルールは、感染の最終段階を依然として防止し、Elastic Defend に組み込まれています。更新されたサンプルは、次の YARA ルールを使用して検出でき、将来のリリースで Elastic Defend に組み込まれる予定です。

Elastic Security は、このアクティビティを識別するために GHOSTPULSE YARA ルールを更新しました。

rule Windows_Trojan_GHOSTPULSE_1 {
    meta:
        author = "Elastic Security"
        creation_date = "2024-10-15"
        last_modified = "2024-10-15"
        os = "Windows"
        arch = "x86"
        category_type = "Trojan"
        family = "GHOSTPULSE"
        threat_name = "Windows.Trojan.GHOSTPULSE"
        license = "Elastic License v2"

    strings:
        $stage_1 = { 49 63 D0 42 8B 0C 0A 41 03 CA 89 0C 1A 8B 05 ?? ?? ?? ?? 44 03 C0 8B 05 ?? ?? ?? ?? 44 3B C0 }
        $stage_2 = { 48 89 01 48 8B 84 24 D8 00 00 00 48 8B 4C 24 78 8B 49 0C 89 08 C7 44 24 44 00 00 00 00 }

    condition:
        any of them
}

rule Windows_Trojan_GHOSTPULSE_2 {
    meta:
        author = "Elastic Security"
        creation_date = "2024-10-10"
        last_modified = "2024-10-10"
        os = "Windows"
        arch = "x86"
        category_type = "Trojan"
        family = "GHOSTPULSE"
        threat_name = "Windows.Trojan.GHOSTPULSE"
        license = "Elastic License v2"

    strings:
        $a1 = { 48 83 EC 18 C7 04 24 00 00 00 00 8B 04 24 48 8B 4C 24 20 0F B7 04 41 85 C0 74 0A 8B 04 24 FF C0 89 04 24 EB E6 C7 44 24 08 00 00 00 00 8B 04 24 FF C8 8B C0 48 8B 4C 24 20 0F B7 04 41 83 F8 5C }

    condition:
        all of them
}

まとめ

要約すると、GHOSTPULSE マルウェア ファミリは 2023 年のリリース以来進化しており、この最近のアップデートは最も重要な変化の 1 つを示しています。

攻撃者は革新を続けているため、防御者は更新されたツールとテクニックを活用してこれらの脅威を効果的に軽減し、適応する必要があります。私たちは、GHOSTPULSE の古いバージョンと新しいバージョンを分析するために設計された、新しく開発された構成抽出ツールを共有できることを嬉しく思います。このツールは、進化する脅威を理解し、対抗するための強化された機能を提供することで、研究者やサイバーセキュリティの専門家を支援します。サイバー脅威の状況が変化する中、効果的な保護には連携とイノベーションが不可欠です。

観測

すべてのオブザーバブルは、ECS形式とSTIX形式の両方で ダウンロード することもできます。

この研究では、次の観測量について議論しました。

すぐれた監視性タイプ名前参考
57ebf79c384366162cb0f13de0de4fc1300ebb733584e2d8887505f22f877077SHA-256のSetup.exeGHOSTPULSE サンプル
b54d9db283e6c958697bfc4f97a5dd0ba585bc1d05267569264a2d700f0799aeSHA-256のSetup_light.exeGHOSTPULSE サンプル
winrar01.b-cdn[.]netドメイン名GHOSTPULSE サンプルをホストするインフラストラクチャ
reinforcenh[.]shopドメイン名ラムスティーラー C2
stogeneratmns[.]shopドメイン名ラムスティーラー C2
fragnantbui[.]shopドメイン名ラムスティーラー C2
drawzhotdog[.]shopドメイン名ラムスティーラー C2
vozmeatillu[.]shopドメイン名ラムスティーラー C2
offensivedzvju[.]shopドメイン名ラムスティーラー C2
ghostreedmnu[.]shopドメイン名ラムスティーラー C2
gutterydhowi[.]shopドメイン名ラムスティーラー C2
riderratttinow[.]shopドメイン名ラムスティーラー C2

この記事を共有する