Ivanti Connect Secureの脆弱性を利用して設置されたマルウェアSPAWNCHIMERA

2025年1月、Ivanti社はIvanti Connect Secureの脆弱性CVE-2025-0282に関するアドバイザリを公開[1]しました。JPCERT/CCでは、本脆弱性公開前の2024年12月下旬から本脆弱性が悪用された被害を国内で複数確認しており、注意喚起を公開[2]しています。本脆弱性は、すでに複数の攻撃グループに使用されています。

JPCERT/CCが対応したインシデントの中で、Google社が報告している本脆弱性悪用後に感染するマルウェアSPAWNファミリー[3][4]のアップデートを確認しました。そこで、今回はアップデートされたSPAWN(以下、「SPAWNCHIMERA」という。)について解説します。

SPAWNCHIMERAの動作概要

マルウェアSPAWNCHIMERAの動作概要を図1に示します。SPAWNCHIMERAはSPAWNANT、SPAWNMOLE、SPAWNSNAILの各機能がアップデートされ、それらを一つにしたマルウェアです。そのため、マルウェアのインストール方法や他プロセスへのインジェクション手法などはGoogle社が報告しているSPAWNファミリーの挙動[4]と大きな差異はないのですが、図1のとおりSPAWNCHIMERA単体でさまざまなプロセスにインジェクションし、各プロセス内で動作します。大きな変更点としては、以下があげられます。

  • プロセス間通信の変更
  • CVE-2025-0282の脆弱性を修正する機能
  • 各種デコード機能の追加
  • デバッグ用メッセージの削除

図1:SPAWNCHIMERAの動作フロー


UNIXドメインソケットを使ったプロセス間通信

これまでのSPAWNファミリーでは、SPAWNMOLEが受信した悪性トラフィックを127.0.0.1のポート8300番宛てに送信し、その悪性トラフィックをSPAWNSNAILが処理していましたが、このプロセス間通信の方式がUNIXドメインソケットを使用する方式に変更されました。UNIXドメインソケットは以下のパスに作成され、webプロセスにインジェクションしたSPAWNCHIMERAとdsmdmプロセスにインジェクションしたSPAWNCHIMERA間で悪性トラフィックの送受信を行います。この変更により、現時点で整合性チェックツール(Integrity Checker Tool:ICT)が出力するnetstatのコマンド結果には出力されない可能性があり、よりマルウェアが発見しづらくなっていると言えます。

/home/runtime/tmp/.logsrv

CVE-2025-0282の脆弱性を修正する機能

SPAWNCHIMERAではCVE-2025-0282の脆弱性を修正する機能が追加されていました。CVE-2025-0282はstrncpy関数に起因するバッファーオーバーフローの脆弱性[5]ですが、そのstrncpy関数をフックし、コピーするサイズを256へ制限することで動的に修正を行っています。図2にその差し替えられたstrncpy関数を示します。自身のプロセス名を16進数へ変換し、加算した値を検証することでプロセス名が“web”の場合、この修正が動作します。なお、strncpy関数へコピーするソースの先頭バイトが0x04050203と一致する場合、この修正が無効になるよう設定されていました。この機能により、後続の別の攻撃者が本脆弱性を使って侵入を試みようとした場合やスキャン目的で本脆弱性に係るPoC[6]を実行しようとしても攻撃が成功しない可能性があります。

図2:フックにより差し替えられたstrncpy関数


各種デコード機能の追加

以前の検体ではSSHサーバーの機能に使用する秘密鍵は検体内に平文でハードコードされ、/tmp/.dskeyへエクスポートされていましたが、SPAWNCHIMERAではエンコードされた状態で検体内にハードコードされ、XORベースのデコード関数で復号後、使用される形へと変更されました。ファイルとしてエクスポートされないため、より痕跡が残りにくくなっているといえます。復号した秘密鍵を以下に示します。

