- WarmCookie は 2024 年に登場したマルウェアファミリであり、定期的に仕掛けられるスパム攻撃やマルバタイジング攻撃で配布されてきました。
- 初期アクセスと永続化に使用されることが確認されている WarmCookie は、侵害した環境に継続的かつ長期的にアクセスする手段を提供するものであり、使用目的は、CSharp-Streamer-RAT や Cobalt Strike など他のマルウェアを送り込みやすくすることです。
- 侵害後に見られる WarmCookie 関連の侵入活動は、TA866 によるものと Talos が判断している、過去に確認された活動内容と一致しています。
- WarmCookie は、Resident バックドアを開発した攻撃者によって開発された可能性があると思われます。Resident バックドアは侵害後のインプラントであり、Talos が TA866 によるものと考えている過去の侵入活動において展開されました。
WarmCookie とは
BadSpace としても知られる WarmCookie は、遅くとも 2024 年 4 月から配布されているマルウェアファミリです。2024 年を通じて、さまざまな話題で被害者を騙し、マルウェア感染に至る行動を取らせる配布攻撃が複数確認されています。
これらの攻撃は一般的に、WarmCookie が送り込まれることになる感染プロセスを開始するためのマルスパムまたはマルバタイジングを使用して行われます。WarmCookie は、ペイロードの展開、ファイル操作、コマンドの実行、スクリーンショットの収集、永続化など、攻撃者にとって便利な機能をいろいろ備えています。初期アクセスを一度確立すれば、侵害したネットワーク環境で持続的なアクセスを長期的に確保しやすくなるとあって、攻撃者にとって魅力的なものになっています。
以前に分析した WarmCookie 関連の侵入活動を見てみると、初期ペイロードとして使用されていたこと、また、最初の WarmCookie 感染の後に CSharp-Streamer-RAT と Cobalt Strike が送り込まれていたことが確認できました。
WarmCookie に関連した攻撃、侵入活動、インフラストラクチャを 2024 年を通じて分析する中で、2023 年に TA866 が行った活動との共通点が多数確認されました。
典型的な感染チェーン
前述のとおり、WarmCookie の攻撃は、遅くとも 2024 年 4 月から展開されていました。これらの攻撃では、悪意のあるコンテンツを送り込みやすくするために、マルスパムまたはマルバタイジングが使用されています。
マルスパムの場合、請求関連や人材エージェント関連のテーマを一貫して使用し、メール本文や PDF などの添付ファイルに記載されたハイパーリンクにアクセスするよう被害者を誘導していることを確認しました。
以下に示す例は、2024 年 4 月から 8 月にかけて展開された攻撃で確認されたメッセージの一般的な件名です。
- United Rentals Inc: Invoice# [0-9]{9}\-[0-9]{3}
- Invoice and Remittance
8 月に展開された最近の攻撃では、メッセージに PDF が添付されていました。ファイル名はランダムに付けられていましたが、一般的には以下のフォーマットが使用されています。
- Attachment_[0-9]{3}\-[0-9]{3}\.pdf
時間の経過とともにさまざまなバリエーションが登場しますが、以下のメールと添付 PDF ファイルが代表的な例です。
WarmCookie のメールと添付ファイル
PDF にはハイパーリンクがあり、感染プロセスを継続する悪意のある JavaScript ファイルをホストしている Web サーバーに被害者がリダイレクトされます。
トラフィック分散システムとマルウェア配信システムに関連したインフラストラクチャを利用した WarmCookie の攻撃も Talos は確認しています。初期のある攻撃で、こちらで説明されている LandUpdates808 クラスタのインフラストラクチャが使用されたことを確認しました。Talos が確認した事例では、Web サーバーの LandUpdates808 クラスタに関連したサーバー上で悪意のある JavaScript ダウンローダーがホストされていました。パスは以下のとおりです。
/wp-content/upgrade/update[.]php
攻撃でマルウェアを送り込む際に使用されるのがマルスパムかマルバタイジングかに関係なく、難読化された JavaScript ダウンローダーが送り込まれます。これが、感染プロセスを継続させる役割を担っています。JavaScript ファイルの圧縮に ZIP アーカイブを使用していること、また、配布インフラストラクチャから直接 JavaScript ファイルを送り込んでいることを確認しました。
実行されると、JavaScript ファイルは難読化を解除し、PowerShell コマンドを実行します。このコマンドは、Bitsadmin を使用して WarmCookie DLL を取得し、実行します。以下に示したような構文が使用されます。
PowerShell の実行
WarmCookie DLL をホストしている配布サーバーの数は、感染チェーンの初期段階で使用されるインフラストラクチャと比べて少ないことを確認しました。
WarmCookie
WarmCookie のメインのペイロードは、こちらとこちらの以前の報告で詳細に分析されています。今回のリサーチを行っている間に、新たに確認された WarmCookie のサンプルが 2024 年 9 月にソーシャルメディア上で報告されました。この最新バージョンに機能が大幅に追加され、変更が加えられたことを Talos は確認しており、攻撃者がツールの改良を継続している様子が見て取れます。
マルウェアの実行方法と、感染システムで永続化を実現する方法に変更が見られました。以前の報告で説明されているように、マルウェアは一般的に PE DLL 形式または PE EXE 形式で送り込まれ、実行されます。ペイロードが DLL 形式の場合、通常は、永続化を行うかどうかを決める特定のコマンドラインパラメータで実行されます。
以前の WarmCookie サンプルでは、一貫して以下のコマンドライン構文で実行されていました。
rundll32.exe <DLL_Filename>,Start /p
分析した最新のサンプルでは、コマンドライン構文が以下のように変更されています。
rundll32.exe <DLL_Filename>,Start /u
さらに、以前の WarmCookie サンプルでは、C2 通信で使用されるユーザーエージェント文字列に余分なスペースが入っていました。通常見られるユーザーエージェント文字列とは一致しないこの特徴により、ネットワークトラフィック検査で容易に WarmCookie C2 アクティビティを検出できました。最新の WarmCookie サンプルでは、このミスは修正されています。以下は、C2 通信で使用される新旧のユーザーエージェント文字列を比較したものです。
古いユーザーエージェント:
Mozilla / 4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1;.NET CLR 1.0.3705)
新しいユーザーエージェント
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0
また、新しい自己更新メカニズムが導入されたことも確認しました。このメカニズムにより、C2 サーバーを介して WarmCookie の更新を動的に行えますが、分析当時のサンプルには完全に実装されてはいないようでした。
最新のサンプルでは、マルウェアのサンドボックス検出メカニズムに変更が加えられていました。以前のバージョンに存在したチェック機能が一部削除されています。
WarmCookie のサンドボックス検出機能
分析した最新の WarmCookie サンプルでは、マルウェアがサポートする C2 コマンドにも変更がいくつか加えられています。永続化とマルウェア自体を削除するコマンドがなくなり、以下の新しいコマンドが追加されました。
- コマンド 0x8:C2 サーバーから受け取った DLL ファイルを一時的なファイル名を付けて作成し、WarmCookie で実行する機能をサポートします。
- コマンド 0xA:更新コマンドとして準備されているらしく、コマンド 0x8 と似ていますが、ハードコーディングされたパラメータを DLL に追加します。
C:\Windows\System32\rundll32.exe <tmpfilename.dll> Start /update - コマンド 0xB:マルウェアに一時的なファイル名を付けて一時的な場所に移動し、以前にスケジュールされていたタスクを削除します。「dat」という文字列を一時的なファイル名の先頭に追加します。また、C2 ループを抜けることによって、マルウェアのプロセスを終了させます。
マルウェアの初期化と起動フェーズ中に、コマンド 0xA の /update パラメータが設定されているかどうかがチェックされます。このチェックの結果に関係なく、以下に示した関数が実行されます。
WarmCookie の更新パラメータ
アナリストは、攻撃者が必要に応じて機能を追加して改良し続けることで、マルウェアが今後さらに進化していくと予想しています。
過去の侵入活動との関連性
WarmCookie に関連する配布攻撃、使用されているインフラストラクチャ、侵害後の活動を分析する中で、以前に確認された悪意のある活動にも見られる複数の共通点を確認しました。
初期の WarmCookie 配布攻撃では、人材エージェントのものであるかのような偽ドキュメントや偽サイトが使用されていました。こちらで紹介されているように、この攻撃でユーザーを騙すために使用されるドキュメントとランディングページは、過去のマルウェア攻撃で Ursnif の配布者が使用したものに似ています。
WarmCookie に関連した侵入活動の分析中に、システムの初期侵害後に CSharp-Streamer-RAT が追加ペイロードとして展開されたことを確認しました。CSharp-Streamer-RAT は、フル機能のリモートアクセス型トロイの木馬で、こちらで紹介されているように堅牢な機能を有しています。
今回分析したサンプルが接続していた C2 サーバーは、一部のフィールドがランダムに入力されていて、プログラムで生成されたように見える SSL 証明書を使用するように設定されていました。正規表現を使用して、同様の SSL 特性を持つサーバーが他にないか探したところ、さらに 3 つの C2 サーバーが見つかりました。すべて、以前に CSharp-Streamer-RAT サンプルに関連すると判断されたものでした。このうち 1 つは、TA866 が行った可能性が高いと Talos が考えている過去の侵入活動で特定された CSharp-Streamer-RAT サンプルが使用していた C2 サーバーだったことが確認されました。
以下のスクリーンショットは、Talos が TA866 によるものと見ている過去の侵入活動で確認された、CSharp-Streamer-RAT C2 サーバー関連の SSL 証明書内の該当フィールドです。
以前の CSharp-Streamer-RAT C2 SSL 証明書
以下は、最近の WarmCookie 侵入活動で確認された、CSharp-Streamer-RAT C2 サーバー関連の SSL 証明書の例です。
最近の CSharp-Streamer-RAT C2 SSL 証明書
過去の侵入活動で確認された関連システムの分析から、TA866/Asylum Ambuscade は、CSharp-Streamer-RAT を展開するとともに、展開に至る準備段階、展開中、展開後にシステム上で直接操作を行っていた可能性が高いと考えています。また、最近の WarmCookie の事例において、WarmCookie を展開した攻撃者が、初期の侵害後に CSharp-Streamer-RAT も展開していた可能性が高いと見ています。
WarmCookie と Resident バックドア
こちらの記事や、以前の報告にもありますが、過去の侵入活動で、Resident バックドアという侵害後のインプラントを TA866/Asylum Ambuscade が送り込んでいたことが確認されています。WarmCookie についての以前の報告では、Resident バックドアと WarmCookie の関連性が確認されたことが暗に示されています。
過去の侵入活動で確認された Resident バックドアのサンプルと、2024 年 9 月の WarmCookie のサンプルについて、コードおよび関数レベルの分析を実施したところ、両マルウェアファミリでのコア機能の実装方法に注目すべき類似点がいくつかあることがわかりました。WarmCookie には Resident バックドアとほぼ同じ機能があるようですが、追加機能をサポートするよう大幅に拡張されています。
以下の分析結果に基づき、両方とも同じ組織によって開発された可能性があると見ています。
- RC4 の実装が両方のマルウェアファミリで一貫している。
- RC4 の文字列復号関数の実装が両方のマルウェアファミリで一貫している。
- ミューテックス管理が両方のマルウェアファミリで一貫して実施されている。
- 両方のマルウェアファミリがミューテックスに GUID のような文字列を使用している。
- さまざまな関数の構造と、使用されているコーディング規約が一貫している。
- 永続化を実現するためのスケジュールタスクの定義が一貫している。
- 両方のマルウェアファミリが、スケジュールタスクを実行する前に 1 分間待機する。
- ディレクトリ、ファイルスキーマ、パラメータが両方のマルウェアファミリで類似している。
- 初期起動ロジックとコマンドラインパラメータの実装が類似している。
コードの類似性分析
Resident バックドアと、ソーシャルメディアでシェアされた最近の WarmCookie サンプルについて、コード実行フローの類似性分析を実施しました。両方のマルウェアファミリで、コア機能の実装が一貫していること、また、使用されているコーディング規約が一貫していることを確認しました。
タスクスケジューラの実装
マルウェアの最初の実行時にパラメータが指定されていない場合、Resident も WarmCookie も、最初に起動されたアプリケーションが PE DLL だったのか PE EXE だったのかをまず判断します。その結果に応じて、ファイル名の拡張子を「.dll」または「.exe」とします。また、このテストの結果に基づいて、いずれも Windows タスクスケジューラを介してスケジュールタスクを作成します。これにより、60 秒間の待機時間の後にマルウェアのコピーが生成されます。最初に起動されたアプリケーションが PE DLL だった場合、マルウェアの起動には rundll32.exe が使用されます。PE EXE ファイルだった場合は、直接実行されます。
どちらも、これを %ALLUSERSPROFILE% ディレクトリで試行します。失敗した場合は、%ALLDATA% ディレクトリで再試行します。
WarmCookie の起動パラメータ
WarmCookie の永続化メカニズム
Resident バックドアの起動パラメータ
Resident バックドアの永続化メカニズム
Resident バックドアの永続化メカニズム(続き)
全体的な起動ロジックも、Resident バックドアと WarmCookie で同じです。両者とも、起動プロセスの開始時に、マルウェアがコマンドラインスイッチによって実行されたかどうかを判断するためのチェックを行います。Resident バックドアの場合は「/p」で、WarmCookie の場合は「/u」です。このパラメータは、アプリケーションがそれ自体の最初のインスタンスなのか、または、実行バージョンが以前にコピーされたバージョン(タスクスケジューラによって永続化されたもの)なのかをアプリケーションに伝えます。これにより、マルウェアが一度永続化された後は、スケジュールタスクがいくつも作成されないようになります。
WarmCookie の起動ロジック
Resident バックドアの起動ロジック
両者には、わずかな違いが 1 つあります。Resident がハードコードされた文字列「RtlUpd」を使用してスケジュールタスクのファイル名を生成するのに対し、WarmCookie はハードコードされた企業名リストを使用し、その中から 1 つをランダムに選択します。このリストは、以下に示すとおりです。
WarmCookie のファイル名リスト
Resident バックドアと WarmCookie の分析結果から、両者は同じ組織によって開発された可能性があると見ています。Resident バックドアと WarmCookie にはコードと機能の実装にかなりの共通点がありますが、Resident バックドアに比べて WarmCookie には非常に堅牢な機能とコマンドサポートが備わっています。さらに、分析した侵入活動において、WarmCookie は通常、初期アクセスのペイロードとして展開されていましたが、Resident バックドアは、WasabiSeed、Screenshotter、AHK Bot といった他のコンポーネントの展開に続いて、侵害後に展開されていました。
機能に見られる違い、また、それぞれと遭遇する攻撃ライフサイクルのフェーズの違いを考慮し、Resident と WarmCookie は、同じ攻撃者が開発した別々のマルウェアファミリとして分類することにします。
カバレッジ
今回の脅威は、以下の製品で検出してブロックすることが可能です。
Cisco Secure Endpoint(旧 AMP for Endpoints)は、この記事で説明したマルウェアの実行を阻止するのに最適です。Cisco Secure Endpoint の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance の Web スキャンは、悪意のある Web サイトへのアクセスを防止し、上述したような攻撃で使用されるマルウェアを検出します。
Cisco Secure Email(旧 E メールセキュリティ)は、攻撃の一環として攻撃者が送りつける不正な電子メールをブロックします。Cisco Secure Email の無料トライアルはこちらからお申し込みください。
Threat Defense Virtual、適応型セキュリティアプライアンス、Meraki MX など、Cisco Secure Firewall(旧次世代ファイアウォールおよび Firepower NGFW)アプライアンスは、この脅威に関連する悪意のある活動を検出できます。
Cisco Secure Malware Analytics(Threat Grid)は、悪意のあるバイナリを特定し、シスコのすべてのセキュリティ製品に保護機能を組み込みます。
Umbrella(シスコのセキュア インターネット ゲートウェイ(SIG))は、社内ネットワークの内外で悪意のあるドメイン、IP、URL への接続をブロックします。Umbrella の無料トライアルはこちらからお申し込みください。
Cisco Secure Web Appliance(旧 Web セキュリティアプライアンス)は、危険性のあるサイトを自動的にブロックし、ユーザーがアクセスする前に疑わしいサイトを検査します。
特定の環境および脅威データに対する追加の保護機能は、Firewall Management Center から入手できます。
Cisco Duo は、ユーザーに多要素認証を提供し、承認されたユーザーのみがネットワークにアクセスできるようにします。
オープンソースの Snort サブスクライバルールセットをお使いであれば、Snort.org で購入可能な最新のルールパックをダウンロードすることで、最新状態を維持できます。
この悪意のある活動に関連したアクティビティを検出するために、以下の Snort ルールが開発されています。
- Snort 2 SID:64139、64140、64141、64142、64143、64144、64145、64146、64147、64148、64149、64150、64151、64152、64153、64154、64155、64156、64157、64158、64159、64160、64161、64162。
- Snort 3 SID:64153、64154、64155、64156、64157、64158、64159、64160、64161、64162、301044、301045、301046、301047、301048、301049、301050。
この悪意のある活動に関連したアクティビティを検出するために、以下の ClamAV シグネチャが開発されています。
- Js.Downloader.Agent-10022279-0
- Vbs.Downloader.Agent-10022291-0
- Win.Trojan.WasabiSeed-10022304-0
- Js.Trojan.Screenshotter-10022306-0
- Js.Trojan.Agent-10022307-0
- Win.Trojan.Lazy-10022308-0
- Win.Trojan.Screenshotter-10022309-0
- PUA.Win.Tool.NetPing-10022493-0
- Win.Malware.CobaltStrike-10022494-0
- PUA.Win.Tool.AutoHotKey-10022305-1
- PUA.Win.Tool.RemoteUtilities-9869515-0
- PUA.Win.Tool.AdFind-9962378-0
- Txt.Downloader.AHKBot-10024463-0
- Ps1.Malware.CobaltStrike-10024466-0
- Win.Infostealer.Rhadamanthys-10024467-0
- Txt.Infostealer.Rhadamanthys-10024468-0
- Win.Backdoor.Agent-10025011-0
- Vbs.Trojan.Screenshotter-10025015-0
- Win.Malware.Warmcookie-10036688-0
- Win.Malware.CSsharpStreamer-10036641-0
IOC(侵害の指標)
WarmCookie/BadSpace のアクティビティに関連した侵害の指標は、こちらの GitHub リポジトリでご確認いただけます。
本稿は 2024 年 10 月 23 日にTalos Group のブログに投稿された「Threat Spotlight: WarmCookie/BadSpace」の抄訳です。