Bug de zero-clique do zoom permite execução de código apenas enviando uma mensagem

Views: 769
0 0
Read Time:6 Minute, 17 Second

Uma cadeia de vulnerabilidades descoberta na funcionalidade de chat do Zoom pode ser explorada para permitir a execução de código remoto (RCE) com zero clique, revelaram caçadores de ameaças.

O Project Zero do Google descobriu um caminho de ataque que permitiria que adversários cibernéticos forçassem silenciosamente a vítima a se conectar a um servidor do Homem no Meio (MitM) — nenhuma ação do usuário necessária. A partir daí, os invasores podem interceptar e modificar solicitações e respostas de atualização do cliente a fim de enviar à vítima uma atualização maliciosa, que irá automaticamente baixar e executar, permitindo assim rce.

A única capacidade necessária para levar isso com sucesso é a capacidade de enviar mensagens à vítima durante o bate-papo do Zoom, observou o pesquisador do Project Zero Ivan Fratric em uma postagem que foi divulgada na terça-feira.

“Com a enorme popularidade e o amplo alcance do Zoom, qualquer vulnerabilidade que possa permitir um compromisso remoto como esse é preocupante”, diz Mike Parkin, engenheiro técnico sênior da Vulcan Cyber, ao Dark Reading. “Embora um ataque pareça exigir que o ator de ameaças esteja em uma chamada de Zoom ativa com o alvo, a grande prevalência da plataforma e o número de reuniões em grupo grandes significa que não deve ser difícil para um ator mal-intencionado encontrar vítimas adequadas.”

Bug xmpp “estrofe”

O zoom chat usa um protocolo de mensagens baseado no XML chamado XMPP. Fratric explicou que as mensagens são trocadas usando pequenos trechos de XML chamados “estrofes” que são enviados por um único fluxo para frente e para trás de cliente para servidor. O problema inicial é o fato de que o cliente e o servidor não se veem olho no olho ao interpretar se o código de mensagem está bem formado, levando a parsing de inconsistências.

“Os clientes usam a biblioteca gloox para análise XML … e o servidor do Zoom… usa fast_xml para análise XML, que por sua vez usa um analisador XML chamado Expat”, observou o pesquisador. “De fato, acontece que a Expat e a gloox analisam o XML de uma maneira diferente e (pelo menos uma) inconsistência explorável existe.”

Em questão está o fato de que o analisador expat do servidor é frouxo quando se trata de validar nomes de tag e atributos, disse Fratric. Especificamente, ele encaminhará nomes de tags contendo pontos de interrogação (ou seja, “<?xml ?>”) para o cliente, mesmo que não deva. E quando o analisador gloox do cliente ver a sequência de pontos de interrogação, ele redefinirá o estado de analisador para que qualquer coisa que venha depois disso será considerada um nó raiz legítimo da próxima estrofe.

Isso torna possível escapar da <messagem> garantias de tag, observou ele, para adicionar em qualquer conteúdo que o invasor gostaria: “A <message> tag aqui pode, é claro, ser substituída por <iq> ou qualquer outra tag e será aceita pelo cliente como os dados provenientes do servidor”. Ele chamou isso de “contrabando de estrofe”.

Uma vez que os invasores agora têm controle total sobre a tag de mensagem, isso também significa que eles podem manipular o atributo “de”, a fim de falsificar mensagens como se viesse de outro usuário. E, fratric observou, eles também podem levar os contatos da vítima a sites maliciosos para phishing ou ataques de malware drive-by. Isso é feito alterando a tag de integração de arquivos, para substituir sub-repticiamente a URL aberta quando o usuário deseja compartilhar um arquivo com outro usuário, usando Dropbox, Google Drive, SharePoint e outros serviços baseados em nuvem.

Alcançando o status de homem no meio 

O ataque MitM é realizado alterando a tag <se:erro>. Usando uma estrofe especialmente trabalhada, os maus atores podem criar “uma tarefa ‘ClusterSwitch’ no cliente Zoom, com um ‘domínio web’ controlado pelo invasor como parâmetro”, disse Fratric.

