
Pacote Zeek que detecta tentativas de exploração da CVE-2021-38647 (OMIGOD) ao monitorar tráfego OMI/WMI em busca de cabeçalhos Authorization ausentes e cargas SOAP maliciosas, com portas configuráveis e dados de triagem de resposta a incidentes.
Um pacote Zeek que detecta tentativas de exploração da CVE-2021-38647, também conhecida como OMIGOD.
https://corelight.com/blog/detecting-cve-2021-38647-omigod
https://www.wiz.io/blog/omigod-critical-vulnerabilities-in-omi-azure
https://msrc.microsoft.com/update-guide/vulnerability/CVE-2021-38647
A exploração envolve simplesmente omitir o cabeçalho Authorization, imagem resumida abaixo.
Resumo do exploit
Instale como um pacote Zeek em um ambiente ativo
zkg install corelight/CVE-2021-38647
OU use o URL direto.
zkg install https://github.com/corelight/CVE-2021-38647/
Use contra um pcap que você já possui
zeek -Cr scripts/__load__.zeek your.pcap
Este pacote funcionará em ambientes clusterizados ou não.
As opções configuráveis no script omigod.zeek podem ser alteradas para atender às suas necessidades de implementação, conforme descrito abaixo.
As portas TCP são definidas como os padrões servidos pelo OMI. Adicione quaisquer portas não padrão ao seguinte conjunto.
option OMI_ports = set(1270/tcp, 5985/tcp, 5986/tcp);
Para auxiliar na triagem de IR dos avisos EXPLOIT_REQUEST e EXPLOIT_RESPONSE, o campo 'sub' incluirá os primeiros 'bytes_of_data_in_notice' no aviso. Defina isso para um número alto para coletar toda a carga útil - o padrão de 10000 deve ser alto o suficiente para capturar todos os dados relevantes.
option bytes_of_data_in_notice = 10000;
Para auxiliar na triagem e caça de IR, um aviso separado 'EXPLOIT_ATTEMPT' incluirá os nomes e valores dos cabeçalhos do cliente no campo 'sub' do aviso.
option raise_seperate_notice_for_missing_auth_header = T;
Use a lista de permissão de User-Agent com muita moderação para silenciar falsos positivos do seu próprio scanner ou de sistemas legítimos. Lembre-se, um invasor pode simplesmente falsificar este user-agent. Exemplo:
option user_agent_whitelist = /^Microsoft WinRM Client$/;