This post is also available in: English (英語)

概要

本稿では、セキュリティ専門家が分析の時短術を使い、複数のマルウェア サンプルを迅速にトリアージ・分析する方法を共有します。私たちは、集めたサンプルからマルウェア ファミリーを特定し、それらに埋め込まれた構成を解析し、該当するネットワーク侵害インジケーター (IoC) を抽出する作業を、ものの数分でできるようにしています。

例えば今年の初めに私たちは、ウクライナ系の標的に対するサイバー攻撃に関し、情報提供の要請を受けて迅速に対応したのですが、この攻撃では Quasar RAT のような商用攻撃ツールが使われていました。私たちは業界パートナーの 1 社が共有した 1 つのサンプルを軸に、同じ脅威アクターに属するほかの 10 個のサンプルを含む Bitbucket リポジトリーへとピボットしました。

マルウェア構成のパースを大規模化できれば、それは分析プロセスを高速化してくれるだけでなく、個々のサンプルを手動でリバース エンジニアリングする必要性も緩和してくれます。マルウェア構成抽出ツールは商用のものもオープンソース プロジェクトのものも利用でき、時間がおしているときにすばやく答えを得られる優れたツールとなってくれます。Advanced WildFire の Malware Configuration Extraction (MCE: マルウェア構成抽出) システムから得られた結果によると、このアプローチは大量のマルウェアを効率的に分析するのに非常に役立つことがわかりました。

パロアルトネットワークスのお客様は Network Security ソリューションと Cortex XDR や XSIAM を含む Cortex 系列の製品により、本稿で取り上げたマルウェアからより適切な保護を受けています。Advanced WildFireAdvanced DNS Security は本アクティビティと関連する既知の URL やドメインを悪意があるものとして識別します。

侵害の懸念があり弊社にインシデントレスポンスに関するご相談をなさりたい場合は、こちらの問い合わせフォームからご連絡いただくか、infojapan@paloaltonetworks.com まで電子メールにてお問い合わせください (ご相談は弊社製品のお客さまには限定されません)。

関連する Unit 42 のトピック Memory Detection, Remote Access Trojan

はじめに

マルウェア アナリストとして、私たちは時間管理の面で難しい選択を迫られることが多々あります。こうしたことは緊急を要する状況で顧客保護にあたっている場合にはとくに当てはまりがちです。サイバー犯罪者らは、私たちの仕事がやりづらいようにすることで対策を遅らせようと、意図的に細工されたメガバイト単位のでたらめなコードと難読化されたペイロードを含むマルウェアを際限なく作成します。

私たちは MCE を使って、複数のマルウェア ファミリーからの構成抽出を自動化し、分析を高速化しました。これらの構成は、コマンド & コントロール (C2) アドレスや一意な識別子、攻撃パラメーターなど、さまざまな IoC で構成されていました。

マルウェア リポジトリーの発見

Unit 42 は 2024 年の初めごろ、特定の関心対象に対して市販ソフトウェアをマルウェアとして使う攻撃者が増えていることを確認しました。こうした攻撃の 1 つで、そうしたマルウェア サンプルの 1 つについての情報が、ある業界パートナーから私たちに提供されました。

私たちはこのサンプルで使われている C2 サーバーのアドレスを分析して抽出しました。この情報からピボットして調査を進めたところ、第 2 段階のペイロードをホストしている Bitbucket リポジトリーが明らかになりました。さらに調査を進めると、同じリポジトリー上でホストされ、そこからデプロイされた 10 個の追加サンプルが明らかになりました。

調査時点では、これらのサンプルはいずれも VirusTotal では入手できませんでした。図 1 は、このリポジトリーがオフラインになる前のスクリーンショットを示しています。

「yener3」というプロジェクトの GitHub リポジトリーの「Downloads (ダウンロード)」ページのスクリーンショット。この Web ページの左側にはメニューが表示されています。メニューに表示されているオプションは「Code (コード)」、「Issues (問題)」、「Pull requests (プル リクエスト)」、「Actions (アクション)」、「Projects (プロジェクト)」、「Wiki」、「Security (セキュリティ)」、「Insight (インサイト)」、「Settings (設定)」などで、「Downloads」がハイライト表示されています。ページの主要エリアには、ダウンロード可能なファイルの一覧とその名前が表示されています。ファイル サイズはそれぞれに異なっています。「Downloads (ダウンロード)」という見出しの下には、大量のアップロードをする場合は API の利用を推奨するという説明が記載されています。URL がブラウザーのアドレス バーに表示されています。
図 1. 第 2 段階のペイロードの Bitbucket リポジトリー

マルウェア サンプルを識別し、その IoC を抽出するため、私たちはこれらのサンプルを Advanced WildFire の MCE に送信しました。

手のかかる部分は自動分析で

どのサンプルにも難読化が施されていたので、いちいち個々のサンプルから IoC を抽出していたなら、かなり手がかかったことでしょう。下の図 2 は、サンプルの 1 つである Lumma Stealer の Windows 実行可能ファイルの難読化されたコードを示しています。

