マルウェア
日本やオーストラリアでの被害が多いマルウェア「ViperSoftX」による新しい暗号化と情報窃取の手口を解説
暗号資産などを標的とする情報窃取型マルウェア「ViperSoftX」が、ソフトウェアのクラック版や鍵生成ツール、アクティベータ、圧縮ツールを用いた初期パッケージ用ローダを無害なものとして偽装し、被害者に看破されにくい巧妙な手口によって配布されていることが分かりました。さらに、バイト再マッピングやWebブラウザからの通信拒否暗号など、高度な暗号化技術や解析妨害技術の使用が確認されました。
「ViperSoftX」は、これまで暗号資産を狙う情報窃取型マルウェアとして報告され、2022年には、その不正なコードをログファイルに埋め込む手口が話題になりました。トレンドマイクロの調査によると、本マルウェアによる攻撃キャンペーンの手口は、2022年11月当初の報告時と比べて明確に変化したことが判明しました。例えば、マルウェアの侵入や実行の手段として、DLLサイドローディングが使用されるようになりました。他の変更点として、「バイト再マッピング」に基づく巧妙な暗号化技術が導入されたことや、コマンドコントロール(C&C:Command and Control)サーバが毎月更新されていることが挙げられます。この暗号化技術が施されたコンポーネント、データ、およびシェルコードを復号する際には、正しいバイト値の変換表を発見する必要があります。この結果、本マルウェアの復号や動作解析にはより多くの時間が必要となります。
ViperSoftXの被害者は、一般ユーザと企業ユーザの双方にまたがって数多く見られました。一般ユーザの被害が多かった上位3カ国として、オーストラリア、日本、米国が挙げられます。一方、企業ユーザの被害は、東南アジアに集中しました。
侵入経路
ViperSoftXは多くの場合、ソフトウェアのクラック版、アクティベータ、パッチ、または鍵生成ツール(keygen:Key Generator)を装って配布されます。調査を通して、今回の攻撃者はこれらのソフトウェアがセキュリティソリューションによって不正なものと検知される可能性を見越し、それが「誤検知」であると被害者に信じ込ませるための工夫を施していることが分かりました。また、マルウェアを鍵生成ツールやアクティベータに偽装して配布することは、サイバー犯罪者がよく用いる手口の1つです。しかし今回のViperSoftXはそれを一歩前進させ、実際に不正ではないソフトウェアの内部に暗号化されたマルウェアの本体を隠蔽し、典型的な違法ソフトウェアではないように見せかける手法を用いました。この不正ではないソフトウェアは、いわば暗号化状態のマルウェアを乗せる「キャリヤー(荷台)」として機能します。
上述のキャリヤーとして、個別のソフトウェアやアプリケーションが狙われる傾向は見られません。しかし、ソフトウェアの種類としては、マルチメディアの編集や動画のフォーマット変換、暗号資産のマイニングアプリ、電話関連のデスクトップアプリ、システムクリーナー用アプリが狙われる傾向にあります。弊社で調査した検体については、その全てにおいて、下記の実行ファイルがキャリヤーとして利用されていました。
- Notepad++の「gup.exe」
- Torの「firefox.exe」
- マルチメディア編集ソフトウェア「Magix」の「ErrorReportClient.exe」
マルウェア「ViperSoftX」は、キャリヤーとしての実行ファイルと、その復号および読み込みを行うDLLのパッケージで配布されます。通常、被害者はこのパッケージを(違法な)ソフトウェアのWebサイト、またはP2PのTorrentノードからダウンロードします。大半の場合、ViperSoftXはソフトウェアのアクティベータ、パッチ、鍵生成ツールなどに偽装されています。パッケージ内の実行ファイルがシステム上で起動したタイミングで、不正な処理が始まります。
また、第二段階の主要なダウンロード元として用いられるC&Cサーバのホスト名は、月単位で変更されている様子が確認されました。
- 2月:chatgigi2[.]com
- 3月:arrowlchat[.]com
- 4月:static-cdn-349[.]net
感染の手口
はじめにViperSoftXは、システムが仮想マシン(VM:Virtual Machine)上で稼働しているか、または監視ツールが起動しているかを判定するために、さまざまな設定文字列のチェックを行います。まず、WQLによる以下のクエリをWMIのデフォルトネームスペース「ROOT\CIMV2」宛てに送り、取得した結果中に下記の文字列が含まれているかをチェックします。
SELECT Manufacturer, Model FROM Win32_ComputerSystem
- VMWare
- Virtual
さらに、監視ツール「Process Monitor」が端末内で起動しているかどうかを判定するため、下記の文字列をチェックします。
- procmon
- procmon64
- procmon64a
最後に、一部のアンチウイルス製品に対するインストールまたは起動状況を判定するため、下記の文字列をチェックします。
- Windows Defender
- ESET
以上のチェックを全て通過した場合、暗号化されたPowerShellコードを復号して実行する処理に進みます。以降は、典型的な多段階の処理パターンを踏襲する形で、段階毎に対応するコードをダウンロードして実行します。
独特な暗号化技術
「バイトマッピング」は、比較的単純な暗号化技術です。複雑な計算は必要とせず、ただ一つ行うべきことは、正しいバイト値を指定の正しい場所に配置するだけです。この手法は、大きなオブジェクトのグラフ構造を伴う複雑な処理を削減できる点で、サイバー犯罪者には一定のメリットがあります。
一方、ViperSoftXでは、他の典型的なビット単位の復号処理と異なり、「バイト再マッピング」の方式が用いられます。本方式は、256(0x100h)種類のバイト値同士を1対1で紐づける変換表に従って、各バイト値を変換するものです。正しい変換表がない限り、シェルコードの復号は容易ではありません。バイト再マッピングはコードの隠蔽手段として極めて実直なものですが、ブルートフォースなどによる強制的な復号の試みに対しては一定の耐性を発揮します。
注記:暗号化データの個々のバイト値は、サイドロード用DLL内に定義されたバイト変換表へのインデックスを指す。2つの検体間で最初の4バイトを比較すると、その値自体は異なるものの、位置関係(オフセット)は同一に保たれていることが見て取れる。これは、構造的に類似するシェルコードが両検体内に暗号化されているためである。
図5に示した両キャリヤー内の暗号化データを比較すると、値(コード)は異なるものの、位置またはオフセットは同一に保たれていることが見て取れます。これは、図中でマーキングした箇所以外も含む全バイトにあてはまります。解析者はこうしたパターンに気づくことはできますが、正しいバイト値の変換表が無い限り、復号することは難しいでしょう。もし暗号化データの正体がテキストや文字列であるならば、ブルートフォース方式で解読できるかも知れません。しかし、今回のデータはアセンブリの命令コードとして256種類のバイト値を含むため、ブルートフォースで正しい復号結果を得ることは困難であると考えられます。
図5の上下でバイト値が異なることから示唆されるように、それぞれのサイドロード用DLLは異なるバイト変換表を持ち、特定の実行ファイルと対になっていることが判明しました。そのため、DLLと対になっていない実行ファイルを復号しようとしても、バイト変換表が異なるため、正しいシェルコードは得られません。このようにViperSoftXは、正しいバイト変換表を持つDLLを用いない限り、シェルコードを復号できない形で作られています。なお、ViperSoftXのDLL内部に定義された文字列やバイナリ、関連データも、その全てが同じ方式で暗号化されています。
復号されたシェルコードは、ViperSoftXのメイン機能に相当するDLLをキャリヤー内部から抽出し、復号した上で読み込みます。
以上に述べた暗号化と復号の手法は、新しいものではなく、主にスクリプト型マルウェアで多用されています。直近の例として、JavaScriptおよびWindowsスクリプトのパッケージで構成されたランサムウェア「Magniber」でも、同種の手法が使用されています。しかし、スクリプト型マルウェアであり、かつ、暗号化データと変換表が同一ファイルに格納されている点で、暗号化と復号に関する解析は比較的容易と考えられます。一方、今回のViperSoftXの検体は完全なバイナリファイルであるため、変換表の発見自体が困難なものとなっています。さらに、変換表が別のファイルに格納されているため、正しい実行ファイルとDLLの組み合わせを見つける必要もあり、全体として解析し難い構造と言えるでしょう。
パスワードの窃取
最初の報告以来、ViperSoftXは暗号資産を窃取するマルウェアとして知られています。しかし今回の調査では、暗号資産だけでなく、パスワードマネージャをチェックする機能も組み込まれていることが判明しました。さらに、C&C サーバにも、Webブラウザからの通信を拒否するなど、解析を阻止する挙動が確認されました。
暗号資産の情報窃取に際しては、まず、暗号資産ウォレット情報を収集するPowerShellコード(ViperSoftXのメイン機能)をダウンロードします。このコードは、標的システム内で複数のローカルディレクトリを探索し、下記の暗号資産ウォレットに関する情報を窃取します。
- Armory
- Atomic Wallet
- Binance
- Bitcoin
- Blockstream Green
- Coinomi
- Delta
- Electrum
- Exodus
- Guarda
- Jaxx Liberty
- Ledger Live
- Trezor Bridge
また、ブラウザの拡張機能を通して、下記の暗号資産ウォレット情報をチェックします。
- Binance
- Coin98
- Coinbase
- Jaxx Liberty
- MetaMask
- Mew CX(現在のEnkrypt)
さらに、下記のブラウザに対応するコンポーネントをインストールします。
- Brave Browser
- Chrome
- Firefox
- Microsoft Edge
- Opera
パスワードの情報窃取について、新型のViperSoftXには、2種類のパスワードマネージャ「KeePass 2」と「1Password」をチェックする機能が組み込まれています。前者については、KeePassのパスワード情報を平文で強制的に流出させる脆弱性「CVE-2023-24055(最近の修正パッチにより対応済み)」が突かれた可能性が考えられました。しかし、本脆弱性を突いた攻撃の検知履歴を分析したところ、その数はごく少数にとどまり、ViperSoftXによる被害者との関連性も見られませんでした。
被害者の分布:一般ユーザと企業ユーザの双方
クラック版ソフトウェアへの偽装をはじめとする初期侵入の手法を踏まえると、調査当初は、被害者の大半を一般ユーザが占めると考えられました。しかし、予想に反して、被害全体の40%以上を企業ユーザが占めていることが判明しました。また、本マルウェアによる攻撃キャンペーンの標的となった地域を調べたところ、一般ユーザの被害事例については、オーストラリアと日本の2国がほぼ同じ件数で筆頭に位置し、次に米国が続き、これら3国で全体の半分近くを占めることが判明しました。一方、企業ユーザの被害事例については、その大半がアジア諸国を占めることが分かりました。