Para desencadear o ataque, os adversários podem simplesmente digitar e enviar uma mensagem para a vítima contendo a corda mágica “iddqd” na tag. Isso fará com que o cliente da vítima se conecte ao ponto final /clusterswitch no domínio fornecido pelo invasor, configurando assim a capacidade de ver e modificar o tráfego entre o cliente e o servidor Zoom Web.

“A partir do ponto final /clusterswitch, um cliente recebe uma lista de domínios para serem usados para vários serviços”, explicou Fratric. “Uma vez que o atacante já está na posição homem no meio, eles podem substituir qualquer um dos domínios por seus próprios, agindo como um proxy reverso e interceptando comunicações.”

Explorando o processo de atualização do cliente

A escalada para a execução arbitrária de códigos foi um próximo passo lógico, observou Fratric, dado que os clientes do Zoom consultarão periodicamente o ponto final da atualização do servidor Web do Zoom para ver se há algo novo para instalar.

“Como o invasor já está na posição mitm, eles podem, naturalmente, substituir esses pontos finais e servir dados arbitrários”, diz o pesquisador.

Fratric teve um problema aqui, porém: o cliente baixa dois arquivos como parte do processo de atualização, e verifica sua legitimidade — o arquivo “Instalador.exe” deve ser assinado por “Zoom Video Communications, Inc.” para começar; uma vez instalado, ele verifica o hash do segundo arquivo .cab.

No entanto, acontece que os atacantes podem contornar esses obstáculos com um ataque de rebaixamento.

“Servi Installer.exe e .cab da versão Zoom 4.4 (a partir de meados de 2019)”, explicou o pesquisador. “O instalador desta versão ainda está devidamente assinado; no entanto, ele não faz nenhuma verificação de segurança no arquivo .cab.”

Patch agora

Ao todo, a Fratric relatou um total de seis vulnerabilidades de segurança, incluindo quatro problemas específicos do Zoom corrigidos na versão 5.10.4 do cliente Zoom:

  • CVE-2022-22784 (análise XML inadequada)
  • CVE-2022-22786 (downgrade do pacote de atualização),
  • CVE-2022-22787 (validação insuficiente do nome do host),
  • CVE-2022-22785 (cookies de sessão inadequadamente restritos)

Infelizmente, há também um problema na cadeia de fornecimento de software no trabalho: os outros dois (CVE-2022-25235, CVE-2022-25236) afetam o analisador Expat, que é de código aberto e usado em muitos outros aplicativos, incluindo produtos de ArubaF5IBM e Oracle, bem como o Distr Linux do Red Hat. Eles estão corrigidos na versão 2.4.5 da Expat.

“Algumas ou todas as partes da cadeia são provavelmente aplicáveis a outras plataformas”, disse Fratric.

O Zoom tornou-se um alvo popular para “Zoom-bombing” e outros ataques na esteira da onda de trabalho de casa durante a pandemia, questionando a segurança da plataforma e suas práticas de criptografia. A empresa implementou uma série de mudanças de segurança para corresponder ao seu status aumentado, mas, no entanto, bugs como esses são um pouco inevitáveis, observaram os pesquisadores.

“Em 2020, todos nós instantaneamente nos tornamos hiperconectares à Internet… assim como todos os sistemas que usamos”, diz Mark Lambert, vice-presidente de produtos da ArmorCode, ao Dark Reading. “Dois anos depois, e é claro que não há como olhar para trás. Infelizmente, esses tipos de vulnerabilidades são inevitáveis dada a velocidade que o software é lançado para atingir as metas de negócios. A única maneira de nos protegermos é detectar o mais rápido possível e reagir ainda mais rápido.”

Gerenciar o volume de vulnerabilidades e alertas de software é um desafio difícil para os desenvolvedores, observa. “A única maneira de eles acompanharem o ritmo de entrega é operacionalizar a segurança do aplicativo e incorporá-la em seu pipeline DevOps.”

FONTE: DARK READING

POSTS RELACIONADOS