
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는 전혀 플래그하지 않습니다(아래 "수행되는 검사" 섹션 참조). 최신 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]). 정확한 빌드를 식별할 수 없으면, 원래의 제목/아이콘/주석/헤더 휴리스틱([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 비-FIPS/NDcPP, 13.0)는 위의 모든 CVE에 취약한 것으로 보고됩니다. FIPS/NDcPP 빌드(12.1-55.x, 13.1-37.x)는 별도로 공개된 자체 수정 빌드와 대조하여 검사됩니다.
신뢰할 수 있고 공개적으로 문서화된 버전 임계값이 있는 CVE만 포함됩니다. CTX697096 및 CTX696604 게시판의 다른 여러 CVE(예: CVE-2026-88773–88778)는 적용 가능성을 판단하기 위해 인증된 구성 검사가 필요하며, 이 수동적 스캐너의 범위에서 의도적으로 제외됩니다.
Last-Modified 헤더 패치 휴리스틱:
https://github.com/telekom-security/cve-2023-3519-citrix-scannerPull request를 환영합니다. 주요 변경 사항의 경우, 먼저 이슈를 열어 변경하고자 하는 내용을 논의해 주십시오.
이 프로젝트는 교육 및 윤리적 테스트 목적으로만 제작되었습니다. 사전 상호 동의 없이 대상을 공격하기 위해 citrixInspector를 사용하는 것은 불법입니다. 모든 관련 지역, 주 및 연방 법률을 준수하는 것은 최종 사용자의 책임입니다. 개발자는 이 프로그램으로 인해 발생하는 어떠한 오용이나 손해에 대해서도 책임을 지지 않습니다.
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여됩니다.
Bryan Smith