Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
citrix-netscaler-triage — Strumento di triage forense per dispositivi Citrix NetScaler, con uno scanner IOC basato su Dissect per webshell, timestomping e binari sospetti, oltre a uno scanner remoto delle versioni che identifica le vulnerabilità CVE. | Kitploit
Strumenti/GitHubGitHub/fox-it/citrix-netscaler-triage
Gestione degli Indicatori di Compromissione (IOC)Scanner di VulnerabilitàSicurezza WebSicurezza di ReteDigital ForensicsRisposta agli Incidenti
GitHubfox-it/citrix-netscaler-triage

citrix-netscaler-triage

Strumento di triage forense per dispositivi Citrix NetScaler, con uno scanner IOC basato su Dissect per webshell, timestomping e binari sospetti, oltre a uno scanner remoto delle versioni che identifica le vulnerabilità CVE.

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Vedi RepositorySito web
7418129 mesi faRevisionato da Kitploit
Condividi

Triage Citrix NetScaler

Questo repository contiene script di triage per dispositivi Citrix NetScaler:

  • iocitrix.py -- uno script Dissect per eseguire il triage di un'immagine/target Citrix NetScaler.
  • scan-citrix-netscaler-version.py -- Scansiona e identifica la versione di un dispositivo NetScaler tramite HTTP(s).

scan-citrix-netscaler-version.py

Puoi utilizzare questo script per scansionare e determinare la versione di un dispositivo Citrix NetScaler tramite HTTP(s). Determinerà inoltre se il NetScaler è vulnerabile a specifici CVE in base alla versione.

Installazione di scan-citrix-netscaler-version.py

Segui i seguenti passaggi se utilizzi 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

Nel caso di uv, puoi eseguire lo script direttamente utilizzando:

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

Esempio di utilizzo:

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)

Oppure ottieni i risultati in 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
}

È anche possibile limitare i controlli dello stato di vulnerabilità a specifici CVE utilizzando il flag --cve:

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
}

Per ottenere i risultati in formato CSV, utilizza semplicemente il flag --csv. Per ulteriori opzioni consulta --help.

iocitrix.py

Puoi utilizzare iocitrix.py per verificare la presenza di noti Indicatori di Compromissione su un target Dissect NetScaler. Verifica i seguenti elementi:

  • Stringhe note utilizzate nelle webshell
  • File con timestamp alterati (timestomping)
  • Cronjob sospetti
  • Binari SUID sconosciuti

Nota che questo script è pensato per essere eseguito su immagini disco forensi di dispositivi Citrix NetScaler e non sul dispositivo stesso. Consulta anche la sezione Creazione di immagini disco Citrix NetScaler su come creare immagini disco forensi del tuo Citrix NetScaler.

Assicurati di avere l'ultima versione di Dissect; il supporto per Citrix NetScaler è stato aggiunto in questa PR: https://github.com/fox-it/dissect.target/pull/357

Disclaimer: Sebbene questo strumento miri all'accuratezza, è possibile che produca falsi positivi o falsi negativi. Si consiglia agli utenti di verificare i risultati e di usare il proprio giudizio prima di prendere qualsiasi decisione basata sull'output di questo strumento.

Installazione di iocitrix.py

Segui i seguenti passaggi:

  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

Nota che il passaggio 4 stamperà il seguente errore, ma puoi ignorarlo:

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.

Puoi quindi eseguire iocitrix.py <TARGETS> per avviare un controllo IOC su una o più immagini forensi. Lo script accetta qualsiasi input che dissect può leggere come Target, come un .VMDK o un'immagine disco raw. Alcuni esempi sono forniti di seguito.

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

Se hai anche creato un'immagine forense del RAM disk, puoi utilizzare iocitrix.py per incorporare dati volatili nel suo triage come segue:

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

Il segno + (più) caricherà le due immagini disco come un singolo Target Dissect.

Creazione di immagini disco Citrix NetScaler

Un Citrix NetScaler espone due importanti dispositivi a blocchi che possono essere sottoposti a imaging per l'analisi forense offline. Questi file di dispositivi a blocchi si trovano nei seguenti percorsi:

  • /dev/md0: Il disco che contiene la directory root (/). Questo è un RAM disk
  • /dev/da0: Il disco che contiene le directory /var e /flash. Questo è un disco persistente.

La directory root (/) di Citrix NetScaler è un RAM disk, il che significa che è un disco volatile. Questo disco si trova in /dev/md0 quando il NetScaler è acceso e in esecuzione e non sarà disponibile quando il NetScaler è spento. Le directory /var e /flash risiedono sul disco /dev/da0 come due partizioni separate ed è persistente.

I seguenti comandi possono essere utilizzati su una macchina linux locale per creare un'immagine disco del tuo NetScaler tramite SSH:

Crea un'immagine disco del disco /dev/da0 sulla tua macchina locale

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

Nota che questo può richiedere del tempo per essere completato. Non viene mostrato alcun progresso quando si utilizza dd. Si consiglia di attendere fino a quando non si riprende il controllo del prompt. Questo è un'indicazione che dd ha terminato.

Inoltre, se non hai /dev/da0, molto probabilmente è /dev/ada0; puoi verificarlo utilizzando il comando mount o gpart show.

Crea un'immagine disco del disco /dev/md0 sulla tua macchina locale

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

NOTA: Sebbene sia consigliato creare immagini disco sia di /dev/md0 che di /dev/da0, la creazione di un'immagine disco di /dev/md0 è facoltativa. Questo passaggio può essere saltato, anche se ciò può causare che iocitrix.py non rilevi alcuni indicatori di compromissione.

Esecuzione di iocitrix.py sulle tue immagini

Dopo aver eseguito i comandi precedenti sulla tua macchina locale, i file da0.img e md0.img saranno presenti. Puoi indicare a iocitrix questi file per iniziare il triage delle tue immagini. Utilizza il seguente comando per farlo:

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

Esempio di output:

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.
Scarica lo strumento