Skip to content
KitploitKITPLOIT
ツールエクスプロイトブログ
Log in
提出
ツールエクスプロイトブログ
提出

ハッキング、侵入テスト、サイバーセキュリティツールをあなたのセキュリティアーセナルに!

Kitploitはハッキング、サイバーセキュリティ、ペネトレーションテストのツールディレクトリです。最新のプロジェクトアップデートを見つけて、脆弱性の発見、システム分析、テストの自動化、セキュリティの強化を行いましょう。

フィードお問い合わせプライバシー© 2026 Kitploit

ツールディレクトリ

カテゴリ

すべてのカテゴリを見る
Loading categories
citrix-netscaler-triage — Citrix NetScalerデバイス向けのフォレンジックトリアージツールキットで、DissectベースのIOCスキャナーを備え、Webシェル、タイムスタンピング、不審なバイナリを検出します。さらに、CVE脆弱性を特定するリモートバージョンスキャナーも搭載しています。 | Kitploit
ツール/GitHubGitHub/fox-it/citrix-netscaler-triage
侵害指標 (IOC) 管理脆弱性スキャナーウェブセキュリティネットワークセキュリティデジタルフォレンジックインシデントレスポンス
GitHubfox-it/citrix-netscaler-triage

citrix-netscaler-triage

Citrix NetScalerデバイス向けのフォレンジックトリアージツールキットで、DissectベースのIOCスキャナーを備え、Webシェル、タイムスタンピング、不審なバイナリを検出します。さらに、CVE脆弱性を特定するリモートバージョンスキャナーも搭載しています。

リポジトリを見る
741913917日前Kitploit レビュー済み

人気

すべて見る →

コミュニティで最も使われているツールを見つけましょう。

すべてのツールを探索

ツールコレクションを閲覧

すべてのツールを見る →
共有
ウェブサイト

Citrix NetScaler トリアージ

このリポジトリには、Citrix NetScaler デバイス用のトリアージスクリプトが含まれています:

  • iocitrix.py -- Citrix NetScaler のイメージ/ターゲットをトリアージするための Dissect スクリプト。
  • scan-citrix-netscaler-version.py -- HTTP(s) 経由で NetScaler デバイスのバージョンをスキャンしてフィンガープリントするスクリプト。

scan-citrix-netscaler-version.py

このスクリプトを使用すると、HTTP(s) 経由で Citrix NetScaler デバイスのバージョンをスキャンして特定できます。 また、バージョンに基づいて NetScaler が特定の CVE に対して脆弱かどうかも判定します。

scan-citrix-netscaler-version.py のインストール

pip を使用する場合は、以下の手順に従ってください:

  1. git clone https://github.com/fox-it/citrix-netscaler-triage.git
  2. cd citrix-netscaler-triage
  3. pip install httpx
  4. python3 scan-citrix-netscaler-version.py --help

uv の場合は、以下を使用してスクリプトを直接実行できます:

  1. uv run https://raw.githubusercontent.com/fox-it/citrix-netscaler-triage/refs/heads/main/scan-citrix-netscaler-version.py

使用例:

$ python3 scan-citrix-netscaler-version.py 192.168.1.10 192.168.1.12
192.168.1.10 (*.local.domain) is running Citrix NetScaler version 13.1-51.15 (VULNERABLE)
192.168.1.12 (*.local.domain) is running Citrix NetScaler version 12.1-55.330 (NOT VULNERABLE)

または、結果を JSON で取得する場合:

$ python3 scan-citrix-netscaler-version.py https://192.168.1.11 --json | jq
{
  "scanned_at": "2025-09-03T23:11:36.864228+00:00",
  "target": "https://192.168.1.11",
  "tls_names": "my-first-netscaler.local",
  "rdx_en_stamp": 1702886392,
  "rdx_en_dt": "2023-12-18T07:59:52+00:00",
  "version": "12.1-55.302",
  "error": null,
  "vulnerable": {
    "CVE-2025-5349": true,
    "CVE-2025-5777": true,
    "CVE-2025-6543": false,
    "CVE-2025-7775": true,
    "CVE-2025-7776": true,
    "CVE-2025-8424": true
  },
  "is_vulnerable": true
}

