Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
citrix-netscaler-triage — Outil de triage forensique pour les appareils Citrix NetScaler, doté d'un scanner IOC basé sur Dissect pour les webshells, le timestomping et les binaires suspects, ainsi que d'un scanner de versions à distance qui identifie les vulnérabilités CVE. | Kitploit
Outils/GitHubGitHub/fox-it/citrix-netscaler-triage
Gestion des Indicateurs de Compromission (IOC)Scanners de VulnérabilitésSécurité WebSécurité RéseauCriminalistique NumériqueRéponse aux Incidents
GitHubfox-it/citrix-netscaler-triage

citrix-netscaler-triage

Outil de triage forensique pour les appareils Citrix NetScaler, doté d'un scanner IOC basé sur Dissect pour les webshells, le timestomping et les binaires suspects, ainsi que d'un scanner de versions à distance qui identifie les vulnérabilités CVE.

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Voir le dépôtSite web
7419136il y a 13 joursVérifié par Kitploit
Partager

Triage Citrix NetScaler

Ce dépôt contient des scripts de triage pour les équipements Citrix NetScaler :

  • iocitrix.py -- un script Dissect pour le triage d'une image/cible Citrix NetScaler.
  • scan-citrix-netscaler-version.py -- Scanner et identifier la version d'un équipement NetScaler via HTTP(s).

scan-citrix-netscaler-version.py

Vous pouvez utiliser ce script pour scanner et déterminer la version d'un équipement Citrix NetScaler via HTTP(s). Il déterminera également si le NetScaler est vulnérable à des CVE spécifiques en fonction de la version.

Installation de scan-citrix-netscaler-version.py

Utilisez les étapes suivantes si vous utilisez 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

Dans le cas de uv, vous pouvez exécuter le script directement avec :

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

Exemple d'utilisation :

$ 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)

Ou obtenez les résultats au format 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
}

Il est également possible de limiter la vérification du statut de vulnérabilité à des CVE spécifiques en utilisant l'option --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
}

Pour obtenir les résultats au format CSV, utilisez simplement l'option --csv. Pour plus d'options, consultez --help.

iocitrix.py

Vous pouvez utiliser iocitrix.py pour rechercher des indicateurs de compromission connus sur une cible Dissect NetScaler. Il vérifie les éléments suivants :

  • Chaînes connues utilisées dans les webshells
  • Fichiers dont les horodatages ont été modifiés (timestomped)
  • Tâches cron suspectes
  • Binaires SUID inconnus

Notez que ce script est destiné à être exécuté sur des images disque forensiques d'équipements Citrix NetScaler et non sur l'équipement lui-même. Consultez également la section Création d'images disque Citrix NetScaler pour savoir comment créer des images disque forensiques de votre Citrix NetScaler.

Assurez-vous de disposer de la dernière version de Dissect ; la prise en charge de Citrix NetScaler a été ajoutée dans cette PR : https://github.com/fox-it/dissect.target/pull/357

Avertissement : Bien que cet outil vise l'exactitude, il est possible qu'il produise des faux positifs ou des faux négatifs. Il est conseillé aux utilisateurs de recouper les résultats et de faire preuve de jugement avant de prendre toute décision sur la base des résultats de cet outil.

Installation de iocitrix.py

Utilisez les étapes suivantes :

  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

Notez que l'étape 4 affichera l'erreur suivante, mais vous pouvez l'ignorer :

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.

Vous pouvez ensuite exécuter iocitrix.py <TARGETS> pour lancer une vérification d'IOC sur une ou plusieurs images forensiques. Le script accepte toute entrée que dissect peut lire en tant que Target, comme un .VMDK ou une image disque brute. Quelques exemples sont fournis ci-dessous.

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

Si vous avez également créé une image forensique du disque RAM, vous pouvez utiliser iocitrix.py pour intégrer les données volatiles dans son triage comme suit :

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

Le signe + (plus) chargera les deux images disque comme une seule cible Dissect.

Création d'images disque Citrix NetScaler

Un Citrix NetScaler expose deux périphériques bloc importants qui peuvent être imagés pour une analyse forensique hors ligne. Ces fichiers de périphérique bloc se trouvent aux chemins suivants :

  • /dev/md0 : Le disque qui contient le répertoire racine (/). Il s'agit d'un disque RAM
  • /dev/da0 ou /dev/ada0 : Le disque qui contient les répertoires /var et /flash. Il s'agit d'un disque persistant.

Le répertoire racine (/) de Citrix NetScaler est un disque RAM, ce qui signifie qu'il s'agit d'un disque volatil. Ce disque se trouve à /dev/md0 lorsque le NetScaler est allumé et en fonctionnement, et sera indisponible lorsque le NetScaler est éteint. Les répertoires /var et /flash résident sur le disque /dev/da0 ou /dev/ada0 sous forme de deux partitions distinctes et sont persistants.

Les commandes suivantes peuvent être utilisées sur une machine Linux locale pour créer des copies disque de votre NetScaler via SSH. Si vous utilisez Windows, vous pouvez utiliser WSL (wsl.exe) ou Git Bash (git-bash.exe) pour utiliser les mêmes commandes. Évitez d'utiliser les commandes PowerShell natives, car PowerShell ne gère pas correctement le streaming de données binaires brutes via SSH.

1. Vérifiez les tailles d'image attendues en vérifiant les tailles de disque sur le NetScaler.

Cela affichera les disques disponibles, y compris si votre disque persistant est /dev/da0 ou /dev/ada0. Vérifiez ensuite la taille exacte :

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

Pour le disque RAM :

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

Le fichier da0.img ou ada0.img résultant aura approximativement la taille du périphérique respectif, et md0.img approximativement la taille de /dev/md0.

2. Vérifiez l'espace disque de votre système local

local ~ $ df -h .

Assurez-vous qu'il y a suffisamment d'espace disponible pour accueillir les fichiers d'image disque, dont les tailles ont été calculées à l'étape précédente.

3. Créez une image disque du disque /dev/da0 ou /dev/ada0 sur votre machine locale

Selon le nom de votre disque, exécutez soit

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

soit

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

Notez que cela peut prendre un certain temps. Aucune progression n'est affichée lors de l'utilisation de dd. Il est conseillé d'attendre de reprendre le contrôle de l'invite de commande. C'est une indication que dd a terminé.

Télécharger l’outil