
Citrix NetScalerのログを解析し、CVE-2023-4966の悪用の兆候をチェックします。
Citrix NetScaler ログを解析し、CVE-2023-4966 の悪用の兆候を確認します。
作成者: Otmar Lendl。
./citrix-anomaly.pl [-d] [-v] [-h] [-p file] [-a X] [logfiles]
このスクリプトは Citrix NetScaler syslog ファイルを解析し、CVE-2023-4966 の悪用の結果である可能性のあるセッションの再接続を探します。
Parameters:
-d デバッグ
-v 詳細
-h このヘルプ
-a 集約タイプを設定。可能な値:
b (デフォルト) 単純な /24 集約
a ASN で集約
p ルーティングテーブルのプレフィックスで集約
-p ルーティングテーブルダンプへのパス。構文: 1行に "prefix asn"
このスクリプトは Net::CIDR と Net::Patricia を必要とします(-p 機能を使用する場合)。これらはすべての Linux サーバーにインストールされているとは限りません。Debian ベースのシステムでは、以下のコマンドでインストールしてください。
sudo apt install libnet-cidr-perl libnet-patricia-perl
でインストールできます。
2023-10-27 時点のグローバルルーティングテーブルを含むファイルがこのリポジトリに含まれています。解凍する必要があります。
ログ行のプレフィックスはシステムやログデーモンによって異なる場合があります。コードは現在、行プレフィックスを無視し、Citrix が提供するタイムスタンプ(ロケール設定によって異なる可能性があります)に基づいてマッチングを行います。
CVE-2023-4966 はセッションクッキーを漏洩させ、攻撃者が既存の Citrix セッションに再接続することを可能にします。
このスクリプトは、"SSLVPN LOGIN" および "SSLVPN TCPCONNSTAT" の syslog 行を検索し(これらの行を grep で事前フィルタリングすると効果的です)、一致する LOGIN 行がないセッションや、その存続期間中にクライアント IP アドレスが変更されたセッションをチェックします。
スクリプトは、成功した初期ログインをソースネットワークが良性である兆候として使用します。ソースネットワークから再接続のみがあり、初期接続がない場合、それらの再接続は疑わしいと判断されます。これは純粋な IP アドレスベースではなく、以下の3つの集約方式が実装されています:
後者の2つのアルゴリズムには、プレフィックスを ASN にマッピングするファイルが必要です。サンプルがこのリポジトリに提供されています。