12.04.2023 19:08

(Gepatchte aber dennoch) üble Sicherheitslücke in (einer optionalen Komponente von) Microsoft Windows

Es entbehrt nicht einer gewissen Ironie, dass die meisten Blogeinträge, welche sich in den letzten Monaten mit Sicherheitslücken in Produkten von Microsoft beschäftigt haben, von dem Mitarbeiter des CERT stammen, dessen Kenntnisse rund um Windows, Office und den ganzen Rest wohl mit Abstand am schwächsten sind - und damit herzlich willkommen zu einem weiteren Beitrag, welcher diese Kriterien vollständig erfüllt.

Dass die monatlichen Patchdays für das Gros der Unternehmen in den meisten Fällen unter "business as usual" fallen habe ich bereits im Dezember letzten Jahres angemerkt. In der damals angesprochenen Zwickmühle sind wir jedoch leider auch dieses Monat wieder gelandet, dank CVE-2023-21554. Dabei handelt es sich um eine Remote Code Execution im "Windows message queuing service", einer optionalen Komponente von Windows.

Wie das Wort "optional" andeutet ist diese zwar nicht standardmäßig aktiviert, jedoch laut Microsoft in jeder Version von Windows, inklusive Windows 11 und Windows Server 2022, inkludiert. Wenn der Service aktiv ist lauscht er auf Port 1801/TCP auf neue Verbindungen, was geneigte Angreifer:innen dank dieser Sicherheitslücke sehr freut, weil es folgendes ermöglicht:

To exploit this vulnerability, an attacker would need to send a specially crafted malicious MSMQ packet to a MSMQ server. This could result in remote code execution on the server side.

Autsch. Ich habe im Lauf meiner professionellen Laufbahn schon öfter gewitzelt, Systeme seien "so unsicher, dass man sie nur anhusten müsse, damit sie in sich zusammenbrechen". Auch wenn die genauen technischen Details (zumindest mir) noch nicht bekannt sind, so kommt CVE-2023-21554 dem von mir humoristisch gezeichneten Szenario doch sehr, sehr nahe.

Die Sicherheitsforscher:innen von Checkpoint sprechen in einem Blogpost von weltweit rund 360.000 öffentlich erreichbaren IP-Adressen, bei denen sich hinter einem offenen Port 1801/TCP ein laufender MSMQ-Service verbirgt. Diese massiven Zahlen konnte ich auf die Schnelle nicht verifizieren, aber es gibt definitiv einen Haufen potentiell betroffener Systeme da draussen. Und auch wenn ich (leider/zum Glück) keinen Einblick in die Denkweise der diversen aktuell aktiven Bedrohungsakteure habe, so würde es mich sehr wundern, wenn sich Angreifer:innen die Ausführung von Code über einen simpel abzusetzenden Request lange entgehen lassen würden.

Neben der offensichtlichen Lösung für das Problem - das Einspielen des zur Verfügung stehenden Patches - sei Administratoren dringend geraten zu prüfen, ob der betroffene Service (laut Microsoft ist er unter dem Namen "Message Queuing" / "mqsvc.exe" zu finden) auf einem der eigenen Systeme aktiv ist.

Und selbst wenn beim Lesen dieser Zeilen der Gedanke "Ha! Sowas würde ich doch nie aktivieren!" kommen sollte, so wäre ich doch vorsichtig. Anscheinend wird MSMQ als Middleware in diversen populären Anwendungen eingesetzt, was dazu führen kann, dass der Service aktiviert wird, ohne dass Benutzer:innen oder Administrator:innen sich dessen bewusst sind.

Doch selbst wenn man im eigenen Unternehmen nicht durch Dritte sabotiert wird, so ist Microsoft unter Umständen zur Stelle und schiesst einem motiviert in's Bein:

For example, CPR saw that when installing the official Microsoft Exchange Server, the setup wizard app would enable the MSMQ service in the background if the user selects the “Automatically install Windows Server roles and features that are required to install Exchange” option, which is recommended by Microsoft.

Sollte nichts der genannten Dinge zutreffen und MSMQ trotzdem aktiviert sein .. nun, ich will hier nicht die Ansicht vertreten, dass Protokolle, Software oder Systeme, die lange keine Aktualisierung mehr erfahren haben deswegen schlecht, veraltet oder gar unsicher sind. Dass die offizielle Dokumentation zu MSMQ anscheinend das letzte Mal vor weit mehr als fünf Jahren geändert wurde, und bereits 2020 davon gesprochen wurde, dass MSMQ wohl tot sei, hinterlässt aber zugegebenerweise einen etwas bitteren Beigeschmack.

Vielleicht übersehe ich hier ob meiner mangelnden intimen Bekanntschaft mit Windows ein Szenario, in der MSMQ systemrelevant ist, aber unter Umständen sollte man diese Schwachstelle zum Anlass nehmen, den Service in den wohlverdienten Ruhestand zu schicken und zu deaktivieren. Oder zumindest firewall-seitig sicherstellen, dass Port 1801/TCP nicht für Gott und die Welt offen erreichbar ist.

Verfasst von: Alexander Riepl