
Citrix ADCアプライアンスにおけるCVE-2023-3519の悪用から侵害の痕跡を検出し、ライブ分析とフォレンジックイメージ分析をサポートするBashベースのスキャナー。
このリポジトリには、CVE-2023-3519 に関連する Citrix ADC アプライアンスの侵害を検出するためのユーティリティが含まれています。 このユーティリティとそのリソースは、Mandiant の調査中に収集された侵害指標をエンコードしています。 詳細については、このツールのリリースを発表したブログ記事 をご覧ください。
要約すると、このユーティリティは以下を行います。
以下のことは行いません。
コミュニティからのフィードバックにより、ツールの検出能力が向上する可能性があります。 問題、アイデア、フィードバックがある場合は、Issue を開く か、PR を送信 してください。
このスキャナーは以下を識別できます。
CVE-2023-3519 用の侵害指標 (IoC) スキャナーは、Mandiant が Citrix と協力して、CVE-2023-3519 の悪用に関連するインシデント対応エンゲージメントから得られた知識に基づいて開発されました。 このスキャナーの目的は、利用可能なログソースとシステムフォレンジックアーティファクトを分析し、CVE-2023-3519 の悪用が成功した証拠を特定することです。 ツールが達成できることには限界があり、したがってツールを実行しても、システムが侵害されていないという保証にはなりません。 例えば、侵害の証拠が含まれるログファイルが切り詰められたりローテートされたりしている可能性、システムが再起動された可能性、攻撃者が侵害の証拠を削除するためにシステムを改ざんした可能性、証拠を隠すルートキットがインストールされている可能性などがあります。
このツールは、すべての侵害の証拠、または CVE-2023-3519 に関連するすべての侵害の証拠を見つけることを保証するものではありません。 システム上で侵害の兆候が特定された場合、組織は侵害されたシステムのフォレンジック調査を実施し、インシデントの範囲と程度を特定する必要があります。 このソフトウェアは現状のままで提供され、いかなる使用または目的に対しても保証または表明されるものではありません。
スタンドアロンの Bash スクリプトを、このリポジトリの リリースタブ からダウンロードしてください。 ソースディレクトリを Citrix ADC アプライアンスにコピーすることは推奨されません。誤検出の原因となります。
IoC スキャナーは、Citrix ADC アプライアンス上で直接実行できます。
このモードでは、ツールは既知の指標についてファイル、プロセス、ポートをスキャンします。
ツールは診断メッセージを STDERR ストリームに、結果を STDOUT ストリームに書き出します。
通常の使用方法では、STDOUT をレビュー用のファイルにリダイレクトする必要があります。
ツールは Citrix ADC アプライアンスのライブモードで root として実行する必要があります。
root にアクセスするには、CLI に nsroot としてログインし、CLI から shell を実行します。
例:
$ bash ./scanner-CVE-2023-3519-v1.2.sh > "/tmp/results-$(date).txt"
このツールは以下の製品で使用するように設計されています。
IoC スキャナーは、マウントされたフォレンジックイメージを検査することもできます。
このシナリオでは、イメージのルートディレクトリへのパスをコマンドライン引数として渡します。
注: フォレンジックイメージスキャンに渡すパスは、イメージの論理ルート / である必要があります。
ツールは場合によっては相対ファイルパスを使用するため、イメージが正しくマウントされていないと誤検出や見逃しが発生する可能性があります。
オフラインモードで実行する場合、root である必要はありません。
例:
$ bash ./scanner-CVE-2023-3519-v1.1.sh /mnt/path/to/evidence/root/
どちらのモードでも、ツールはサポートコードを一時ディレクトリに展開します。このディレクトリはスクリプトの終了時に削除されます。 ツールはシステムにそれ以上の変更を加えませんが、ログエントリが生成される可能性があります。
すべてのフォレンジック分析と同様に、ライブレスポンスよりも dd イメージに対するオフライン分析を推奨します。
これにより、ツールが関連する証拠を上書きする可能性がなくなります。
スクリプトの結果は、主に 3 つのセクションに分かれています。
システム概要では、アプライアンスの基本情報(ライブモードで実行した場合)と、侵害の証拠が検出されたかどうかの yes/no が出力されます。
**********************************************************************
SUMMARY:
Date : Sat Aug 12 22:46:26 UTC 2023
Hostname :
IP : 192.168.122.2
NS version : 13.1-48.47
Scanner version :
Scanner run mode : Default
Evidence of compromise found : Yes
Evidence of scanning found : N/A - Script Executed in Default Mode
Evidence of failed exploitation found : N/A - Script Executed in Default Mode
**********************************************************************
次のセクションでは、スキャンされたログファイルの詳細(各ログファイルの最初と最後のエントリを含む)が出力されます。 これは調査員にとって、スキャナーがどの期間のログを確認できたか、また結果が欠けている理由を説明するのに役立ちます。
最後のセクションでは、特定された侵害の証拠の詳細(ある場合)が示されます。例えば、ファイル内で一致した拒否リストコンテンツは以下のように表示されます。
**********************************************************************
MATCH: denylisted content 'blv_encode'
Found evidence of potential compromise.
You should consider performing a forensic investigation of the system.
**********************************************************************
matches for 'blv_encode':
/root/six.mal_
侵害を特定するさらなる方法を考案した場合は、この IoC スキャナーへの貢献をご検討ください。 可能な限り最も徹底的で正確なスキャナーを提供したいと考えています。
主な目標は、信頼性の高い侵害指標を報告することです。 ユーザーはこのツールの出力に依存してさらなる調査を開始する可能性があるため、誤った方向に導かないようにすることが重要です。 したがって、単純なスキャンなどの活動はデフォルトモードでは報告されるべきではありません。 アクターがシステムにアクセスし、情報を取得し、またはコンテンツを作成した証拠は常に報告されるべきです。
このツールは Bash スクリプトとして提供しています。これは Citrix ADC アプライアンス全体で共通の基盤だからです。 Citrix ADC リリースの機能マトリックスは以下のとおりです。
| NetScaler バージョン | OS | 利用可能な言語 |
|---|---|---|
| 13.1 | FreeBSD 8.4 | Bash, Perl, Python |
| 13.0 | FreeBSD 8.4 | Bash, Perl, Python |
| 12.1 | FreeBSD 8.4 | Bash, Perl, Python |
| 12.0 | FreeBSD 8.4 | Bash, Perl, Python |
ソースリポジトリをチェックアウトしたら、./build.sh ツールを使用してスタンドアロンスクリプトをビルドできます。
これにより、プライマリスクリプトとサポートリソースが 1 つのバンドルにパッケージ化されます。
実行時に、一時ディレクトリに展開され、そこから実行され、その後クリーンアップされます。
netscaler 上でスクリプトをビルドしないでください。誤検出の原因となります。
ビルドするには:
$ bash ./build.sh > ioc-scanner-CVE-2023-3519-rev$(git rev-parse HEAD | cut -c 1-8).sh
CVE-2023-3519 および実際の悪用に関する Mandiant の追加情報については、以下を参照してください。