C プログラミング言語で記述されたソース コードを中心に、ソフトウェア開発環境でさまざまなファイルを表示しているコンピューター画面のスクリーンショット。このインターフェースには、左側にディレクトリー構造、右側にコード エディターが表示されています。
図 2. 難読化された Lumma Stealer のコード

このサンプルには難読化されたコードが含まれているだけでなく、IoC を含む構成も暗号化されています。たとえば、Quasar RAT の場合、構成は AES を使って暗号化された後、Base64 でエンコードされます (図 3)。

図 3. エンコードされた Quasar RAT の構成

サンドボックスをさっと実行すれば、メモリー内の構成を検出し、全パースをするところまで済ませることができます。私たちはここから 10 個のマルウェア サンプルすべてのファミリーを特定し、その構成を抽出することができました。そのおかげでネットワーク IoC が明らかになり、お客様をただちに保護することができました。

図 4 は、MCE を介して抽出された IoC の最初のステップを文書化したもので、Bitbucket リポジトリーから復元された 10 個のサンプルと、その SHA256 ハッシュとの関係を示しています。

ファイルのダウンロード リストと、それに対応する SHA256 ハッシュが複数の赤い矢印でマークされた Bitbucket リポジトリー Web ページのスクリーンショット。ページ ヘッダーにはナビゲーション メニューと検索バーが含まれており、赤い線でどこに注目すべきかを示しています。上部のテキストによるフローは「initial file (初期ファイル)」と「calls to Bitbucket (Bitbucket への通信)」と書かれています。
図 4. 10 個の Bitbucket サンプルとその SHA-256 ハッシュの関係を示した図

MCE が抽出した構成データからは、サンプル間に見られたパターンや共通する属性が明らかになりました。図 5 は、のちに Lumma Stealer であることが特定された 4 つのサンプルが C2 サーバーとして使ったドメインと IP アドレスを示したものです。すべてのサンプルがさまざまな .pw ドメインの C2 サーバーを含んでいる一方で、2 つの .pw C2 ドメインが図 5 の上 2 つのサンプル (forum.exe と NativeX.exe) で共通していました。

Lumma Stealer マルウェア サンプルと関連ドメインの図を示した画像。SHA ハッシュが左側にあって IP アドレスを指している。
図 5. 4 つの Lumma Stealer マルウェア サンプル

以下の 2 つのサンプル (gbrem.exe と gbquas.exe) はそれぞれ Remcos RAT と Quasar RAT です。図 6 に示すように、これらの脅威は同じ IP アドレス セットをもつ C2 サーバーにビーコンを送信します。この共通 C2 サーバー セットを軸にさらに探索したところ、図 6 に記載したものと同じ IP アドレスを使う別の実行可能ファイルが複数見つかりました。

図 6. 同じビーコン IP アドレスを使用する Remcos Rat と Quasar Rat のマルウェア サンプル

図 7 は、逆アセンブラーの IDA Pro で明らかになった難読化された Redline Stealer サンプルのコードです。

この画像は、プログラミング インターフェイス内のコンピューター コードのスクリーンショットを示しており、ソフトウェア開発やデバッグに使われる構造化ブロック形式内のさまざまなメソッドとインスタンスが強調表示されています。
図 7. Redline Stealer のサンプル

図 8 と 9 は、Redline Stealer サンプルの 1 つから抽出に成功した IoC を示しています。MCE を使用すると、メモリーから C2 ドメインを簡単に識別・抽出できます。

コンピューター画面上の 16 進コードのクローズアップ表示。サブセクションはピンク色で強調表示されています。コードの目に見える部分には、データ値を示す一連の数字と文字が含まれています。
図 8. 16 進エディターで表示した Redline Stealer サンプルの分析からのメモリー スナップショット
Redline Stealer マルウェア サンプルと関連ドメイン図を表示した画像。SHA ハッシュが左側にあって IP アドレスを指している。
図 9. 2 つの Redline Stealer サンプルから抽出した C2 サーバーの IP アドレス

Bitbucket リポジトリーにホストされている最後の 2 つのバイナリーを自動分析した結果、これらは Vidar Stealer であることが判明しました。図 10 は、構成アンパック ルーチンのフローチャート図を示しています。

Java プログラミングに重点を置いたコード デバッグ ソフトウェアの複数のウィンドウを表示するコンピューター画面。メイン ウィンドウにはコード エディター内でのメソッド呼び出しが表示され、ほかの小さなポップアップ ウィンドウにはデバッグ セッション中の変数の値とメモリーのアドレスが強調表示されています。
図 10. パックされた Vidar Stealer のサンプル

Advanced WildFire の MCE コンポーネントは、埋め込まれた C2 サーバーの情報もメモリーから簡単に識別・抽出できました。図 11 は、Vidar Stealer サンプルの 1 つから得たメモリー スナップショット内の構成情報を示しており、図 12 は、両 Vidar Stealer サンプルから得た C2 サーバーの情報を示しています。

