.

Imagens Getty
Uma vulnerabilidade que permite que invasores contornem a autenticação multifator e acessem redes corporativas usando hardware vendido pela Citrix está sendo explorada em massa por hackers de ransomware, apesar de um patch estar disponível há três semanas.
Citrix Bleed, o nome comum para a vulnerabilidade, carrega uma classificação de gravidade de 9,4 em 10 possíveis, uma designação relativamente alta para um mero bug de divulgação de informações. O motivo: as informações divulgadas podem incluir tokens de sessão, que o hardware atribui a dispositivos que já forneceram credenciais com sucesso, incluindo aqueles que fornecem MFA. A vulnerabilidade, rastreada como CVE-2023-4966 e residente no NetScaler Application Delivery Controller e NetScaler Gateway da Citrix, está sob exploração ativa desde agosto. A Citrix lançou um patch em 10 de outubro.
Repita: isso não é um exercício
Os ataques só aumentaram recentemente, o que levou o investigador de segurança Kevin Beaumont a declarar no sábado: “Esta vulnerabilidade está agora sob exploração em massa”. Ele prosseguiu dizendo: “Ao conversar com várias organizações, elas estão vendo uma exploração generalizada”.
Ele disse que até sábado encontrou cerca de 20.000 casos de dispositivos Citrix explorados onde tokens de sessão foram roubados. Ele disse que sua estimativa foi baseada na operação de um honeypot de servidores que se disfarçam como dispositivos Netscaler vulneráveis para rastrear ataques oportunistas na Internet. Beaumont então comparou esses resultados com outros dados, incluindo alguns fornecidos pela Netflow e pelo mecanismo de busca Shodan.
Enquanto isso, GreyNoise, uma empresa de segurança que também implanta honeypots, estava mostrando explorações para CVE-2023-4966 provenientes de 135 endereços IP quando esta postagem foi publicada no Ars. Isso representa um aumento de 27 vezes em relação aos cinco IPs detectados pela GreyNoise há cinco dias.
Os números mais recentes disponibilizados pela organização de segurança Shadowserver mostraram que havia cerca de 5.500 dispositivos sem patch. Beaumont reconheceu que a estimativa está em desacordo com a sua estimativa de 20.000 dispositivos comprometidos. Não está imediatamente claro o que estava causando a discrepância.
A vulnerabilidade é relativamente fácil de ser explorada por pessoas experientes. Uma simples engenharia reversa do patch lançado pela Citrix mostra as funções que são vulneráveis e, a partir daí, não é difícil escrever código que as explore. Para tornar os ataques ainda mais fáceis, algumas explorações de prova de conceito estão disponíveis online.
Numa análise técnica detalhada, os pesquisadores da Assetnote escreveram:
Encontramos duas funções que se destacaram
ns_aaa_oauth_send_openid_config
ens_aaa_oauthrp_send_openid_config
. Ambas as funções executam uma operação semelhante, elas implementam o endpoint OpenID Connect Discovery. As funções são acessíveis não autenticadas através do/oauth/idp/.well-known/openid-configuration
e/oauth/rp/.well-known/openid-configuration
pontos finais respectivamente.Ambas as funções também incluíram o mesmo patch, uma verificação adicional de limites antes de enviar a resposta. Isso pode ser visto nos trechos abaixo mostrando o antes e depois de
ns_aaa_oauth_send_openid_config
.Original
Remendado
A função é bastante simples, ela gera uma carga JSON para a configuração do OpenID e usa
snprintf
para inserir o nome do host do dispositivo nos locais apropriados na carga útil. Na versão original, a resposta é enviada imediatamente. Na versão corrigida, a resposta só é enviada sesnprintf
retorna um valor menor que0x20000
.A vulnerabilidade ocorre porque o valor de retorno de
snprintf
é usado para determinar quantos bytes são enviados ao cliente porns_vpn_send_response
. Isto é um problema porquesnprintf
não retorna quantos bytes ele fez escrever no buffer,snprintf
retorna quantos bytes ele teria gravado no buffer se o buffer fosse grande o suficiente.Para explorar isso, tudo o que precisávamos fazer era descobrir como fazer com que a resposta excedesse o tamanho do buffer de
0x20000
bytes. O aplicativo responderia então com o buffer completamente preenchido, mais qualquer memória imediatamente após oprint_temp_rule
amortecedor.Explorando o endpoint
Inicialmente pensamos que o endpoint provavelmente não seria explorável. Os únicos dados inseridos foram o nome do host, que precisava de acesso de administrador para ser configurado. Felizmente para nós, erramos e o valor inserido na carga útil não veio do nome do host configurado. Na verdade, veio do HTTP
Host
cabeçalho.Também tivemos a sorte de o NetScaler inserir o nome do host na carga útil seis vezes, pois isso significava que poderíamos atingir o limite de buffer de
0x20000
bytes sem ter problemas porque oHost
cabeçalho ou toda a solicitação era muito longa.Reunimos a seguinte solicitação e a enviamos para nossa instância do NetScaler.
Recebemos a resposta mostrada abaixo com os caracteres não imprimíveis removidos.
Pudemos ver claramente muito vazamento de memória imediatamente após a carga JSON. Embora muitos deles fossem bytes nulos, havia algumas informações suspeitas na resposta.
O nome Citrix Bleed é uma alusão ao Heartbleed, uma vulnerabilidade diferente de divulgação de informações críticas que virou a Internet de cabeça para baixo em 2014. Essa vulnerabilidade, que residia na biblioteca de códigos OpenSSL, foi explorada em massa e permitiu o roubo de senhas e chaves de criptografia. , credenciais bancárias e todos os tipos de outras informações confidenciais. Citrix Bleed não é tão terrível porque há menos dispositivos vulneráveis em uso.
Mas Citrix Bleed ainda é muito ruim. As organizações devem considerar que todos os dispositivos Netscaler foram comprometidos. Isso significa corrigir quaisquer dispositivos restantes sem patch. Em seguida, todas as credenciais devem ser alternadas para garantir que quaisquer tokens de sessão que possam ter vazado sejam invalidados. Por último, as organizações devem inspecionar os seus dispositivos e infraestrutura em busca de sinais de comprometimento. A empresa de segurança Mandiant oferece orientações detalhadas sobre segurança aqui.
.