{"id":221699,"date":"2019-08-15T12:04:18","date_gmt":"2019-08-15T10:04:18","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=221699"},"modified":"2024-08-12T13:40:02","modified_gmt":"2024-08-12T11:40:02","slug":"20-jahre-alte-schwachstelle-in-windows-geschlossen","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2019\/08\/15\/20-jahre-alte-schwachstelle-in-windows-geschlossen\/","title":{"rendered":"20 Jahre alte Schwachstelle in Windows geschlossen"},"content":{"rendered":"<p><img loading=\"lazy\" decoding=\"async\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline;\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2013\/03\/winb.jpg\" width=\"58\" height=\"58\" align=\"left\" \/>Microsoft hat mit den August 2019-Updates auch eine gravierende, 20 Jahre alte Schwachstelle in allen Windows-Versionen geschlossen, die eine Ausweitung der Benutzerrechte erm\u00f6glicht. Googles Sicherheitsforscher Tavis Ormandi hat nun die Details offen gelegt. Microsoft stuft die Ausnutzbarkeit aber als 'weniger wahrscheinlich' ein und hat im August 2019 einen Sicherheitspatch zum Schlie\u00dfen freigegeben.<\/p>\n<p><!--more--><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg01.met.vgwort.de\/na\/94d17906a6cf4847b43844ede3e63a53\" alt=\"\" width=\"1\" height=\"1\" \/>Die Information liegt bereits seit einigen Stunden vor. Sicherheitsforscher Tavis Ormandi von Googles Projekt-Zero hat nun die Details des 'Kaninchen-Lochs' offen gelegt.<\/p>\n<blockquote class=\"twitter-tweet\">\n<p dir=\"ltr\" lang=\"en\">Here's a video of the exploit I wrote, I actually had to write a custom rudimentary scripting language <a href=\"https:\/\/t.co\/eO74xahbjs\">https:\/\/t.co\/eO74xahbjs<\/a><\/p>\n<p>\u2014 Tavis Ormandy (@taviso) <a href=\"https:\/\/twitter.com\/taviso\/status\/1161277857907085312?ref_src=twsrc%5Etfw\">August 13, 2019<\/a><\/p><\/blockquote>\n<p>Die Details hat Ormandy in <a href=\"https:\/\/googleprojectzero.blogspot.com\/2019\/08\/down-rabbit-hole.html\" target=\"_blank\" rel=\"noopener noreferrer\">diesem Beitrag<\/a> sowie auf <a href=\"https:\/\/github.com\/taviso\/ctftool\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a> offen gelegt. The Hacker News hat das Thema aufgegriffen und <a href=\"https:\/\/thehackernews.com\/2019\/08\/ctfmon-windows-vulnerabilities.html\" target=\"_blank\" rel=\"noopener noreferrer\">diesen Artikel<\/a> ver\u00f6ffentlicht.<\/p>\n<h2>Schwachstelle in Microsofts CTF<\/h2>\n<p>Unter Windows k\u00f6nnen Fenster auf dem gleichen Desktop miteinander kommunizieren. Dies er\u00f6ffnet die M\u00f6glichkeit, Das Programmfenster andere Fenster bewegen, deren Gr\u00f6\u00dfe \u00e4ndern, oder Fenster schlie\u00dfen. Und Fenster k\u00f6nnen sich oder sogar gegenseitig Eingaben senden. Zust\u00e4ndig f\u00fcr diese Kommunikation ist das CTF-Protokoll, welches seit Windows XP implementiert wurde.<\/p>\n<blockquote><p>Bez\u00fcglich der genauen Bedeutung des K\u00fcrzels CTF gibt es unterschiedliche Interpretationen (<a href=\"https:\/\/www.heise.de\/forum\/heise-Security\/News-Kommentare\/Horror-aus-der-Windows-Steinzeit-Ueber-die-Texteingabe-Hilfe-zum-Admin\/CTF-LPC-und-ALPC\/posting-35054097\/show\/\" target=\"_blank\" rel=\"noopener noreferrer\">siehe<\/a> und <a href=\"https:\/\/www.heise.de\/forum\/heise-Security\/News-Kommentare\/Horror-aus-der-Windows-Steinzeit-Ueber-die-Texteingabe-Hilfe-zum-Admin\/Collaborative-Translation-Framework\/posting-35055915\/show\/\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a>). Es gibt das <a href=\"https:\/\/docs.microsoft.com\/de-de\/azure\/cognitive-services\/translator\/ctf-reporting\" target=\"_blank\" rel=\"noopener noreferrer\">Collaborative Translation Framework<\/a>, was eine API f\u00fcr mehrsprachige Texte bereitstellt und veraltet ist. Es gibt auch ein <a href=\"https:\/\/docs.microsoft.com\/en-us\/windows\/win32\/api\/_tsf\/\" target=\"_blank\" rel=\"noopener noreferrer\">Text Service Framework<\/a>, welches seit Windows XP erweiterte Text-Eingabemethoden <a href=\"https:\/\/docs.microsoft.com\/de-de\/windows\/win32\/tsf\/text-services-framework\" target=\"_blank\" rel=\"noopener noreferrer\">unterst\u00fctzen soll<\/a>.<\/p><\/blockquote>\n<p>Die spannende Frage f\u00fcr Ormandi war: K\u00f6nnen Fenster, die mit normalen Benutzerrechten laufen, Befehle an Fenster mit Systemrechten senden? Input-Mode-Editoren f\u00fcr fremdsprachige Eingaben (japanische oder chinesische Texte \u00fcber westliche Tastaturen eingeben) sind beispielsweise solche Prozesse, die mit h\u00f6heren Rechten laufen.<\/p>\n<blockquote><p>Meldet sich ein Benutzer an Windows an, startet er einen CTF-Monitordienst. Dieser wickelt die Kommunikation zwischen allen Clients ab, um fremdsprachige Eingaben umzuwandeln. Dazu schreibt Ormandi:<\/p>\n<p>\"You might have noticed the ctfmon service in task manager, it is responsible for notifying applications about changes in keyboard layout or input methods. The kernel forces applications to connect to the ctfmon service when they start, and then exchange messages with other clients and receive notifications from the service.\"<\/p><\/blockquote>\n<p>Der ctfmon-Dienst informiert also Anwendungen \u00fcber die \u00c4nderungen an der Eingabemethode, wobei der Windows-Kernel die Anwendungen mit dem Dienst kommunizieren l\u00e4sst. Der Dienst hat aber erh\u00f6hte Berechtigungen. Nun soll aber die UIPI, User Interface Privilege Isolation, verhindern und die M\u00f6glichkeit blocken, dass ein nicht privilegiertes Fenster Befehle an ein hochprivilegiertes Fenster sendet.<\/p>\n<h3>Fehlende Zugriffskontrolle im ctfmon-Dienst<\/h3>\n<p>So weit die Theorie, f\u00fcr einen Praxistest hat Ormandi dann ein kleines Tool (ctftool) geschrieben. Mit diesem interaktiven Commandozeilen-Tool konnte er dann mit dem CTF experimentieren. Informationen zu diesem Tool <a href=\"https:\/\/github.com\/taviso\/ctftool\" target=\"_blank\" rel=\"noopener noreferrer\">finden sich hier<\/a>, wobei Ormandi dieses unter Windows 7, Windows 8 und Windows 10 in 32- sowie 64-Bit-Umgebungen getestet hat.<\/p>\n<p>Dabei machte er die Feststellung, dass es in ctfmon keine Pr\u00fcfung der Zugriffsberechtigungen und Authentifizierung gibt. Jede Anwendung, jeder Benutzer und sogar Prozesse in einer Sandbox k\u00f6nnen:<\/p>\n<ul>\n<li>eine Verbindung zur CTF-Sitzung herstellen,<\/li>\n<li>aus jeder anderen Sitzung Texte eines beliebigen Fensters lesen und schreiben,<\/li>\n<li>ihre Thread-ID, Prozess-ID und HWND f\u00e4lschen.<\/li>\n<\/ul>\n<p>Dies erm\u00f6glicht es, sich als CTF-Dienst gegen\u00fcber andere Anwendungen auszugeben. Das klappt auch bei privilegierten Anwendungen. Dies l\u00e4sst sich dann nutzen, um diese Anwendungen austricksen, um sich mit diesen zu verbinden und diesen Befehle zu senden. Es erm\u00f6glicht auch, aus Sandboxen auszubrechen und eine Eskalation von Privilegien zu erreichen. Tavis Ormandy demonstriert dies in nachfolgendem Video.<\/p>\n<p>(Quelle: <a href=\"https:\/\/youtu.be\/r3vrzzDpmhc\" target=\"_blank\" rel=\"noopener\">YouTube<\/a>)<\/p>\n<p>Ormandis schreibt, das es m\u00f6glich war, \u00fcber Sessions hinweg zu kommunizieren und die NT-Sicherheitsmechanismen auszuhebeln. Die Schwachstelle besteht seit fast zwanzig Jahren, und niemand hat die bemerkt. So viel zur Versicherung Microsofts 'mit Windows 10 wird alles sicherer, denn alles ist neu und besser implementiert'.<\/p>\n<h2>Microsoft patcht im August 2019<\/h2>\n<p>Tavis Ormandis hat die Schwachstelle und seine Erkenntnisse in diesem <a href=\"https:\/\/googleprojectzero.blogspot.com\/2019\/08\/down-rabbit-hole.html\" target=\"_blank\" rel=\"noopener noreferrer\">l\u00e4nglichen Blog-Beitrag<\/a> umfassend beschrieben und das Test-Tool auf <a href=\"https:\/\/github.com\/taviso\/ctftool\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub ver\u00f6ffentlicht<\/a>. Wesentlich kompakter und lesefreundlicher ist der englischsprachige <a href=\"https:\/\/thehackernews.com\/2019\/08\/ctfmon-windows-vulnerabilities.html\" target=\"_blank\" rel=\"noopener noreferrer\">Beitrag bei The Hacker News<\/a> oder der deutschsprachige heise-Artikel.<\/p>\n<p>Relevant ist f\u00fcr Nutzer ist lediglich, dass die Schwachstelle CVE-2019-1162 in ctfmon existiert und ausnutzbar ist. Ormandis hat Microsoft \u00fcber diese Schwachstelle informiert, worauf diese im August 2019 das Problem in Sicherheitsupdates f\u00fcr diverse Windows-Versionen adressiert haben. Microsoft hat die Details im Beitrag <a href=\"https:\/\/web.archive.org\/web\/20200630075438\/https:\/\/portal.msrc.microsoft.com\/en-US\/security-guidance\/advisory\/CVE-2019-1162\" target=\"_blank\" rel=\"noopener noreferrer\">CVE-2019-1162 | Windows ALPC Elevation of Privilege Vulnerability<\/a> ver\u00f6ffentlicht und dort auch die betreffenden Updates verlinkt. Die Windows-Entwickler stufen die Ausnutzbarkeit dieser Schwachstelle als 'wenig wahrscheinlich' (Exploitation Less Likely) ein.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Microsoft hat mit den August 2019-Updates auch eine gravierende, 20 Jahre alte Schwachstelle in allen Windows-Versionen geschlossen, die eine Ausweitung der Benutzerrechte erm\u00f6glicht. Googles Sicherheitsforscher Tavis Ormandi hat nun die Details offen gelegt. Microsoft stuft die Ausnutzbarkeit aber als 'weniger &hellip; <a href=\"https:\/\/borncity.com\/blog\/2019\/08\/15\/20-jahre-alte-schwachstelle-in-windows-geschlossen\/\">Weiterlesen <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[426,301],"tags":[4328,3288],"class_list":["post-221699","post","type-post","status-publish","format-standard","hentry","category-sicherheit","category-windows","tag-sicherheit","tag-windows-en"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/221699","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/comments?post=221699"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/221699\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=221699"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=221699"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=221699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}