SolarMarker (Jupyter)の新たなキャンペーンで示された攻撃パターンの変化

A conceptual image representing malware, such as the SolarMarker campaign discussed here.

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

概要

最近私たちはSolarMarkerの新たなバージョンを確認しました。SolarMarkerは情報窃取やバックドアの機能で知られるマルウェアファミリで、主に検索エンジン最適化の不正操作によってユーザーを騙し、悪意のある文書をダウンロードさせます。

SolarMarkerの機能には、被害者のWebブラウザからのオートフィル(自動入力)データ、保存パスワード、保存クレジットカード情報の漏出が含まれます。SolarMarkerはインフォスティーラ(情報窃取型マルウェア)の典型的機能のほかに、ファイル転送やC2サーバーから受信したコマンドの実行などの機能を備えています。

このマルウェアは、署名付きファイル、巨大ファイル、正規ソフトウェアのインストール偽装、難読化したPowerShellスクリプトなどの手法からなる防御回避にかなりの労力を費やしています。

このマルウェアは2020年9月以降米国の組織を標的として蔓延しており、2022年現在も一部のインフラが有効な状態で、攻撃者が最近展開した新たなインフラも加えられています。

本稿では、新たに確認されたSolarMarkerのアクティビティに関する技術的詳細について掘り下げます。とくに、このマルウェアが攻撃パターンを頻繁に変更・修正する手法について解説します。たとえば最近のバージョンでは、Windows PEファイル(EXEファイル)からWindowsインストーラパッケージファイル(MSIファイル)対応へと進化している様子が確認されています。私たちが得た証拠によればこのキャンペーンはまだ開発フェーズにあって、以前のバージョンのように実行ファイル(EXE)を使用する方法に戻しているようです。

パロアルトネットワークスのお客様は、Cortex XDRWildFireを通じ、新たに発見されたキャンペーンから保護されています。

関連マルウェア名 SolarMarker, Jupyter, Yellow Cockatoo, Polazert
Unit 42の関連トピック infostealer, backdoor

目次

感染ベクトル
被害マシンへのSolarMarkerインフラ展開
PowerShellスクリプトの主なセクション
暗号化されたペイロード
SolarMarkerバックドア
SolarMarkerインフォスティーラ
SolarMarkerの新バージョンの主な変更点
結論
IoC
追加リソース

感染ベクトル

SolarMarkerはマルチステージ型マルウェアで、攻撃者は難読化されたPowerShellスクリプトで攻撃を展開し、検出を回避します。

SolarMarkerの主な感染経路はSEOポイズニングです。SEOポイズニングというのはキーワードを盛った不正Webサイトを用意し、ブラックハットSEOによりそのWebサイトを不正に検索結果上位に表示させる攻撃手法を指します。

被害マシンへのSolarMarkerインフラ展開

第1ステージはサイズが250MB以上あるEXEファイルです。ファイルサイズが大きいと自動サンドボックスやAVエンジンによる検査を回避しやすくなります。私たちが分析したこの事例でこのファイルはsetup.exeと呼ばれていました。2022年2月というサンプルのコンパイル日からして、ここに示すアーティファクトはこのマルウェアのライフサイクルの新たな局面のようです。

図1 ドロッパーファイルのプロパティ
図1 ドロッパーファイルのプロパティ
図2 このファイルは有効なデジタル証明書で署名されてさらに検出されにくくなっている。SolarMarkerの署名には正規企業から盗まれたコード署名証明書が使用されたと推測されるが本稿執筆時点で証明書チェーンは失効している
図2 このファイルは有効なデジタル証明書で署名されてさらに検出されにくくなっている。SolarMarkerの署名には正規企業から盗まれたコード署名証明書が使用されたと推測されるが本稿執筆時点で証明書チェーンは失効している

このファイルは.NETでコンパイルされたドロッパーです。このドロッパーは、ダウンロードされたバイナリにユーザーが疑念を抱かないよう、正規プログラムのインストーラをドロップして実行させます。

図3 正規のPDF Mergeのインストーラ
図3 正規のPDF Mergeのインストーラ
図4 正規のドロップインストーラファイルの名前は、第1段のファイルに
図4 ドロップされた正規インストーラのファイル名は最初のステージのファイル名と同じ。ただしサフィックスに「_install」が付けられている(setup_install.exe)

並行してこのマルウェアは新たなスレッドでPowerShellローダーを実行し、SolarMarkerバックドアのペイロードをロード・実行します。