--cve フラグを使用して、脆弱性ステータスのチェックを特定の CVE に限定することもできます:

$ python3 scan-citrix-netscaler-version.py https://192.168.1.11 --cve CVE-2025-6543 --json | jq
{
  "scanned_at": "2025-09-03T23:16:36.573016+00:00",
  "target": "https://192.168.1.11",
  "tls_names": "my-first-netscaler.local",
  "rdx_en_stamp": 1702886392,
  "rdx_en_dt": "2023-12-18T07:59:52+00:00",
  "version": "12.1-55.302",
  "error": null,
  "vulnerable": {
    "CVE-2025-6543": false
  },
  "is_vulnerable": false
}

結果を CSV 形式で取得するには、--csv フラグを使用するだけです。 その他のオプションについては --help を参照してください。

iocitrix.py

iocitrix.py を使用すると、NetScaler Dissect ターゲット上の既知の侵害指標 (IOC) をチェックできます。以下の項目をチェックします:

  • ウェブシェルで使用される既知の文字列
  • タイムスタンプを改ざんされたファイル
  • 不審な cronjob
  • 未知の SUID バイナリ

このスクリプトは、Citrix NetScaler デバイス自体ではなく、Citrix NetScaler デバイスのフォレンジックディスクイメージ上で実行することを目的としていることに注意してください。 また、Citrix NetScaler のフォレンジックディスクイメージを作成する方法については、Citrix NetScaler ディスクイメージの作成 セクションを参照してください。

最新バージョンの Dissect を用意してください。Citrix NetScaler のサポートはこの PR で追加されました: https://github.com/fox-it/dissect.target/pull/357

免責事項: このツールは正確性を追求していますが、偽陽性や偽陰性を生じる可能性があります。ユーザーは、このツールの出力に基づいて判断を下す前に、結果を相互確認し、自身の判断を使用することをお勧めします。

iocitrix.py のインストール

以下の手順に従ってください:

  1. git clone https://github.com/fox-it/citrix-netscaler-triage.git
  2. cd citrix-netscaler-triage
  3. pip install -r requirements.txt
  4. pip install --upgrade --pre dissect.volume dissect.target

手順 4 では以下のエラーが出力されますが、無視してかまいません:

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

その後、iocitrix.py <TARGETS> を実行して、1 つ以上のフォレンジックイメージに対して IOC チェックを開始できます。このスクリプトは、dissect が Target として読み取れる任意の入力 (.VMDK や raw ディスクイメージなど) を受け付けます。いくつかの例を以下に示します。

python3 iocitrix.py image.vmx
python3 iocitrix.py image.vmdk

RAM ディスク のフォレンジックイメージも作成している場合は、iocitrix.py を利用して以下のように揮発性データをトリアージに組み込むことができます:

python3 iocitrix.py md0.img+image.vmx
python3 iocitrix.py md0.img+image.vmdk
python3 iocitrix.py md0.img+da0.img

+ (プラス) 記号は、2 つのディスクイメージを単一の Dissect Target として読み込みます。

Citrix NetScaler ディスクイメージの作成

Citrix NetScaler は、オフラインフォレンジック分析のためにイメージ化できる 2 つの重要なブロックデバイスを公開しています。これらのブロックデバイスファイルは以下のパスにあります:

  • /dev/md0: ルート (/) ディレクトリを保持するディスク。これは RAM ディスクです
  • /dev/da0 または /dev/ada0: /var および /flash ディレクトリを保持するディスク。これは永続ディスクです。

Citrix NetScaler のルートディレクトリ (/) は RAM ディスクであり、これは揮発性ディスクであることを意味します。このディスクは、NetScaler の電源が入って実行されているときに /dev/md0 に存在し、NetScaler の電源が切れているときは利用できません。/var および /flash ディレクトリは、/dev/da0 または /dev/ada0 ディスク上に 2 つの別々のパーティションとして存在し、永続的です。

