Citrix NetScaler の脆弱性 CVE-2026-88771:リバースシェルと永続的なアクセスの確立を確認

Critical Citrix NetScaler CVE-2026-88771 Exploited for Reverse Shells and Persistent Access

2026/10/08 gbhackers — Citrix NetScaler ADC/NetScaler Gateway に存在する、深刻な認証前コマンド・インジェクションの脆弱性 CVE-2026-88771 を悪用する攻撃者が、リバースシェルの設置、特権アカウントの作成、永続的なアクセスの確立を行っている。LevelBlue の Threat Hunt Operations & Research (THOR) チームが特定したのは、複数の顧客環境で発生した不審な認証イベントであり、そこには脆弱性の検証だけではなく、ペイロードの実行/設定情報の窃取の試みなどの活動が記録されている。

LevelBlue が 9月30日に実施した調査で明らかになったのは、攻撃者が制御するユーザー名/マルウェアの取得/アプライアンスの機密設定情報の窃取に向けた準備/正規コンポーネントの改変を行うコマンドとの関連性などである。同社は以前のアドバイザリで、この脆弱性を CVSS 9.5 と評価し、Citrix が 9月27日にパッチをリリースしたと報告している。

観測された認証データには、注入されたシェル・コマンドとともに、繰り返して用いられる pitboss/NSPPE/unexpectedly died という文字列が含まれていた。一部の攻撃では、コマンド実行の成否を確認するために whoami が使用されていた。別の攻撃では curl/wget を利用し、update_c08937.pl/lula という名前のリソースを含む追加のペイロードを取得していた。

攻撃者は /flash/nsconfig/ns.conf も標的とし、その内容を /var/netscaler/logon/insight-new.js にコピーしていた。別のコマンドでは、/flash/nsconfig ディレクトリ全体を /var/netscaler/logon/LogonPoint/xua.html にアーカイブし、設定データを Web 経由でアクセス可能なディレクトリ内に配置していた。

また、複数のコマンドにおいて、通常のスペース文字の代わりに ${IFS} が使用されていた。別のコマンドでは、セミコロン区切りのコマンド・インジェクションではなく、バッククォートによるコマンド置換が使用されていた。

こうした違いがあるため、調査担当者は単一の攻撃文字列との完全一致に依存することなく、複数の検索パターンを用いるべきだ。

第 2 段階で使用される Python ペイロードの 1 つである main.py は、23.27.143[.]20:9000 でホストされていた。このペイロードは /var/python/bin/customsnmpd を、45.141.21[.]130:443 へ接続するコードで上書きする。このコードは標準入力/標準出力/標準エラー出力をソケットへリダイレクトし、対話型の /bin/sh を起動する。

Sample of main.py (Source : LevelBlue).
Sample of main.py (Source : LevelBlue).

最初のスクリプトは、customsnmpd に関連するプロセスの特定/終了も行う。別の Perl ペイロードである update_c08937.pl は、64.94.85[.]67:443 から取得され、パイプを通じて Perl に直接渡されていた。この実行方法では、ダウンロードしたスクリプトをファイルシステム上の特定の場所へ保存する必要がない。

LevelBlue の研究者が特定したのは、CVE-2026-88771 の悪用を目的とした攻撃者制御のユーザー名を含む、悪意の NetScaler 認証イベントである。

Citrix NetScaler CVE-2026-88771 の悪用を確認

この Perl コードは /flash/nsconfig/ns.conf を変更し、スーパーユーザー権限を持つ sec_monitor アカウントを作成する。続いて、設定ディレクトリを /tmp/update_result_3567cs.tgz にアーカイブし、同じ攻撃インフラへのアップロードを試みる。その後に、アーカイブを削除し、スクリプト自体も削除することで、残存する証拠を減らす。

Sample of update_c08937.pl (Source : LevelBlue).
Sample of update_c08937.pl (Source : LevelBlue).

このペイロードは、/bin/sh のパーミッションを 6555 に変更し、/var/netscaler/logon/LogonPoint/.local_journal に PHP Web シェルを設置する。

/etc/httpd.conf の変更により PHP の実行が有効化され、LogonUISimple.html.style.min.css/ランダムな 16 進数を使用した類似の URL といった、CSS ファイルに見せかけた URL 経由で不正プログラムへアクセスできるようになる。

このシェルは、リモートコマンドの実行/ファイルのアップロード/ダウンロードに対応している。

防御担当者に求められるのは、不審な認証フィールド/外部への接続/設定情報へのアクセス/アプライアンスの変更との関連性を調査することである。特に重要な調査対象は、sec_monitor/改変された customsnmpd の内容/.local_journal/予期しない HTTP の Alias/SetHandler ディレクティブ/シェルのパーミッション変更などである。

ペイロード/アーカイブが見つからなくても、悪用が失敗したとは判断できない。Perl スクリプトには、これらの痕跡を明示的に削除する処理が含まれているためである。

逆に、コマンドが注入された認証イベントだけでは、侵害が成功したことの証明にならない。その後の、ファイルシステム/プロセス/ネットワークに関する証拠を確認することが不可欠である。

今回の調査結果で明らかにされたのは、悪用の試みの事例と、その後の活動が実際に確認された事例が区別されたことである。THOR のレポートが説明しているのは、認証テレメトリで観測されたコマンドと、ペイロード分析によって判明した機能であり、標的となった全アプライアンスで、すべての機能が実行されたと判断しているわけではない。

この区別は、インシデントの影響範囲を評価するうえで重要である。設定情報の窃取に向けた準備/外部へのコールバック/新たな特権アカウントの作成は、それぞれ異なる段階を示している。そのため、初動調査では利用可能なログ/保存されたアプライアンスの証拠を基に、個別に検証する必要がある。

LevelBlue が挙げている修正済みの標準ビルドは 14.1-73.37/13.1-64.23 である。FIPS 向けの修正版は 14.1-73.37 FIPS と、FIPS/NDcPP 向けは 13.1-37.279 である。

組織に求められるのは、適切なアップデートの速やかな適用/ローカルアカウントの確認/有効なアカウントの認証情報のリセット/関連するネットワークテレメトリの収集である。

公開された侵害指標は調査の手掛かりであり、すべての攻撃インフラやファイル名を網羅したものではない。攻撃者がインフラ/ファイル名を変更する可能性があるため、振る舞いに基づく脅威ハンティングも引き続き必要となる。

侵害指標
IndicatorTypeDescription
70.172.58[.]168IPv4Source of NetScaler exploitation attempts
45.141.21[.]130IPv4Reverse-shell C2 infrastructure
162.243.36[.]88IPv4Source of NetScaler exploitation attempts
173.40.135[.]209IPv4Source of NetScaler exploitation attempts
47.230.224[.]154IPv4Source of NetScaler exploitation attempts

注: IP アドレス/ドメインは、意図しない名前解決/ハイパーリンク化を防ぐため、[.] などを使用して意図的に無効化されている。元の形式に戻す操作は、MISP/VirusTotal/SIEM など、管理された脅威インテリジェンスプラットフォーム内でのみ実施する必要がある。