PowerShellの呼び出し関数をデバッグすることで、ロードされたスクリプトをデコードして確認できます。

それでは、スクリプトを見てみましょう。

図6 PowerShellローダースクリプトの可読性を高めるため、さまざまな難読化を除去してコメントを追加した
図6 PowerShellローダースクリプトの可読性を高めるため、さまざまな難読化を除去してコメントを追加した

PowerShellスクリプトの主なセクション

  • showWindowAsyncがPowerShellのウィンドウを非表示にし、悪意のあるアクティビティをユーザーの目に触れさせないようにする
  • SolarMarkerバックドアの暗号化されたbase64ペイロードをランダムな拡張子を持つファイルとしてTEMPフォルダに書き込む
  • スタートアップフォルダ内のlnkファイルを使用して永続性を確保する。lnkの対象ファイルはランダムな拡張子を持つSolarMarkerバックドアの暗号化されたbase64ペイロード(このファイルを直接実行することはできない)
  • Windows環境ではすべてのファイル拡張子に既定のプログラムが関連付けられている。拡張機能とプログラムの関連付けはレジストリを通じて処理される。SolarMarkerは暗号化ペイロード実行のため、ハンドラをカスタムのランダムな拡張子に設定する。このハンドラがPowerShellスクリプトで、ペイロードを復号して暗号化ペイロード(バックドア)のバイトをメモリにロードする

攻撃者はアセンブリのディスクへのダウンロードを避け、ファイルの代わりにバイト配列を受け取るLoadメソッドを使ってこれをアセンブリに戻します。このロード技術は反射型コード読み込み(Reflective Code Loading)と呼ばれています。

被害マシン上でのマルウェアの初回実行では、暗号化されたペイロード(バックドア)がマルウェアの第1ステージ(setup.exe)にロードされます。これは先に述べたようにsetup.exeが新しいスレッドをオープンしてその中でPowerShellスクリプトを実行するからです。

再起動後はスタートアップフォルダ内のlnkファイルにより暗号化ペイロードが直接PowerShellプロセスにロードされます。

暗号化されたペイロード

ここまで、暗号化されたペイロードについて何度も述べてきました。これは具体的にはどのようなものでしょうか。

攻撃側のPowerShellスクリプトにちょっとした変更を加えると、アセンブリを直接メモリにロードするのではなくディスクに保存させることができます。こうするとこの特定バージョンのSolarMarkerの機能の理解にも役立ちます。

私たちは、C2クライアントを組み込んだSolarMarkerバックドアの中核コードを含む.NETコンパイル済みのダイナミックリンクライブラリ(.DLL)を入手しました。

デコンパイルしたコードやクラス名、関数名を眺めてみるとこれが奇妙で、むしろ難読化されたもののように見えます。

図7 クラスや関数の難読化された名前/難読化されたコードはありません。
図7 クラス名や関数名が難読化されている。難読化されたコードはほぼ意味をなしていない。

ちょっとde4dotを実行してみたところ、アンパック・難読化解除されたことが確認できました。

図8 関数内の文字列の難読化を解除した
図8 関数内の文字列の難読化を解除した

SolarMarker バックドア

SolarMarkerバックドアは暗号化チャネルでC2サーバーと通信する.NET C2クライアントです。

通信プロトコルはHTTPで通常はPOSTリクエストを使います。

データは、RSA暗号とAES(Advanced Encryption Standard)共通鍵暗号で暗号化されます。

図9 C2サーバーとの暗号化されたネットワーク通信
図9 C2サーバーとの暗号化されたネットワーク通信

クライアントは内部の偵察を行い、被害マシンの基本情報を収集し、既存のC2チャンネル経由で漏出させます。

図10 漏出したデータ(暗号化前)
図10 漏出したデータ(暗号化前)

クライアントは攻撃者のサーバーに信号を送り、一定時間(60秒)ごとに指示や追加ペイロードを確認します。

攻撃者はPowerShellスクリプトを実行して被害マシンにファイルを転送することができます。

次のステージもエンコードされたPowerShellスクリプトで、これがSolarMarkerの最終ペイロード(.NETのインフォスティーラ)を展開し、メモリにロードします(これが通常、被害マシンへの初期感染から約数時間で起こる)。

バックドアやインフォスティーラのモジュールによって攻撃者のサーバーやバージョン名は異なります。

SolarMarkerインフォスティーラ

インフォスティーラモジュールは構造的には先に紹介したバックドアモジュールと非常によく似ていますが、機能が拡張されています。

