Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
citrix-netscaler-triage — Forensisches Triage-Toolkit für Citrix-NetScaler-Geräte, mit einem auf Dissect basierenden IOC-Scanner für Webshells, Timestomping und verdächtige Binärdateien sowie einem Remote-Versionsscanner, der CVE-Schwachstellen identifiziert. | Kitploit
Tools/GitHubGitHub/fox-it/citrix-netscaler-triage
Management von Indicators of Compromise (IOC)SchwachstellenscannerWebsicherheitNetzwerksicherheitDigitale ForensikIncident Response
GitHubfox-it/citrix-netscaler-triage

citrix-netscaler-triage

Forensisches Triage-Toolkit für Citrix-NetScaler-Geräte, mit einem auf Dissect basierenden IOC-Scanner für Webshells, Timestomping und verdächtige Binärdateien sowie einem Remote-Versionsscanner, der CVE-Schwachstellen identifiziert.

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Repository anzeigenWebseite
741812vor 9 MonatenVon Kitploit geprüft
Teilen

Citrix NetScaler Triage

Dieses Repository enthält Triage-Skripte für Citrix NetScaler-Geräte:

  • iocitrix.py -- ein Dissect-Skript zur Triage eines Citrix NetScaler-Images/Ziels.
  • scan-citrix-netscaler-version.py -- Scannt und identifiziert die Version eines NetScaler-Geräts über HTTP(s).

scan-citrix-netscaler-version.py

Mit diesem Skript können Sie die Version eines Citrix NetScaler-Geräts über HTTP(s) scannen und ermitteln. Es bestimmt außerdem, ob der NetScaler basierend auf der Version anfällig für bestimmte CVEs ist.

Installation von scan-citrix-netscaler-version.py

Verwenden Sie die folgenden Schritte, wenn Sie pip verwenden:

  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

Falls Sie uv verwenden, können Sie das Skript direkt ausführen mit:

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

Beispielhafte Verwendung:

root@kitploit:~
$ 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)

Oder erhalten Sie die Ergebnisse als JSON:

root@kitploit:~
$ python3 scan-citrix-netscaler-version.py https://192.168.1.11 --json | jq
root@kitploit:~
{
  "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
}

Es ist auch möglich, die Prüfung des Schwachstellenstatus auf bestimmte CVEs zu beschränken, indem Sie das Flag --cve verwenden:

root@kitploit:~
$ python3 scan-citrix-netscaler-version.py https://192.168.1.11 --cve CVE-2025-6543 --json | jq
root@kitploit:~
{
  "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
}

Um die Ergebnisse im CSV-Format zu erhalten, verwenden Sie einfach das Flag --csv. Weitere Optionen finden Sie unter --help.

iocitrix.py

Sie können iocitrix.py verwenden, um auf einem NetScaler-Dissect-Ziel nach bekannten Indikatoren für eine Kompromittierung (Indicators of Compromise) zu suchen. Es prüft auf Folgendes:

  • Bekannte Zeichenfolgen, die in Webshells verwendet werden
  • Dateien mit manipulierten Zeitstempeln (Timestomping)
  • Verdächtige Cronjobs
  • Unbekannte SUID-Binärdateien

Beachten Sie, dass dieses Skript für die forensische Analyse von Festplatten-Images von Citrix NetScaler-Geräten gedacht ist und nicht für den Einsatz direkt auf dem Gerät. Siehe auch den Abschnitt Erstellen von Citrix NetScaler-Festplatten-Images zur Erstellung forensischer Festplatten-Images Ihres Citrix NetScaler.

Stellen Sie sicher, dass Sie die neueste Version von Dissect verwenden. Die Unterstützung für Citrix NetScaler wurde in diesem PR hinzugefügt: https://github.com/fox-it/dissect.target/pull/357

Haftungsausschluss: Obwohl dieses Tool auf Genauigkeit ausgelegt ist, kann es zu falsch positiven oder falsch negativen Ergebnissen kommen. Benutzer werden gebeten, Ergebnisse gegenzuprüfen und ihr eigenes Urteilsvermögen einzusetzen, bevor sie Entscheidungen auf Grundlage der Ausgabe dieses Tools treffen.

Installation von iocitrix.py

Verwenden Sie die folgenden Schritte:

  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

Beachten Sie, dass Schritt 4 die folgende Fehlermeldung ausgibt, die Sie jedoch ignorieren können:

root@kitploit:~
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.

Sie können dann iocitrix.py <TARGETS> ausführen, um eine IOC-Prüfung gegen ein oder mehrere forensische Images zu starten. Das Skript akzeptiert jede Eingabe, die dissect als Target lesen kann, wie z. B. eine .VMDK-Datei oder ein Roh-Festplatten-Image. Einige Beispiele finden Sie unten.

root@kitploit:~
python3 iocitrix.py image.vmx
python3 iocitrix.py image.vmdk

Wenn Sie außerdem ein forensisches Image des RAM-Disks erstellt haben, können Sie iocitrix.py verwenden, um flüchtige Daten in die Triage einzubeziehen, wie folgt:

root@kitploit:~
python3 iocitrix.py md0.img+image.vmx
python3 iocitrix.py md0.img+image.vmdk
python3 iocitrix.py md0.img+da0.img

