
Zeek paquet détectant les tentatives d'exploitation de CVE-2021-38647 (OMIGOD) en surveillant le trafic OMI/WMI pour l'absence d'en-têtes Authorization et les charges utiles SOAP malveillantes, avec des ports configurables et des données de triage de réponse aux incidents.
Un package Zeek qui détecte les tentatives d'exploitation de CVE-2021-38647 alias 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'exploitation consiste simplement à omettre l'en-tête Authorization, image tl;dr ci-dessous.
Exploitation tl;dr
Installez comme un package Zeek dans un environnement live
zkg install corelight/CVE-2021-38647
OU utilisez l'URL directe.
zkg install https://github.com/corelight/CVE-2021-38647/
Utilisation sur un pcap que vous possédez déjà
zeek -Cr scripts/__load__.zeek your.pcap
Ce package fonctionnera dans des environnements clusterisés ou non.
Les options configurables dans le script omigod.zeek peuvent être modifiées en fonction de vos besoins d'implémentation, comme décrit ci-dessous.
Les ports TCP sont définis par défaut comme ceux servis par OMI. Ajoutez tout port non par défaut dans l'ensemble suivant.
option OMI_ports = set(1270/tcp, 5985/tcp, 5986/tcp);
Pour faciliter le tri IR des notices EXPLOIT_REQUEST et EXPLOIT_RESPONSE, le champ 'sub' inclura les premiers 'bytes_of_data_in_notice' de la notice. Définissez un nombre élevé pour collecter toute la charge utile – la valeur par défaut de 10000 devrait être suffisante pour capturer toutes les données pertinentes.
option bytes_of_data_in_notice = 10000;
Pour faciliter le tri IR et la chasse, une notice séparée 'EXPLOIT_ATTEMPT' inclura les noms et valeurs des en-têtes client dans le champ 'sub' de la notice.
option raise_seperate_notice_for_missing_auth_header = T;
Utilisez très parcimonieusement la liste blanche User-Agent pour faire taire les faux positifs de votre propre scanner ou de systèmes légitimes. Rappelez-vous qu'un attaquant peut simplement usurper cet user-agent. Exemple :
option user_agent_whitelist = /^Microsoft WinRM Client$/;