SolarMarkerのインフォスティーラモジュールは、対象となるブラウザに固有のファイルを読み込むことで、Webブラウザからログインデータ、クッキー、Webデータ(オートフィル)を取得します。SolarMarkerはAPI関数 CryptUnprotectData (DPAPI) を使って認証情報を復号します。

図11 漏出させるデータの収集例
図11 漏出させるデータの収集例
図12 収集データはXML形式で漏出する
図12 収集データはXML形式で漏出する
図13 HTTP暗号化チャネルを介したデータ漏出
図13 HTTP暗号化チャネルを介したデータ漏出

SolarMarkerの新バージョンの主な変更点

新バージョンのSolarMarkerの主な変更点を整理しておきます。

  • ドロッパーをMSIから実行ファイルに切り戻し
  • ドロッパーのファイルサイズ増加
  • ドロッパーファイルには常に正規企業の署名付き
  • PowerShellのローダースクリプトを変更
  • 被害マシン上でのマルウェアの初回実行で以前のバージョンのようにバックドアがPowerShellプロセスではなくドロッパープロセスにロード

結論

本稿はSolarMarkerの振る舞いパターン関し、最近の変更点を文書化しました。こうした変更は検出回避能力の向上に向けたものと見え、SolarMarkerがたゆみなく進化していることの証左といえます。

近年のセキュリティ業界は「ネットワーク内部の脅威滞留時間の短縮には振る舞いベースの検知器が重要」ということを認識しはじめています。

パロアルトネットワークスのWildFireをお使いのお客様は、SolarMarkerマルウェアから保護されています。

またCortex XDR Prevent/Proをご利用のお客様は、SolarMarkerがさまざまなステージで利用する戦術やテクニックを特定する30以上のBTP(振る舞い脅威保護)、BIOC、Analytics BIOCルールによる多層防御によって、こうしたキャンペーンから保護されています。

ほとんどのルールはSolarMarker用にカスタマイズされたものではなく、通常と異なる、あまり見ない振る舞いに基づいているため、同様の手法を使う多くのマルウェアファミリ・キャンペーンからの防御も提供されます。くわえて、Local Analysis EngineとWildFireの統合により、Cortexのお客様にはさらなる保護レイヤーが提供されます。

IoC