Das +-Zeichen (Plus) lädt die beiden Festplatten-Images als ein einziges Dissect-Target.

Erstellen von Citrix NetScaler-Festplatten-Images

Ein Citrix NetScaler stellt zwei wichtige Blockgeräte bereit, die für die Offline-Forensik als Image gesichert werden können. Diese Blockgerätedateien finden Sie unter den folgenden Pfaden:

  • /dev/md0: Das Laufwerk, das das Root-Verzeichnis (/) enthält. Dies ist ein RAM-Disk.
  • /dev/da0: Das Laufwerk, das die Verzeichnisse /var und /flash enthält. Dies ist ein persistentes Laufwerk.

Das Root-Verzeichnis (/) von Citrix NetScaler ist ein RAM-Disk, d. h. ein flüchtiges Laufwerk. Dieses Laufwerk befindet sich unter /dev/md0, wenn der NetScaler eingeschaltet ist und läuft, und ist nicht verfügbar, wenn der NetScaler ausgeschaltet ist. Die Verzeichnisse /var und /flash befinden sich auf dem Laufwerk /dev/da0 als zwei separate Partitionen und sind persistent.

Die folgenden Befehle können auf einem lokalen Linux-Rechner verwendet werden, um über SSH ein Image Ihres NetScaler zu erstellen:

Erstellen Sie ein Festplatten-Image des /dev/da0-Laufwerks auf Ihrem lokalen Rechner

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

Beachten Sie, dass dies einige Zeit in Anspruch nehmen kann. Bei Verwendung von dd wird kein Fortschritt angezeigt. Es wird empfohlen zu warten, bis Sie die Kontrolle über die Eingabeaufforderung zurückerhalten. Dies ist ein Hinweis darauf, dass dd abgeschlossen ist.

Wenn Sie außerdem kein /dev/da0 haben, handelt es sich höchstwahrscheinlich um /dev/ada0. Sie können dies mit dem Befehl mount oder gpart show überprüfen.

Erstellen Sie ein Festplatten-Image des /dev/md0-Laufwerks auf Ihrem lokalen Rechner

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

HINWEIS: Es wird zwar empfohlen, Festplatten-Images sowohl von /dev/md0 als auch von /dev/da0 zu erstellen. Das Erstellen eines Festplatten-Images von /dev/md0 ist jedoch optional. Dieser Schritt kann übersprungen werden, obwohl dies dazu führen kann, dass iocitrix.py bestimmte Kompromittierungsindikatoren übersieht.

Ausführen von iocitrix.py auf Ihren Images

Nachdem Sie die vorherigen Befehle auf Ihrem lokalen Rechner ausgeführt haben, sind die Dateien da0.img und md0.img vorhanden. Sie können iocitrix auf diese Dateien verweisen, um mit der Triage Ihrer Images zu beginnen. Verwenden Sie den folgenden Befehl:

root@kitploit:~
local ~ $ python3 iocitrix.py md0.img+da0.img

Beispielausgabe:

root@kitploit:~
(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 ***

<ioc/hit type='php-file-permission' alert='Suspicious php permission 0o644' confidence='high' path='/var/netscaler/logon/LogonPoint/uiareas/linux/adminupevents.php'>
<ioc/hit type='php-file-contents' alert="Suspicious PHP code 'b'array_filter(''" confidence='high' path='/var/netscaler/logon/LogonPoint/uiareas/linux/adminupevents.php'>
<ioc/hit type='php-file-permission' alert='Suspicious php permission 0o644' confidence='high' path='/var/vpn/config.php'>
<ioc/hit type='php-file-contents' alert="Suspicious PHP code 'b'array_filter(''" confidence='high' path='/var/vpn/config.php'>
<ioc/hit type='php-file-permission' alert='Suspicious php permission 0o644' confidence='high' path='/var/vpn/themes/config.php'>

*** Checking for timestomped files ***


*** Checking for suspicious cronjobs ***


*** Checking for SUID Binaries (this takes a while) ***

<ioc/hit type='binary/suid' alert='Binary with SUID bit set Observed' confidence='medium' path='/tmp/python/bash'>

********************************************************************************
***                                                                          ***
*** There were findings for Indicators of Compromise.                        ***
*** Please consider performing further forensic investigation of the system. ***
***                                                                          ***
********************************************************************************

Confidence    Type                 Alert                                       Artefact Location
------------  -------------------  ------------------------------------------  ---------------------------------------------------------------
high          php-file-permission  Suspicious php permission 0o644             /var/netscaler/logon/LogonPoint/uiareas/linux/adminupevents.php
high          php-file-contents    Suspicious PHP code 'b'array_filter(''      /var/netscaler/logon/LogonPoint/uiareas/linux/adminupevents.php
high          php-file-permission  Suspicious php permission 0o644             /var/vpn/config.php
high          php-file-contents    Suspicious PHP code 'b'array_filter(''      /var/vpn/config.php
high          php-file-permission  Suspicious php permission 0o644             /var/vpn/themes/config.php
medium        binary/suid          Binary with SUID bit set Observed           /tmp/python/bash

All targets analyzed.
Tool herunterladen