
Huella pasiva de compilaciones de Citrix ADC / NetScaler ADC & Gateway y detección de CVE conocidos — CVE-2023-3519, CitrixBleed 2/3, CVE-2026-8452 y CVE-2026-88771/88772 (KEV)
citrixInspector.py (anteriormente cve_2023_3519_inspector.py) es un escáner de vulnerabilidades pasivo basado en Python para dispositivos Citrix ADC / Citrix Gateway / NetScaler ADC / NetScaler Gateway. Identifica la compilación de firmware exacta de un objetivo sin autenticación y reporta cada CVE conocido al que esa compilación es vulnerable.
⚠️ Beta: La detección de los CVE más recientes de 2025/2026 (CitrixBleed 2/3, CVE-2026-8452, CVE-2026-88771/88772) está en beta. Depende de poder identificar la compilación de firmware exacta mediante las técnicas de marca de tiempo GZIP o vhash; cuando ninguna de las dos funciona en un objetivo, el escáner recurre a una heurística mucho más burda, limitada a CVE-2023-3519, y no marcará los CVE más recientes en absoluto (véase la sección Checks Performed a continuación). Trate los resultados de los CVE más recientes únicamente como informativos.

La salida se ejecutó contra un entorno de pruebas simulado. El nombre de host es solo un marcador de posición.
cve_2023_3519_inspector.py a citrixInspector.py para reflejar su alcance más amplio y multi-CVE./vpn/js/rdx/core/lang/rdx_en.json.gz) como la técnica principal y más fiable de identificación de compilación sin autenticación, ya que el hash de recurso estático heredado v=<hash> "ya no siempre está presente" en las compilaciones modernas.Last-Modified de la página) por una comparación precisa de umbral de versión siempre que se conoce una compilación exacta, recurriendo a la heurística original solo cuando no se puede identificar ninguna compilación.Este script requiere Python 3.6+ y los siguientes paquetes de Python:
Para instalar los paquetes requeridos, ejecute:
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.
El script citrixInspector.py puede aceptar una única URL o un archivo con una lista de URLs como entrada. Luego realiza una serie de comprobaciones para determinar la posible vulnerabilidad de los Citrix/NetScaler Gateways dados:
# 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
Para especificar un archivo de registro para la salida, use la opción --log:
python citrixInspector.py --url https://example.com --log my_log.log
Para obtener ayuda:
python citrixInspector.py --help
El script citrixInspector.py realiza las siguientes comprobaciones en los sitios web objetivo:
MTIME de GZIP (RFC 1952) de /vpn/js/rdx/core/lang/rdx_en.json.gz, que se establece en el momento de compilación del firmware e identifica de forma única la compilación exacta. Esta es la técnica actual recomendada por el Fox-IT Security Research Team, ya que la técnica vhash que se describe a continuación "ya no siempre está presente" en las compilaciones modernas.v=<md5> en las URLs de recursos estáticos incrustadas en el contenido HTML. Esto se basa en el increíble trabajo de Fox-IT (NCC Group) en 2022:
https://blog.fox-it.com/2022/12/28/cve-2022-27510-cve-2022-27518-measuring-citrix-adc-gateway-version-adoption-on-the-internet/Siempre que se pueda identificar una compilación exacta (mediante la comprobación de marca de tiempo GZIP, la comprobación vhash o pluginlist.xml), el script verifica esa compilación contra cada CVE de la tabla siguiente y reporta todos los que apliquen ([CERTAIN]). Cuando no se puede identificar ninguna compilación exacta, recurre a las heurísticas originales de título/icono/comentario/encabezado ([FIRM] / [TENTATIVE] / [CITRIX DETECTED]), limitadas únicamente a CVE-2023-3519 como antes.