IP
84.252.95[.]225
89.44.9[.]108
5.254.118[.]226
37.120.247[.]199
69.46.15[.]151
37.120.237[.]251
146.70.101[.]97
146.70.24[.]173
188.241.83[.]61
185.244.213[.]64
45.42.201[.]248
216.230.232[.]134
46.102.152[.]102
146.70.53[.]153
146.70.88[.]119
37.221.113[.]115
92.204.160[.]114
92.204.160[.]101
SHA256
af1e952b5b02ca06497e2050bd1ce8d17b9793fdb791473bdae5d994056cb21f
b4878d6b9d7462cafe81d20da148a44750aa707f4e34eae1f23f21f9e0d9afa0
3b79aab07b9461a9d4f3c579555ee024888abcda4f5cc23eac5236a56bf740c7
d40da05d477f2a6a0da575194dd9a693f85440e6b2d08d1687e1415ce0b00df7
b90ac9da590ba7de19414b7ba6fbece13ba0c507f1d6be2be2b647091f5779f0
e91e49fa225b2a9d7b6d5b33a64d4ebe96bbbcea3705438910a5196e0b9d030f
1ad2af16a803f6f72f3f8bd305fe2e1b2049ecc8c401ed48e72446abb33022f8
67735dd94093998ea9011435f6e56f90e3d66131b841706c4418c14907a497f9
5239c3b84de73e2a5d9a2ea3f99889f5c81769df388dae21db37a37688f6617e
5a2005552ba03f22f4d89d638b7e87b1dc1397c82f665fe3c63fd7d29bc6215b
44af59a2d70ba23f2f80d80090d11184ef923a746c0c9ea3c81922bd8d899346
2f7287a8b0c612801e77de6c2f37e22e0a67579f203a0aaf40095bf6ff70e6ee
0c933001de544ebc071d175d9f8e3bfad8066b532dc69dea4c713c52eb6a64a0
067ead7f7950dac95836899d08e93e6888fc87603b9ebf49d10ffeaed27ae466
a9df1cb6aa6061056b78ad88e7101b076cf20c1a82cc79b1215d1ea80c3fbd2c
3407a30a697cc9ad2aa84fddc9f643a6b0f2012b286f99f5ac01064bbd56e09a
7cc35fbce4b353c541f1ee62366248cc072d1c7ce38b1d5ef5db4a2414f26e08
7ce31f51f539761f9922bec50d38c6b9c0d6cc3a912517d947bc0a49dd507026
bbfae2ab644c8d0f1ba82b01032b1962c43855cc6716193ce872ac16cda166df
3be8e9f9e76df60bc682887ea31813762e9d2c316260a702c3b3e54391a9111b
11543f09c416237d92090cebbefafdb2f03cec72a6f3fdedf8afe3c315181b5a
b0e926d0e8a2379173ce220071d409839d02a87f7b25f39e29d9e47afa4f7378
ファイル名
Optumrx-Quantity-Limit-Prior-Authorization-Form.exe
Fedex-Domestic-Air-Waybill.exe
Osha-Required-Training-Checklist-For-General-Industry.exe
Thetford Porta Potti 345 Instructions.exe
Parkland-Heritage-Gazebo-Instructions.exe
Howard-County-Refinance-Affidavit.exe
Checklist-For-Bringing-New-Baby-Home.exe
Pool-Cover-Cable-Winch-Instructions.exe
Radiation-Pregnancy-Consent-Form.exe
Rival-Frozen-Delights-Ice-Cream-Maker-Manual.exe
Ford-Direct-Window-Sticker-Lookup.exe
Sentence-Structure-Simple-Compound-Complex-Worksheets.exe
Adrenal-Protocol-Ct-Washout.exe
Osha-Propane-Tank-Storage-Requirements.exe
Indiana-Alcohol-And-Tobacco-Liquor-License-Renewal.exe
Monthly-Elevator-Inspection-Checklist.exe
Family-Nurse-Practitioner-Certification-Exam-Questions.exe
Iai-Latent-Print-Certification-Test-Preparation-Training.exe
Cornwall-Ontario-Pool-Bylaw.exe
State-Of-Michigan-Workmans-Comp-Waiver.exe
Lilly-Cares-Patient-Assistance-Application-Form.exe
Market-Adjustment-Salary-Increase-Letter.exe
Are-Doctors-Obligated-By-Law-To-Perform-A-Surgery.exe
Affidavit-Of-Correction-South-Carolina.exe
Medicare-Annual-Wellness-Visit-Questionnaire-In-Spanish.exe
Acceptance-Letter-Phd-Neuroscience.exe
Cigna-Precertification-Request-Form.exe
Oregon-Inheritance-Tax-Waiver-Form.exe
Religious-Exemption-Letter-Nj-Example.exe
Training-Needs-Analysis-Questionnaire-For-Employees.exe
Sample-Texas-Will-And-Testament.exe
Matter-As-Particles-Worksheet.exe
Sdlc-Life-Cycle-With-Examples.exe
Randall-High-School-Volleyball-Schedule.exe
Uses-Of-Rocks-Worksheet.exe
Sample-Demand-Letter-For-Services-Not-Rendered.exe
Fe-Exam-Review-Lecture-Notes.exe
Quit-Claim-Deed-Form-Volusia-County-Florida.exe
Imsa-Ite-Traffic-Signal-Maintenance-Handbook.exe
Capital-One-Mortgage-Pre-Approval.exe
Field-Trip-Reflection-Worksheet-Pdf.exe
Livingston-Mt-City-Court-Warrants-List.exe
One-Page-Lease-Agreement-Texas.exe
Thetford Porta Potti 345 Instructions.exe
Howard-County-Refinance-Affidavit.exe
Checklist-For-Bringing-New-Baby-Home.exe
Example Of Discharge Summary For Substance Abuse
証明書
Name: Zimmi Consulting Inc
Serial Number: 06 FA 27 A1 21 CC 82 23 0C 30 13 EE 63 4B 6C 62
Status: Trust for this certificate or one of the certificates in the certificate chain has been revoked.
Valid From: 12:00 AM 02/18/2022
Valid To: 11:59 PM 02/13/2023
Thumbprint: BA256F3716A5613B2DDA5F2DBD36ABC9AC321583Name: Divertida Creative Limited
Serial Number: 08 83 DB 13 70 21 B5 1F 3A 2A 08 A7 6A 4B C0 66
Status: Trust for this certificate or one of the certificates in the certificate chain has been revoked.
Issuer: DigiCert Trusted G4 Code Signing RSA4096 SHA384 2021 CA1
Valid From: 12:00 AM 07/28/2021
Valid To: 11:59 PM 07/27/2022
Thumbprint: C049731B453AB96F0D81D02392C9FC57257E647D

追加リソース