
OMIGOD! OM I GOOD? Ein kostenloser Scanner zur Erkennung von VMs, die anfällig für eine der vom Threat-Research-Team von Wiz entdeckten „OMIGOD“-Schwachstellen sind, insbesondere CVE-2021-38647.
Dieses Repository enthält einen kostenlosen Scanner, um VMs zu erkennen, die anfällig für eine der „OMIGOD“-Schwachstellen sind, die vom Bedrohungsforschungsteam von Wiz entdeckt wurden, insbesondere CVE-2021-38647.
Original-Blogbeitrag von Wiz: https://www.wiz.io/blog/omigod-critical-vulnerabilities-in-omi-azure
Der Scanner benötigt Azure-Anmeldeinformationen, um eine Verbindung zu den Azure-APIs herzustellen, und ruft für ein bestimmtes Abonnement und eine Ressourcengruppe (oder standardmäßig für alle verfügbaren) die Liste der Linux-VMs ab und meldet, ob die Maschine möglicherweise verwundbar ist.
Schauen Sie sich auch unbedingt das eigene Tool von Microsoft für diesen Zweck an: https://github.com/microsoft/OMS-Agent-for-Linux/tree/master/tools/OMIcheck
Um sich gegenüber den Azure-APIs zu authentifizieren, werden sowohl die azure cli (Standard) als auch die interaktive Browser-Authentifizierung unterstützt; siehe den Befehlszeilenparameter --auth.
Es gibt keine einfache Möglichkeit festzustellen, ob Ihre Maschinen anfällig für OMI sind, ohne Befehle auf der Linux-Maschine selbst auszuführen. Dies wird über Azure-APIs mithilfe des Befehls RunShellScript über eine Erweiterung unterstützt. Auch das eigene Tool von Microsoft (https://github.com/microsoft/OMS-Agent-for-Linux/tree/master/tools/OMIcheck) verwendet diesen Ansatz.
Beachten Sie, dass eine VM selbst dann, wenn sie verwundbar ist, den OMI-Server möglicherweise nicht über HTTP/HTTPS bereitstellt (was der Standard ist), und selbst wenn dies der Fall ist, könnten diese Ports von den Network Security Groups von Azure blockiert und daher nicht erreichbar sein. Das ist kein Grund, das Patchen zu vermeiden, aber wenn Sie viele verwundbare Linux-VMs haben, kann es nützlich sein zu wissen, welche stärker exponiert sind, um Ihre Bemühungen zu priorisieren.
omigood folgt diesem umfassenderen Ansatz und erzeugt eine JSON-Ausgabe mit einer Reihe von Prüfungen, die Sie über Befehlszeilenoptionen auslösen können, um Ihre Angriffsfläche zu bestimmen.
Dies sind die von omigood durchgeführten Prüfungen:
1.13.40 haben. Sie können sich das von uns ausgeführte Skript hier ansehen.-e.-r. Nutzung auf eigene Gefahr!/usr/bin/id anzugreifen. Diese Prüfung ist optional, da sie den Versuch beinhaltet, die VM auszunutzen. Aktivieren Sie sie mit der Befehlszeilenoption -a. Verwenden Sie sie nur auf Zielen, für die Sie autorisiert sind, Tests durchzuführen. Nutzung auf eigene Gefahr!Die erzeugte JSON-Ausgabedatei enthält alle Informationen zu den gescannten VMs: IDs, Betriebssystem, Network Security Groups, Betriebszustand usw.
Die relevanten Flags ('YES'/'NO') für die Prüfungen sind:
YES, wenn die OMS-Agent-Erweiterung auf der VM gefunden wird.YES, wenn die Version der OMS-Agent-Erweiterung niedriger als 1.13.40 ist.YES, wenn die Regeln der Network Security Group Verbindungen zu OMI-Ports zu erlauben scheinen.YES, wenn die effektiven Sicherheitsregeln Verbindungen zu OMI-Ports zu erlauben scheinen. Nur mit der Befehlszeilenoption -e.YES, wenn die OMI-Serverversion per Skript abgerufen und als niedriger als 1.6.8-1 eingestuft wurde. Nur mit der Befehlszeilenoption -r.YES, wenn der OMI-Serverstatus per Skript abgerufen wurde und festgestellt wurde, dass der Server auf TCP und nicht nur auf UNIX-Sockets lauscht. Nur mit der Befehlszeilenoption -r.usage: omigood_scanner.py [-h] [-v] [--auth {azurecli,interactivebrowser}] [-r] [-a] [-e] [-s SUBSCRIPTIONS]
[-g RESOURCEGROUPS] [-m VMS] -o OUTPUT
OMIGood scanner for CVE-2021-38647
optional arguments:
-h, --help show this help message and exit
-v, --verbose [OPTIONAL] Verbose mode: Displays additional debug details.
--auth {azurecli,interactivebrowser}
Authentication mode. Default: azurecli.
-r, --runscript [OPTIONAL] Run Script. Runs bash script on target VMs to check for OMI server, agent and
version. Disabled by default. Use at your own risk.
-a, --attack [OPTIONAL] Try to attack the host. Disabled by default. Use at your own risk.
-e, --effective [OPTIONAL] Check Effective Security Rules. Disabled by default. Requires higher permissions on
Azure.
-s SUBSCRIPTIONS, --subscriptions SUBSCRIPTIONS
[OPTIONAL] Comma separate list of subscriptions IDs. If not specified, it will try all.
-g RESOURCEGROUPS, --resourcegroups RESOURCEGROUPS
[OPTIONAL] Comma separated list of Resource Group names. If not specified, it will try all. If
specified, it will work only with a single subscription provided.
-m VMS, --vms VMS [OPTIONAL] Comma separated list of VM names. If not specified, it will try all. If specified,
it will work only with a single subscription and a single resource group provided.
-o OUTPUT, --output OUTPUT
JSON output file with results.
Die auf diesem Repository verfügbare Software und die Codebeispiele werden „wie besehen“ ohne jegliche ausdrückliche oder stillschweigende Gewährleistung bereitgestellt. Nutzung auf eigene Gefahr.
YES-r