-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAAAMwAAAAtzc2gtZW
QyNTUxOQAAACB5yHbNy5qrd638t2dCLQ08TJb3D8m0+vifkGmBRho6+QAAAJB08wxcdPMM
XAAAAAtzc2gtZWQyNTUxOQAAACB5yHbNy5qrd638t2dCLQ08TJb3D8m0+vifkGmBRho6+Q
AAAEBqjrwB7thqk5LnigfsE8EqlKrmWNhy82k5GTV8BBVlDXnIds3Lmqt3rfy3Z0ItDTxM
lvcPybT6+J+QaYFGGjr5AAAACWthbGlAa2FsaQECAwQ=
-----END OPENSSH PRIVATE KEY-----

また、以前の検体では差し替えられたaccept関数内で受信バッファーの一部がハードコードされた値と一致するかどうかで悪性トラフィックの判別をしていましたが、SPAWNCHIMERAでは新しくデコード関数が追加され、その計算結果によって判別する方式へと変更されました。そのデコード関数を図3に示します。

図3:悪性トラフィックの判別に使用されるデコード関数


デバッグ用メッセージの削除

SPAWNCHIMERAがドロップするSPAWNSLOTHについて、機能面で以前のSPAWNSLOTHとほとんど差はありませんが、デバッグ用メッセージに関係する関数が検体の全体で削除されている点があり、同様に分析を困難にさせる狙いやよりハントされにくくするような狙いがあると考えられます。この変更はSPAWNCHIMERA本体でも見られます。その削除例の比較を図4に示します。

図4:デバッグメッセージの削除(左:旧バージョン、右:本検体)


おわりに

SPAWNCHIMERAはSPAWNファミリーの各機能を痕跡が残りにくいような形へ変更し、より洗練されたマルウェアへと進化していることがうかがえます。また、SPAWNファミリーのマルウェアは引き続き使用されることが予想されます。今回解説した情報を、マルウェア分析などにご活用いただければ幸いです。確認したマルウェアのハッシュ値とファイルパスについては、Appendixに記載していますのでご確認ください。

インシデントレスポンスグループ 増渕 維摩

参考情報

[1] Ivanti
Security Advisory Ivanti Connect Secure, Policy Secure & ZTA Gateways (CVE-2025-0282, CVE-2025-0283)
https://forums.ivanti.com/s/article/Security-Advisory-Ivanti-Connect-Secure-Policy-Secure-ZTA-Gateways-CVE-2025-0282-CVE-2025-0283?language=en_US

[2] JPCERT/CC
Ivanti Connect Secureなどにおける脆弱性(CVE-2025-0282)に関する注意喚起
https://www.jpcert.or.jp/at/2025/at250001.html

[3] Google
Ivanti Connect Secure VPN Targeted in New Zero-Day Exploitation
https://cloud.google.com/blog/topics/threat-intelligence/ivanti-connect-secure-vpn-zero-day/?hl=en

[4] Google
最先端の脅威 - Part 4: Ivanti Connect Secure VPN の脆弱性悪用後のラテラル ムーブメントに関する事例紹介
https://cloud.google.com/blog/ja/topics/threat-intelligence/ivanti-post-exploitation-lateral-movement

[5] watchTowr Labs
Do Secure-By-Design Pledges Come With Stickers? - Ivanti Connect Secure RCE (CVE-2025-0282)
https://labs.watchtowr.com/do-secure-by-design-pledges-come-with-stickers-ivanti-connect-secure-rce-cve-2025-0282/

[6] Stephen Fewer
CVE-2025-0282.rb
https://github.com/sfewer-r7/CVE-2025-0282/blob/main/CVE-2025-0282.rb

Appendix A:マルウェアのハッシュ値

  • SPAWNCHIMERA 94b1087af3120ae22cea734d9eea88ede4ad5abe4bdeab2cc890e893c09be955
  • SPAWNSLOTH 9bdf41a178e09f65bf1981c86324cd40cb27054bf34228efdcfee880f8014baf

Appendix B:確認されたマルウェアのファイルパス

  • SPAWNCHIMERA /lib/libdsupgrade.so
  • SPAWNSLOTH /tmp/.liblogblock.so
≪ 前へ
トップに戻る