
Relatório de pesquisa em laboratório isolado para VMware vCenter Server CVE-2021-21972, cobrindo upload arbitrário de arquivos não autenticado até RCE, detecção baseada em Nmap, cadeia de exploração e mitigações.
Autor: Niranjan Pokhrel
Projeto de pesquisa independente que reproduz e documenta uma vulnerabilidade crítica e publicamente divulgada no VMware vCenter Server em um laboratório doméstico isolado, para compreender a classe de vulnerabilidade, o caminho de exploração e as mitigações defensivas.
| CVE | CVE-2021-21972 |
| Pontuação Base CVSSv3 | 9.8 (Crítica) |
| Aviso do Fornecedor | VMSA-2021-0002 |
| Produto Afetado | VMware vCenter Server 6.5 / 6.7 / 7.0 |
| Classe de Vulnerabilidade | Upload arbitrário de arquivos sem autenticação → Execução Remota de Código |
| Status | Corrigido pela VMware (nov. 2020 – fev. 2021). O laboratório usou versões intencionalmente desatualizadas e isoladas apenas para fins de pesquisa. |
O vCenter Server é o plano de gerenciamento central da infraestrutura virtualizada da VMware — comprometê-lo pode significar comprometer um data center virtual inteiro. Esta vulnerabilidade é um exemplo clássico de como a ausência de uma verificação de autenticação em um único endpoint de plugin pode escalar para a tomada total do host. Construí este laboratório para ir além da leitura de um aviso de CVE e realmente entender a superfície de ataque, a cadeia de exploração e — igualmente importante — como ela deveria ter sido prevenida e como detectá-la defensivamente.
A vulnerabilidade reside no vSphere Client (HTML5), especificamente em um plugin do vCenter Server
que expõe um endpoint de upload de arquivos (/ui/vropspluginui/rest/services/uploadova) sem
exigir autenticação. Um atacante com acesso de rede à porta 443 pode enviar uma solicitação
POST manipulada para este endpoint e fazer upload de arquivos arbitrários — incluindo um web shell — para um
diretório acessível pela web no sistema operacional subjacente. Isso concede ao atacante execução de código com
os privilégios do serviço vCenter, efetivamente controle total do appliance.
Em um nível geral, a cadeia de ataque é:
Construído inteiramente em uma rede virtual isolada, sem acesso à internet e sem dados de produção:
(Endereçamento IP específico, credenciais e detalhes de infraestrutura da construção original foram intencionalmente omitidos deste relatório público.)
A presença da vulnerabilidade pode ser confirmada defensivamente (ou seja, por uma equipe azul ou auditor) verificando se o endpoint de upload do alvo responde de maneira consistente com a vulnerabilidade sem patch — este é o mesmo tipo de verificação que um scanner de vulnerabilidades ou uma equipe de segurança interna executaria para identificar instâncias vCenter expostas e sem patch em sua rede antes que um atacante o faça.
Um script público de detecção NSE do Nmap para este CVE está disponível em vários repositórios de segurança de código aberto; ele não é reproduzido aqui, em conformidade com o foco deste README em documentação, em vez de distribuir ferramentas de varredura/exploração prontas para uso. No laboratório, um alvo vulnerável foi sinalizado como VULNERABLE (Exploitable) na saída da varredura, o que é o gatilho para priorizar a aplicação imediata do patch.
Uma prova de conceito funcional de exploração para este CVE está publicamente disponível desde 2021, após sua descoberta por Mikhail Klyuchnikov da Positive Technologies; no interesse de não distribuir um payload RCE pronto para execução a partir deste perfil, não estou reproduzindo código de exploração aqui — o foco deste relatório é a compreensão, não a ferramenta. Em resumo, a exploração pública automatiza as etapas 2–3 acima: ela empacota um web shell JSP no formato de upload esperado, o envia via POST para o endpoint vulnerável, confirma que ele chegou a um caminho acessível pela web e, em seguida, o utiliza para acionar um reverse shell de volta ao atacante.
Este projeto foi conduzido em um ambiente de laboratório totalmente isolado e sem produção, para fins educacionais e de desenvolvimento profissional. Nenhum sistema não autorizado foi acessado.