Vulnerabilidade explorada remotamente no agente OMI imposta em ambientes Microsoft Azure Linux

Os clientes da plataforma de nuvem Microsoft Azure que usam Linux em máquinas virtuais encontraram uma vulnerabilidade crítica (CVE-2021-38647) que permite a execução remota de código como root. A vulnerabilidade recebeu o codinome OMIGOD e é notável pelo fato de o problema estar presente no aplicativo OMI Agent, que é silenciosamente instalado em ambientes Linux.

O OMI Agent é instalado e ativado automaticamente ao usar serviços como Azure Automation, Azure Automatic Update, Azure Operations Management Suite, Azure Log Analytics, Azure Configuration Management, Azure Diagnostics e Azure Container Insights. Por exemplo, ambientes Linux no Azure para os quais o monitoramento está habilitado estão sujeitos ao ataque. O agente faz parte do pacote aberto OMI (Open Management Infrastructure Agent) com a implementação da pilha DMTF CIM/WBEM para gerenciamento de infraestrutura de TI.

O Agente OMI é instalado no sistema sob o usuário omsagent e cria configurações em /etc/sudoers para executar uma série de scripts como root. Durante a operação de alguns serviços, soquetes de rede de escuta são criados nas portas de rede 5985, 5986 e 1270. A varredura no serviço Shodan mostra a presença de mais de 15 mil ambientes Linux vulneráveis ​​na rede. Atualmente, um protótipo funcional do exploit já foi colocado em domínio público, permitindo que você execute seu código como root nesses sistemas.

O problema é agravado pelo fato de o Azure não documentar explicitamente o uso do OMI e o OMI Agent ser instalado sem aviso - basta concordar com os termos do serviço selecionado ao configurar o ambiente e o OMI Agent será ativado automaticamente, ou seja a maioria dos usuários nem está ciente de sua presença.

O método de exploração é trivial - basta enviar uma requisição XML ao agente, retirando o cabeçalho responsável pela autenticação. A OMI utiliza autenticação ao receber mensagens de controle, verificando se o cliente está autorizado a enviar um determinado comando. A essência da vulnerabilidade é que quando o cabeçalho “Authentication” responsável pela autenticação é removido da mensagem, o servidor considera a verificação bem-sucedida, aceita a mensagem de controle e permite a execução de comandos com direitos de root. Para executar comandos arbitrários no sistema, basta utilizar o comando padrão ExecuteShellCommand_INPUT na mensagem. Por exemplo, para executar o utilitário "id", basta enviar uma solicitação: curl -H "Content-Type: application/soap+xml;charset=UTF-8" -k --data-binary "@http_body. txt" https://10.0.0.5:5986/wsman … eu ia 3

A Microsoft já lançou a atualização do OMI 1.6.8.1 com a correção da vulnerabilidade, mas ainda não foi trazida para os usuários do Microsoft Azure (em novos ambientes, a versão antiga do OMI ainda está sendo instalada). A atualização automática do agente não é suportada, então os usuários precisam atualizar manualmente o pacote usando "dpkg -l omi" no Debian/Ubuntu ou "rpm -qa omi" no Fedora/RHEL. Como solução alternativa de segurança, é recomendável bloquear o acesso às portas de rede 5985, 5986 e 1270.

Além do CVE-2021-38647, o OMI 1.6.8.1 também corrige três vulnerabilidades (CVE-2021-38648, CVE-2021-38645 e CVE-2021-38649) que podem permitir que um usuário local sem privilégios execute seu código como root .

Fonte: opennet.ru

Adicionar um comentário