Kunden der Microsoft Azure Cloud-Plattform, die Linux in virtuellen Maschinen verwenden, sind auf eine kritische SicherheitsanfĂ€lligkeit (CVE-2021-38647) gestoĂen, die es ermöglicht, Code mit Root-Rechten aus der Ferne auszufĂŒhren. Die SicherheitsanfĂ€lligkeit trĂ€gt den Codenamen OMIGOD und zeichnet sich dadurch aus, dass das Problem in der OMI-Agent-Anwendung vorhanden ist, die stillschweigend in Linux-Umgebungen installiert wird.
Der OMI-Agent wird automatisch installiert und aktiviert, wenn Dienste wie Azure Automation, Azure Automatic Update, Azure Operations Management Suite, Azure Log Analytics, Azure Configuration Management, Azure Diagnostics und Azure Container Insights verwendet werden. Beispielsweise sind Linux-Umgebungen in Azure, fĂŒr die die Ăberwachung aktiviert ist, angreifbar. Der Agent ist Teil des Open-Source-Pakets OMI (Open Management Infrastructure Agent) mit einer Implementierung des DMTF CIM/WBEM-Stacks zur Verwaltung von IT-Infrastrukturen.
Der OMI-Agent wird im System unter dem Benutzer omsagent installiert und erstellt Einstellungen in /etc/sudoers, um eine Reihe von Skripten mit Root-Rechten auszufĂŒhren. WĂ€hrend des Betriebs einiger Dienste werden Netzwerk-Sockets an den Netzwerkports 5985, 5986 und 1270 eröffnet. Scans im Shodan-Dienst zeigen, dass es ĂŒber 15.000 anfĂ€llige Linux-Umgebungen im Netzwerk gibt. Derzeit ist ein funktionierender Prototyp eines Exploits verfĂŒgbar, der es ermöglicht, eigenen Code mit Root-Rechten auf Ă€hnlichen Systemen auszufĂŒhren.
Das Problem wird dadurch verschĂ€rft, dass die Verwendung von OMI in Azure nicht explizit dokumentiert ist und der OMI-Agent ohne Vorwarnung installiert wird â es reicht aus, den Bedingungen des gewĂ€hlten Dienstes bei der Einrichtung der Umgebung zuzustimmen, und der OMI-Agent wird automatisch aktiviert, d.h. die meisten Benutzer ahnen nicht einmal von seiner Existenz.
Die Ausnutzungsmethode ist trivial â es genĂŒgt, eine XML-Anfrage an den Agenten zu senden, indem der Header, der fĂŒr die Authentifizierung zustĂ€ndig ist, entfernt wird. OMI verwendet Authentifizierung beim Empfang von Steuerbotschaften, um zu ĂŒberprĂŒfen, ob der Client berechtigt ist, einen bestimmten Befehl zu senden. Der Kern der SicherheitsanfĂ€lligkeit besteht darin, dass beim Entfernen des Headers "Authentication", der fĂŒr die Authentifizierung zustĂ€ndig ist, Server Wenn die ĂberprĂŒfung als erfolgreich angesehen wird, empfĂ€ngt sie die Steuerungsnachricht und erlaubt die AusfĂŒhrung von Befehlen mit Root-Rechten. Um beliebige Befehle im System auszufĂŒhren, genĂŒgt es, im Nachrichtendienst den Standardbefehl ExecuteShellCommand_INPUT zu verwenden. Um beispielsweise das Dienstprogramm âidâ zu starten, muss folgender Befehl gesendet werden: curl -H "Content-Type: application/soap+xml;charset=UTF-8" -k --data-binary "@http_body.txt" https://10.0.0.5:5986/wsman âŠ
id
0
Die Firma Microsoft hat bereits ein Update OMI 1.6.8.1 veröffentlicht, das die SicherheitsanfĂ€lligkeit behebt, dieses ist jedoch noch nicht an die Benutzer von Microsoft Azure (in neuen Umgebungen wird vorerst die alte Version von OMI installiert) verteilt worden. Die automatische Aktualisierung des Agenten wird nicht unterstĂŒtzt, daher mĂŒssen die Benutzer das Paket manuell aktualisieren, indem sie die Befehle âdpkg -l omiâ in Debian/Ubuntu oder ârpm -qa omiâ in Fedora/RHEL verwenden. Als Workaround zum Schutz wird empfohlen, den Zugriff auf die Netzwerkports 5985, 5986 und 1270 zu blockieren.
Neben CVE-2021-38647 wurden in OMI 1.6.8.1 auch drei SicherheitsanfĂ€lligkeiten (CVE-2021-38648, CVE-2021-38645 und CVE-2021-38649) behoben, die es einem unprivilegierten lokalen Benutzer ermöglichen, seinen Code mit Root-Rechten auszufĂŒhren.
Quelle: opennet.ru
