
Citrix ADC / NetScaler ADC और Gateway बिल्ड्स की निष्क्रिय रूप से फिंगरप्रिंटिंग करें और ज्ञात CVE का पता लगाएं — CVE-2023-3519, CitrixBleed 2/3, CVE-2026-8452, और CVE-2026-88771/88772 (KEV)
citrixInspector.py (पूर्व में cve_2023_3519_inspector.py) Citrix ADC / Citrix Gateway / NetScaler ADC / NetScaler Gateway उपकरणों के लिए एक Python-आधारित, निष्क्रिय भेद्यता स्कैनर है। यह बिना प्रमाणीकरण के लक्ष्य के सटीक फर्मवेयर बिल्ड की फिंगरप्रिंटिंग करता है, और उस बिल्ड के प्रति भेद्य प्रत्येक ज्ञात CVE की रिपोर्ट करता है।
⚠️ बीटा: नए 2025/2026 CVE (CitrixBleed 2/3, CVE-2026-8452, CVE-2026-88771/88772) के लिए डिटेक्शन बीटा में है। यह GZIP-टाइमस्टैम्प या vhash तकनीकों के माध्यम से सटीक फर्मवेयर बिल्ड की फिंगरप्रिंटिंग कर पाने पर निर्भर करता है; जब किसी लक्ष्य पर इनमें से कोई भी काम नहीं करता, तो स्कैनर बहुत मोटे, केवल-CVE-2023-3519 ह्यूरिस्टिक पर वापस चला जाता है और नए CVE को बिल्कुल भी फ्लैग नहीं करेगा (नीचे Checks Performed अनुभाग देखें)। नए CVE के परिणामों को केवल सूचनात्मक मानें।

आउटपुट एक सिम्युलेटेड टेस्ट हार्नेस के विरुद्ध चलाया गया था। होस्टनाम केवल एक प्लेसहोल्डर है।
cve_2023_3519_inspector.py का नाम बदलकर citrixInspector.py कर दिया गया।/vpn/js/rdx/core/lang/rdx_en.json.gz) को प्राथमिक, सबसे विश्वसनीय अन-प्रमाणित बिल्ड-पहचान तकनीक के रूप में जोड़ा गया, क्योंकि आधुनिक बिल्ड पर लेगेसी v=<hash> स्टैटिक रिसोर्स हैश "अब हमेशा मौजूद नहीं रहता"।Last-Modified हेडर से अनुमान लगाना) को, जब भी सटीक बिल्ड ज्ञात हो, सटीक संस्करण-थ्रेशोल्ड तुलना से बदल दिया गया, और केवल तब मूल ह्यूरिस्टिक पर वापस जाता है जब कोई बिल्ड पहचाना न जा सके।इस स्क्रिप्ट के लिए Python 3.6+ और निम्नलिखित Python पैकेज आवश्यक हैं:
आवश्यक पैकेज इंस्टॉल करने के लिए, चलाएँ:
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.
citrixInspector.py स्क्रिप्ट इनपुट के रूप में या तो एकल URL या URL की सूची वाली फ़ाइल स्वीकार कर सकती है। फिर यह दिए गए Citrix/NetScaler Gateway की संभावित भेद्यता निर्धारित करने के लिए कई जाँचें करती है:
# 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
आउटपुट के लिए लॉग फ़ाइल निर्दिष्ट करने के लिए, --log विकल्प का उपयोग करें:
python citrixInspector.py --url https://example.com --log my_log.log
सहायता के लिए:
python citrixInspector.py --help
citrixInspector.py स्क्रिप्ट लक्ष्य वेबसाइटों पर निम्नलिखित जाँचें करती है:
/vpn/js/rdx/core/lang/rdx_en.json.gz के GZIP MTIME हेडर फ़ील्ड (RFC 1952) को पढ़ती है, जो फर्मवेयर कंपाइल समय पर सेट होता है और सटीक बिल्ड की विशिष्ट रूप से पहचान करता है। यह Fox-IT Security Research Team की वर्तमान अनुशंसित तकनीक है, क्योंकि नीचे दी गई vhash तकनीक आधुनिक बिल्ड पर "अब हमेशा मौजूद नहीं रहती"।v=<md5> हैश की उपस्थिति की जाँच करती है। यह 2022 में Fox-IT (NCC Group) के अद्भुत कार्य पर आधारित है:
https://blog.fox-it.com/2022/12/28/cve-2022-27510-cve-2022-27518-measuring-citrix-adc-gateway-version-adoption-on-the-internet/जब भी किसी सटीक बिल्ड की पहचान की जा सकती है (GZIP-टाइमस्टैम्प जाँच, vhash जाँच, या pluginlist.xml के माध्यम से), स्क्रिप्ट उस बिल्ड को नीचे दी गई तालिका में प्रत्येक CVE के विरुद्ध जाँचती है और सभी लागू होने वाले की रिपोर्ट करती है ([CERTAIN])। जब कोई सटीक बिल्ड पहचाना नहीं जा सकता, तो यह मूल title/icon/comment/header ह्यूरिस्टिक ([FIRM] / [TENTATIVE] / [CITRIX DETECTED]) पर वापस चली जाती है, जो पहले की तरह केवल CVE-2023-3519 तक सीमित है।
| CVE | विवरण | में ठीक किया गया |
|---|---|---|
| CVE-2023-3519 | अन-प्रमाणित RCE (स्टैक ओवरफ़्लो) | 13.0-91.13 / 13.1-49.13 |
| CVE-2025-5349 / CVE-2025-5777 | "CitrixBleed 2" - मेमोरी डिस्क्लोज़र | 14.1-43.56 / 13.1-58.32 |
| CVE-2025-6543 | मेमोरी ओवरफ़्लो (Gateway), जंगल में शोषित | 14.1-47.46 / 13.1-59.19 |
| CVE-2025-7775 / CVE-2025-7776 / CVE-2025-8424 | "CitrixBleed 3" | 14.1-47.48 / 13.1-59.22 |
| CVE-2026-8452 | प्री-ऑथ SAML PrefixList हीप ओवरफ़्लो (SAML SP/IdP कॉन्फ़िग आवश्यक) | 14.1-72.61 / 13.1-63.18 |
| CVE-2026-88771 / CVE-2026-88772 | प्री-ऑथ कमांड इंजेक्शन / DTLS मेमोरी ओवरफ़्लो — सक्रिय रूप से शोषित, CISA KEV में | 14.1-73.37 / 13.1-64.23 |
वे सभी ब्रांच जो किसी फिक्स जारी होने से पहले End-Of-Life तक पहुँच गईं (11.1, 12.1 non-FIPS/NDcPP, 13.0), ऊपर दिए गए प्रत्येक CVE के प्रति भेद्य के रूप में रिपोर्ट की जाती हैं। FIPS/NDcPP बिल्ड (12.1-55.x, 13.1-37.x) की जाँच उनके अपने, अलग से प्रकाशित फिक्स बिल्ड के विरुद्ध की जाती है।