
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 do VMware vCenter Server em um laboratório doméstico isolado, para entender 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ítico) |
| 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 uma verificação de autenticação ausente 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 isso deveria ter sido prevenido e como detectar 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 requisição POST maliciosa para esse 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 dá ao atacante execução de código com os privilégios do serviço vCenter, efetivamente o controle total do appliance.
Em um nível alto, 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 de defesa (blue team) ou auditor) usando um script NSE público do Nmap que verifica se o endpoint de upload do alvo responde de maneira consistente com a vulnerabilidade sem patch — esse é o mesmo tipo de verificação que um scanner de vulnerabilidades ou uma equipe interna de segurança executaria para identificar instâncias vCenter expostas e sem patch na rede antes que um atacante o faça.
nmap -p443 --script CVE-2021-21972.nse <target-ip>
Um alvo vulnerável é sinalizado como VULNERABLE (Exploitable) na saída do scan, o que é o gatilho para priorizar a aplicação imediata do patch.
Um exploit de prova de conceito funcional para este CVE está publicamente disponível desde 2021 (originalmente publicado pelo pesquisador de segurança chacka0101, com link em Referências). No interesse de não distribuir um payload RCE pronto para execução a partir deste perfil, não estou reproduzindo o código do exploit aqui — o objetivo deste relatório é o entendimento, não a ferramenta. Em resumo, o exploit público automatiza os passos 2–3 acima: ele empacota um web shell JSP no formato de upload esperado, o envia via POST ao endpoint vulnerável, confirma que ele caiu em um caminho acessível pela web e então o usa para disparar uma shell reversa de volta para o atacante.
Este projeto foi conduzido em um ambiente de laboratório totalmente isolado e não produtivo, para fins educacionais e de desenvolvimento profissional. Nenhum sistema não autorizado foi acessado.