
Pacchetto Zeek per il rilevamento dei tentativi di exploit di CVE-2021-38647 (OMIGOD) monitorando il traffico OMI/WMI per header Authorization mancanti e payload SOAP dannosi, con porte configurabili e dati di triage per la risposta agli incidenti.
Un pacchetto Zeek che rileva i tentativi di exploit di CVE-2021-38647, noto anche come 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
L'exploit consiste semplicemente nell'omettere l'header Authorization; in breve, ecco l'immagine qui sotto.
Exploit in breve
Installalo come pacchetto Zeek in un ambiente live
zkg install corelight/CVE-2021-38647
OPPURE usa l'URL diretto.
zkg install https://github.com/corelight/CVE-2021-38647/
Usalo su un pcap che già possiedi
zeek -Cr scripts/__load__.zeek your.pcap
Questo pacchetto funziona in ambienti clustered o non clustered.
Le opzioni configurabili nello script omigod.zeek possono essere modificate per adattarsi alle tue esigenze implementative, come descritto di seguito.
Le porte TCP sono impostate sui valori predefiniti serviti da OMI. Aggiungi eventuali porte non predefinite al seguente set.
option OMI_ports = set(1270/tcp, 5985/tcp, 5986/tcp);
Per facilitare il triage IR degli avvisi EXPLOIT_REQUEST ed EXPLOIT_RESPONSE, il campo 'sub' includerà i primi 'bytes_of_data_in_notice' dell'avviso. Imposta questo valore su un numero alto per raccogliere l'intero payload: il valore predefinito di 10000 dovrebbe essere abbastanza alto da catturare tutti i dati rilevanti.
option bytes_of_data_in_notice = 10000;
Per facilitare il triage IR e l'hunting, un avviso separato 'EXPLOIT_ATTEMPT' includerà i nomi e i valori degli header del client nel campo 'sub' dell'avviso.
option raise_seperate_notice_for_missing_auth_header = T;
Usa la whitelist degli User-Agent con molta parsimonia per silenziare i falsi positivi del tuo scanner o di sistemi legittimi. Ricorda: un attaccante può semplicemente falsificare questo user-agent. Esempio:
option user_agent_whitelist = /^Microsoft WinRM Client$/;