
Fingerprint passivo delle build Citrix ADC / NetScaler ADC & Gateway e rilevamento delle CVE note — CVE-2023-3519, CitrixBleed 2/3, CVE-2026-8452 e CVE-2026-88771/88772 (KEV)
citrixInspector.py (precedentemente cve_2023_3519_inspector.py) è uno scanner di vulnerabilità passivo basato su Python per appliance Citrix ADC / Citrix Gateway / NetScaler ADC / NetScaler Gateway. Identifica l'esatta build firmware di un target senza autenticazione e segnala ogni CVE nota a cui quella build è vulnerabile.
⚠️ Beta: Il rilevamento per le CVE più recenti del 2025/2026 (CitrixBleed 2/3, CVE-2026-8452, CVE-2026-88771/88772) è in beta. Si basa sulla capacità di identificare l'esatta build firmware tramite le tecniche del timestamp GZIP o vhash; quando nessuna delle due funziona su un target, lo scanner ricade su un'euristica molto più grossolana, limitata a CVE-2023-3519, e non segnalerà affatto le CVE più recenti (vedere la sezione Checks Performed di seguito). Trattare i risultati per le CVE più recenti come puramente informativi.

L'output è stato eseguito contro un test harness simulato. L'hostname è solo un segnaposto.
cve_2023_3519_inspector.py in citrixInspector.py per riflettere la sua portata più ampia e multi-CVE./vpn/js/rdx/core/lang/rdx_en.json.gz) come tecnica primaria
e più affidabile di identificazione della build senza autenticazione, poiché l'hash legacy della risorsa statica v=<hash> "non è più sempre presente" sulle build moderne.Last-Modified della pagina) con un
confronto preciso delle soglie di versione ogni volta che una build esatta è nota, ricadendo sull'euristica originale solo quando nessuna build può essere identificata.Questo script richiede Python 3.6+ e i seguenti pacchetti Python:
Per installare i pacchetti richiesti, eseguire:
git clone https://github.com/securekomodo/citrixInspector.git
cd citrixInspector
pip install -r requirements.txt
python citrixInspector.py -u <target_url>
Author: Bryan Smith (@securekomodo)
------------------------
_________ .__ __ .__
\_ ___ \|__|/ |________|__|__ ___
/ \ \/| \ __\_ __ \ \ \/ /
\ \___| || | | | \/ |> <
\______ /__||__| |__| |__/__/\_ \
\/ \/
.___ __
| | ____ ____________ ____ _____/ |_ ___________
| |/ \ / ___/\____ \_/ __ \_/ ___\ __\/ _ \_ __ \
| | | \___ \ | |_> > ___/\ \___| | ( <_> ) | \/
|___|___| /____ >| __/ \___ >\___ >__| \____/|__|
\/ \/ |__| \/ \/
citrixInspector
------------------------
usage: citrixInspector.py [-h] (-u URL | -f FILE) [--ioc-check] [-l LOG]
Fingerprint and check Citrix ADC / NetScaler ADC & Gateway for known CVEs.
optional arguments:
-h, --help show this help message and exit
-u URL, --url URL The URL of the Citrix/NetScaler Gateway to check.
-f FILE, --file FILE A file containing a list of URLs to check.
--ioc-check Slower. Performs IOC (Indicator of Compromise) check.
-l LOG, --log LOG Log file to write the output.
Lo script citrixInspector.py può accettare come input un singolo URL o un file con un elenco di URL. Esegue quindi una serie di controlli per determinare la potenziale vulnerabilità dei Citrix/NetScaler Gateway specificati:
# Check a single URL
python citrixInspector.py --url https://example.com
# Check multiple URLs from a file
python citrixInspector.py --file urls.txt
# Check multiple URLs from a file and check for IOCs
python citrixInspector.py --file urls.txt --ioc-check
Per specificare un file di log per l'output, usare l'opzione --log:
python citrixInspector.py --url https://example.com --log my_log.log
Per l'aiuto:
python citrixInspector.py --help
Lo script citrixInspector.py esegue i seguenti controlli sui siti web target:
MTIME (RFC 1952)
di /vpn/js/rdx/core/lang/rdx_en.json.gz, che viene impostato al momento della compilazione del firmware e identifica
in modo univoco l'esatta build. Questa è la tecnica attualmente raccomandata dal Fox-IT Security
Research Team, poiché la tecnica vhash di seguito "non è più sempre presente" sulle build moderne.v=<md5>
negli URL delle risorse statiche incorporate nel contenuto HTML. Questo si basa sullo straordinario lavoro
di Fox-IT (NCC Group) risalente al 2022:
https://blog.fox-it.com/2022/12/28/cve-2022-27510-cve-2022-27518-measuring-citrix-adc-gateway-version-adoption-on-the-internet/Ogni volta che una build esatta può essere identificata (tramite il controllo del timestamp GZIP, il controllo vhash o
pluginlist.xml), lo script verifica quella build rispetto a ogni CVE nella tabella sottostante e segnala tutte
quelle applicabili ([CERTAIN]). Quando nessuna build esatta può essere identificata, ricade sulle euristiche originali
basate su titolo/icona/commento/header ([FIRM] / [TENTATIVE] / [CITRIX DETECTED]), limitate solo a
CVE-2023-3519 come prima.