結論と発見事項
他のサイバー犯罪者がサイドローディングの手口を用いて非バイナリの別コンポーネント(通常は暗号化されたペイロードを含むDLLであり、正規の実行ファイルを通してサイドロードされる)を読み込ませるのに対し、今回のViperSoftXが用いた攻撃手段(DLLサイドローディングまたはDLL読み込み優先順位のハイジャック、WMIのクエリ言語「WQL」、PowerShellの反射的な読み込み、ブラウザハイジャック、C&Cの防御など)は、一段と巧妙なものと言えるでしょう。
ViperSoftXの背後にいるサイバー犯罪者は、一般ユーザ向けにマルウェアを配布する上で効果的な手段を行使し、監視の目をかいくくりながら、シームレスにマルウェアの感染フローを押し進める技術を有しています。初回の報告時と比べ、攻撃キャンペーンの手口にはある程度の変化が見られます。しかし、他の情報窃取型マルウェアと比べると、当該マルウェアの開発は比較的ゆっくり進行していると考えられます。
ViperSoftXの攻撃グループは、こうした活動を何年にも渡って続けています。暗号資産とパスワードを窃取する技術を双方用いている点より、当該グループは標的システムのことをよく熟知していると推測されます。また、マルウェアとC&Cサーバ間の通信内容を踏まえると、ViperSoftXの攻撃キャンペーンには、少なくとも2つのグループが関与していると考えられます。このうち、メインである第一グループは、マルウェアの展開に関わる主体的な役割を果たしています。その一方、C&Cサーバや通信内容が毎月変更されている点、C&Cのスキームやコーディングスタイルに差異が見られる点より、もう1つの別グループが関与していることが示唆されます。ViperSoftXは、ドメイン生成アルゴリズム(DGA:Domain-Generating Algorithm)を用いてC&Cサーバを隠蔽し、無関係な通信を意図的に発生させます。DGAの利用状況を調べたところ、活動の大半はメインの第一グループによるものであり、使用されたDGAの方式は簡素なものであることが判明しました。一方で、別のDGAを用いたと考えられる活動も、相当数発見されました。現状では、これが単純に古い検体である可能性も、全く異なった活動である可能性も、否定することはできません。
ViperSoftXの侵入経路は一般ユーザを狙ったものと考えられますが、実際には企業ユーザにまで被害が及んだ点は、注目に値します。こうした状況に至った経緯として、近年における従業員の大量解雇やコスト削減が一例として挙げられます。不況のあおりを受けたユーザが仕事の合間にフリーランスで収入を得ようとする場合もありますが、その一方で、会社が供与する端末にインストールされていないソフトウェアを「安価に」入手したいがために、非正規なサイトからダウンロードを試みる状況も考えられます。いずれにしても、ユーザの方は、ソフトウェアやアプリケーションをオフィシャルな配布元からダウンロードすることを強く推奨します。近年のソフトウェアはクラウド上でライセンス認証を行うことが多いため、クラック版やその他の違法なバージョンを入手したとしても、それを実際に利用できる期間は限られています。また、クラック版やパッチ版を阻止するためのアップデート機能を無効化した場合、利用中のシステム自体が、攻撃や感染のリスクに晒されることとなります。
ViperSoftXのようなマルウェアに感染するリスクを低減する上では、下記の対策が有効です。
- ソフトウェアやアプリケーションを取得する際には、オフィシャルな配布元からダウンロードする
- 違法なバージョンをダウンロードするのではなく、信頼できる開発元やプラットフォームが提供する代替版のフリーソフトを使用する
- 正規で無害に見えるソフトウェアやアプリケーションに潜む不正なコンポーネントを検知してブロックできるセキュリティソリューションを導入する
トレンドマイクロのソリューション
「Trend Vision One™」をご利用中のお客様は、ViperSoftXのようなマルウェアの脅威から保護されます。本ソリューションは、多層防御と挙動検知機能を提供し、マルウェアがシステムに損害を与える前に、疑わしい挙動やツールを早期にブロックすることを可能とします。企業や組織では、多面的なアプローチを用いることで、エンドポイントやメール、Web、ネットワークなど、システム侵入に繋がるさまざまな経路を保護できます。不審な挙動や疑わしい要素を特定できるセキュリティソリューションにより、重要なインシデントは見逃すことなく自動で検知され、企業や組織のシステムが安全に保護されます。
侵入の痕跡(Indicators of Compromise、IoC)
侵入の痕跡(IoC)はこちらで確認してください。
参考記事:
ViperSoftX Updates Encryption, Steals Data
By: Don Ovid Ladores
翻訳:清水 浩平(Core Technology Marketing, Trend Micro™ Research)