この画像には、紫と赤の色合いで強調表示された 16 進コード ダンプが表示されており、分析またはデバッグのために特定のデータ セグメントに重点が置かれていることを示しています。
図 11. 16 進エディターで表示した Vidar Stealer サンプルの分析からのメモリー スナップショット
Vidar マルウェア サンプルと関連ドメイン図を示した画像。SHA ハッシュが左側にあって IP アドレスを指している。
図 12. 2 つの Vidar Stealer マルウェア サンプルから抽出された C2 サーバー情報

結論

集めたマルウェア サンプル数が多いとそれらを個別に分析する時間が取れないことが多々あります。このため本稿ではマルウェア分析の時短の重要性を明らかにしてきました。本稿をお読みの皆様にも、分析の時短実現に使えるツールは何でも利用してみることをお勧めします。本稿で取り上げたサンプルでは、Advanced WildFire の MCE コンポーネントで分析時間を大幅に短縮し、関連 IoC の効率的な特定にフォーカスする手法を紹介しました。

こうした手法を使うことで、私たちは新たに発見されたサンプルのマルウェア ファミリーをただちに特定できました。

分析が迅速になれば、それだけ悪意のあるソフトウェアに対する検出・分析能力と有効な対策の開発能力が向上します。さらにこうしたすばやく得た情報を共有すれば、皆が一体となってサイバー犯罪者に一歩先んじ、デジタル システムとネットワークを保護することができます。

パロアルトネットワークスのお客さまは、以下の製品を通じ、本稿で取り上げた脅威からより強力に保護されています。

侵害の懸念があり弊社にインシデントレスポンスに関するご相談をなさりたい場合は、こちらのフォームからご連絡いただくか、infojapan@paloaltonetworks.com までメールにてご連絡いただくか、下記の電話番号までお問い合わせください (ご相談は弊社製品のお客さまには限定されません)。

  • 北米フリーダイヤル: 866.486.4842 (866.4.UNIT42)
  • EMEA: +31.20.299.3130
  • APAC: +65.6983.8730
  • 日本: (+81) 50-1790-0200

パロアルトネットワークスは、これらの調査結果を Cyber Threat Alliance (CTA: サイバー脅威アライアンス) のメンバーと共有しました。CTA のメンバーはこのインテリジェンスを使って、お客さまに保護を迅速に提供し、悪意のあるサイバー攻撃者を体系的に阻害できます。詳細は Cyber Threat Alliance にてご確認ください。

IoC (侵害指標)

第 2 段階のペイロードの SHA256 ハッシュ

  • 50351b1ff64cd2e8d799f5153ff853a650e8782c49f241a123c8779ff3fa2a3d
  • 5b8e99a46d7c077152ef954e74a2ff1ad3de0adb34aa0b96f6f02fa60426d12f
  • d69fe5cb1ded3aaa9a8b64824d820a72da0a1d43c9298cfcb5072f0060aefb8c
  • 04ec79fb6e3260c8db46aea8e5cc6a42ad6e2af1c7c0cf46866a06b4acb98bae
  • 504a6b8ce51c3be7de7e74c98c6da3fe12b186f634c441b43fa21f3350b7f1a3
  • 101b9564ba11aa44372b37b1143eac0d5dd1e3f38c6a35517de843b9f23b3704
  • 09df06e192569b671d8f4b7587a5ba184392e80195968d0e4f1ab0c21de65c5e
  • e20124da608445d9df1c71b1ad3530331a86b773b0b2f6a43ad32ec3d061a297
  • 564d742044e5ac9f6279c01c5c29bb801606b63c6c2cbfc2af09d8f2a73b84a6
  • e8af36287e2270581fd5f2d28c6e0b83b337f58d430554d28dbf55d2ca09fcca

抽出されたビーコンのドメインと IP アドレス:

  • 104.21.32[.]12
  • 142.132.232[.]235
  • 172.67.182[.]33
  • 177.105.132[.]124
  • 177.105.132[.]70
  • 5.42.64[.]67
  • 77.105.132[.]70
  • 82.147.85[.]205
  • assaultseekwoodywod[.]pw
  • cakecoldsplurgrewe[.]pw
  • chincenterblandwka[.]pw
  • dayfarrichjwclik[.]fun
  • diagramfiremonkeyowwa[.]fun
  • http[:]//128.140.69[.]37:80
  • https[:]//steamcommunity[.]com/profiles/76561199588685141
  • neighborhoodfeelsa[.]fun
  • opposesicknessopw[.]pw
  • opposesicknessopw[.]pw
  • pinkipinevazzey[.]pw
  • politefrightenpowoa[.]pw
  • politefrightenpowoa[.]pw
  • ratefacilityframw[.]fun
  • reviveincapablewew[.]pw
Enlarged Image