以下のコマンドは、ローカルの Linux マシンで SSH 経由で NetScaler のディスクコピーを作成するために使用できます。Windows を使用している場合は、WSL (wsl.exe) または Git Bash (git-bash.exe) を使用して同じコマンドを実行できます。ネイティブの PowerShell コマンドは使用しないでください。PowerShell は SSH 経由のストリーミング raw バイナリデータを適切に処理できません。

1. NetScaler 上のディスクサイズを確認して、予想されるイメージサイズをチェックします。

これにより、永続ディスクが /dev/da0 か /dev/ada0 かを含め、利用可能なディスクが表示されます。 次に、正確なサイズを確認します:

local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell diskinfo /dev/da0
local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell diskinfo /dev/ada0

RAM ディスクの場合:

local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell diskinfo /dev/md0

結果として得られる da0.img または ada0.img はそれぞれのデバイスとほぼ同じサイズになり、md0.img は /dev/md0 とほぼ同じサイズになります。

2. ローカルシステムのディスク容量を確認します

local ~ $ df -h .

前の手順で計算したディスクイメージファイルのサイズを収容するのに十分な空き容量があることを確認してください。

3. /dev/da0 または /dev/ada0 ディスクのディスクイメージをローカルマシンに作成します

ディスク名に応じて、次のいずれかを実行します

local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell dd if=/dev/da0 bs=10M | tail -c +7 | head -c -6 > da0.img

または

local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell dd if=/dev/ada0 bs=10M | tail -c +7 | head -c -6 > ada0.img

これは完了するまでに時間がかかる場合があることに注意してください。dd を使用しているときは進行状況が表示されません。 プロンプトの制御が戻るまで待つことをお勧めします。これは dd が終了したことを示す指標です。

tail および head コマンドは、バイトストリームから NetScaler の SSH バナーを取り除くために使用されます。NetScaler の SSH バナーは時間の経過とともに変更される可能性があることに注意してください。その場合はコマンドを手動で編集する必要があります。

4. (オプション) /dev/md0 ディスクのディスクイメージをローカルマシンに作成します

この手順は省略できますが、省略すると iocitrix.py が特定の侵害指標を見逃す可能性があります。したがって、/dev/md0 と /dev/da0 または /dev/ada0 の両方のディスクイメージを作成することをお勧めします。

local ~ $ ssh nsroot@<YOUR-NETSCALER-IP> shell dd if=/dev/md0 bs=10M | tail -c +7 | head -c -6 > md0.img

5. イメージに対して iocitrix.py を実行する

ローカルマシンで前述のコマンドを実行すると、da0.img または ada0.img および md0.img ファイルが作成されます。iocitrix をこれらのファイルに向けて、イメージのトリアージを開始できます。これを行うには、以下のコマンドを使用します:

local ~ $ python3 iocitrix.py md0.img+da0.img

または

local ~ $ python3 iocitrix.py md0.img+ada0.img

出力例:

(venv) user@dissect:/data/netscaler/image$ python3 iocitrix.py md0.img+da0.img
<Target md0.img+da0.img>

Disks
- <RawContainer size=555745286 vs=None>
- <RawContainer size=21474836486 vs=<DissectVolumeSystem serial=None>>

Volumes
- <Volume name=None size=555745286 fs=<FfsFilesystem>>
- <Volume name='part_00000000' size=1717567488 fs=<FfsFilesystem>>
- <Volume name='part_66600000' size=4401922048 fs=<FfsFilesystem>>
- <Volume name='part_16cc00000' size=2097152 fs=<FfsFilesystem>>
- <Volume name='part_16ce00000' size=15353200128 fs=<FfsFilesystem>>

Hostname      : None
Domain        : None
IPs           : 10.164.0.39, 10.164.0.10
OS family     : citrix-netscaler (CitrixBsdPlugin)
OS version    : NetScaler 13.1 build 30 (ns-13.1-30.52)
Architecture  : x86_64-citrix-netscaler
Language(s)   :
Timezone      : None
Install date  : 2023-08-08 13:59:38.228043+00:00
Last activity : 2023-08-11 08:51:13.979536+00:00


*** Checking for webshells ***
ツールをダウンロード