{"id":278561,"date":"2023-03-09T16:10:53","date_gmt":"2023-03-09T15:10:53","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=278561"},"modified":"2024-06-30T15:45:17","modified_gmt":"2024-06-30T13:45:17","slug":"windows-10-11-schein-ordner-als-sicherheitsdesaster-hebeln-applocker-und-srp-aus","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2023\/03\/09\/windows-10-11-schein-ordner-als-sicherheitsdesaster-hebeln-applocker-und-srp-aus\/","title":{"rendered":"Windows 10\/11: &quot;Schein-Ordner&quot; als Sicherheitsdesaster, hebeln Applocker und SRP aus"},"content":{"rendered":"<p><img decoding=\"async\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline;\" title=\"Windows\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2021\/04\/Windows-klein.jpg\" alt=\"Windows\" width=\"200\" align=\"left\" \/>[<a href=\"https:\/\/borncity.com\/win\/2023\/03\/11\/windows-10-11-mock-folders-as-uac-bypass-security-disaster-leverage-applocker-and-srp\/\" target=\"_blank\" rel=\"noopener\">English<\/a>]In Windows 10, Windows 11 (und auch in den Server Pendants) schlummert ein fettes Sicherheitsdesaster. Angreifer k\u00f6nnen \"Schein-Ordner\" erzeugen und dort Schadprogramme speichern. Anschlie\u00dfend ist der Weg offen, um diese Schadprogramme mit Administratorrechten (ohne UAC-Abfrage) zu starten. Sicherheitsfunktionen wie AppLocker oder Software Restriction Policies (SRP oder kurz SAFER) greifen wohl auch nicht mehr. Ist Sicherheitskreisen bekannt, das Thema ist jetzt durch einen Angriff in mein Radar gekommen.<\/p>\n<p><!--more--><\/p>\n<h2>Eine Phishing-Kampagne<\/h2>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg09.met.vgwort.de\/na\/f3a76acfd05d4acca61bde45dc1f60af\" alt=\"\" width=\"1\" height=\"1\" \/>Aktuell gibt es wohl eine neue Phishing-Kampagne, die auf Unternehmen in osteurop\u00e4ischen L\u00e4ndern zielt. Denen soll die Remcos RAT-Malware untergejubelt werden &#8211; mit dem Remote Access Tool (RAT) k\u00f6nnen die Angreifer dann auf die infizierten Systeme zugreifen. Sicherheitsforscher von Sentinel One haben diese Kampagne in <a href=\"https:\/\/www.sentinelone.com\/blog\/dbatloader-and-remcos-rat-sweep-eastern-europe\/\" target=\"_blank\" rel=\"noopener\">diesem Blog-Beitrag<\/a> dokumentiert. Die Kollegen von Bleeping Computer hatten das in <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/old-windows-mock-folders-uac-bypass-used-to-drop-malware\/\" target=\"_blank\" rel=\"noopener\">diesem Beitrag<\/a> aufgegriffen.<\/p>\n<h2>Anatomie des Angriffs per DBatLoader<\/h2>\n<p>Im Sentinel <a href=\"https:\/\/www.sentinelone.com\/blog\/dbatloader-and-remcos-rat-sweep-eastern-europe\/\" target=\"_blank\" rel=\"noopener\">One-Artikel<\/a> wird erkl\u00e4rt, wie der Angriff abl\u00e4uft, um die Remcos RAT-Malware auf das System zu bringen. Im Anhang der Phishing-E-Mails ist ein tar.lz-Archiv enthalten. Dort sind die DBatLoader-Dateien drin, die sich normalerweise als Microsoft Office-, LibreOffice- oder PDF-Dokumente tarnen, indem sie doppelte Erweiterungen und\/oder Anwendungssymbole verwenden, aber die Remcos RAT-Malware beinhalten.<\/p>\n<p>Dekomprimiert der Empf\u00e4nger der Phishing-Mail dieses Archiv und f\u00fchrt die entpackte, ausf\u00fchrbare Datei aus, l\u00e4dt DBatLoader eine verschleierte zweite Stufe der Nutzdaten von einem \u00f6ffentlichen Cloud-Speicherort (Google Drive, OneDrive) herunter und f\u00fchrt sie aus. Die Sicherheitsforscher schreiben:<\/p>\n<blockquote><p>Die Malware erstellt dann ein erstes Windows-Batch-Skript im Verzeichnis <em>%Public%\\Libraries<\/em> und f\u00fchrt es aus. Dieses Skript missbraucht eine bekannte Methode zur Umgehung der Windows-Benutzerkontensteuerung, bei der vertrauensw\u00fcrdige Verzeichnisse, wie z. B. <em>%SystemRoot%\\System32<\/em>, durch die Verwendung von Leerzeichen am Ende des Skripts vorget\u00e4uscht werden. Dies erm\u00f6glicht es den Angreifern, erweiterte Aktivit\u00e4ten auszuf\u00fchren, ohne dass die Benutzer alarmiert werden.<\/p><\/blockquote>\n<p>Ich hatte es am Rande bei den Kollegen von Bleeping Computer mitbekommen, das Ganze aber in seiner Brisanz nicht erfasst. Daher bereite ich den Sachverhalt nachfolgend mal separat auf.<\/p>\n<h2>B\u00fcchse der Pandora: Windows \"Schein-Ordner\"<\/h2>\n<p>Microsoft hat mit Windows Vista zwar die Benutzerkontensteuerung (UAC) eingef\u00fchrt, um die Anforderung von erh\u00f6hten Benutzerrechten durch Anwendungen \u00fcber eine UAC-Meldung vom Benutzer best\u00e4tigen zu lassen. Standardnutzer ben\u00f6tigen dazu ein Administrator-Konten-Kennwort. Aber es gibt zwei Fallen, die das Ganze l\u00f6chrig wie einen Schweizer K\u00e4se werden lassen.<\/p>\n<h3>Windows-Ordner als UAC-Ausnahme<\/h3>\n<p>Ich gestehe, es war mich bisher unklar bzw. ich habe nie dar\u00fcber nachgedacht. Microsoft hat in Windows sogenannte trusted (vertrauensw\u00fcrdige) Ordner festgelegt. Ein Programm, welches beim Starten erh\u00f6hte Benutzerrechte ben\u00f6tigt, l\u00f6st, wenn weitere Voraussetzungen vorliegen,\u00a0 dann keine Nachfrage der Benutzerkontensteuerung aus.<\/p>\n<p>Davis Wellis hat das 2018 im Beitrag <a href=\"https:\/\/medium.com\/tenable-techblog\/uac-bypass-by-mocking-trusted-directories-24a96675f6e\" target=\"_blank\" rel=\"noopener\">UAC Bypass by Mocking Trusted Directories<\/a> auf Medium aufgedeckt. Neben der Vorgabe im Manifest, dass eine Auto-Elevation der Benutzerrechte erfolgen soll (dann fordert das Programm die erh\u00f6hten Benutzerrechte beim Start automatisch an, was die UAC-Nachfrage ausl\u00f6st), muss das Programm korrekt digital signiert sein. Und als letzte Bedingung muss das Programm in einer Trusted-Directory wie:<\/p>\n<p>\"C:\\Windows\\System32\"<\/p>\n<p>liegen. Dann erh\u00e4lt der zugeh\u00f6rige Prozess erh\u00f6hte Systemrechte per Auto-Elevation, ohne dass eine UAC-Nachfrage angezeigt wird.<\/p>\n<h3>Problem Scheinordner (Mocked Folder)<\/h3>\n<p>Leider gibt es noch eine zweite Schwachstelle in Windows, die als \"Mocked-Folder\" (deutsch Scheinordner) segelt. Man kann als Benutzer Ordner anlegen, die \u00e4hnliche Namen wie die Trusted-Folder von Windows haben. Dazu h\u00e4ngt man ein Leerzeichen an diesen Namen an.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" title=\"Mocked Folders\" src=\"https:\/\/i.imgur.com\/FIyBJL2.png\" alt=\"Mocked Folders\" width=\"607\" height=\"261\" \/><br \/>\nMocked Folders des DBatLoader, Quelle: Sentinel One<\/p>\n<p>Die Sentinel One-Sicherheitsforscher haben den entsprechenden Code des DBatLoader-Scripts, welches die Scheinordner (Mocked-Folders) anlegt, in obigem Bild \u00f6ffentlich gemacht. Es wird ein Verzeichnis:<\/p>\n<p>\"C:\\Windows \\System32 \"<\/p>\n<p>im Wurzelverzeichnis des Systemlaufwerks C:\\, auf dem Windows liegt, eingerichtet. Dort hat der Angreifer als normaler Nutzer Schreib-\/Leserechte und kann seine sch\u00e4dlichen Dateien (z.B. DLLs) in diesem Ordner ablegen. Weiterhin legt der Angreifer Kopien legitimer Bin\u00e4rdateien aus dem Windows System32-Ordner mit im Scheinordner ab.<\/p>\n<p>Wird nun die Kopie der Bin\u00e4rdatei (die aus dem legitimen Windows System32-Ordner stammt und korrekt digital signiert ist) aus dem Scheinordner aufgerufen, startet diese per Auto-Elevation mit erh\u00f6hten Rechten ohne eine UAC-Abfrage auszul\u00f6sen. Gleichzeitig wird eine vom Programm erwartete DLL, sofern diese im gleichen Scheinordner liegt, per DLL-Hijacking, mitgeladen. Schon hat der Angreifer erh\u00f6hte Berechtigungen, ohne dass ein Benutzer davon etwas mitbekommen. Jean Maes hat dies am 11. Juli 2020 im Artikel <a href=\"https:\/\/web.archive.org\/web\/20240228184736\/https:\/\/redteamer.tips\/uac-bypass-through-trusted-folder-abuse\/\" target=\"_blank\" rel=\"noopener\">UAC bypass through Trusted Folder abuse<\/a> auf seiner Seite \"Red Team Tipps\" \u00f6ffentlich gemacht.<\/p>\n<h2>Abgr\u00fcnde und erschrockener Blog-Leser<\/h2>\n<p>Ich gehe an dieser Stelle nicht auf den oben angerissenen Phishing-Angriff zur Verteilung der Remcos RAT-Malware ein. Die nutzen genau diesen Angriffsweg. Und ich werde auch die auf meine Artikel zum \"DLL-Highjacking\" h\u00e4ufig gegebenen Kommentare \"was nutzt es, wenn der Angreifer keine Admin-Rechte hat\" eingehen &#8211; auf UAC-Bypassing-Methoden hatte ich im Blog ja mehrfach hingewiesen. Aber die Geschichte hat noch einen netten Schlenker. Blog-Leser 1ST1 hat sich die Thematik, bevor ich diese aufbereiten konnte, mal n\u00e4her angesehen und seinen Eindruck als <a href=\"https:\/\/borncity.com\/blog\/2023\/03\/05\/dcom-hrtung-cve-2021-26414-zum-14-mrz-2023-patchday-fr-windows-10-11-und-server\/#comment-143860\" target=\"_blank\" rel=\"noopener\">Kommentar hinterlassen<\/a> (danke daf\u00fcr, mir fehlt dazu die Zeit). Ich ziehe mal seine Ausf\u00fchrungen heraus:<\/p>\n<blockquote><p>Hat auch was mit Windows-H\u00e4rtung zu tun\u2026 (Und ich bin gerade ziemlich entsetzt dar\u00fcber\u2026)<\/p>\n<p>Mir ist es gerade als normaler Benutzer gelungen, mit einfachstem Mittel den Applocker, SAFER und UAC zu umgehen. Ausgangspunkt: CMD.exe ohne lokale Adminrechte (ist ein separater Benutzer)<\/p>\n<p>Schon ein seltsames Verhalten:<\/p>\n<p>md \"c:\\Windows \"<\/p>\n<p>Ein Unterverzeichnis oder eine Datei mit dem Namen \"Windows \" existiert bereits.<\/p>\n<p>Man beachte dass f\u00fcr cmd \"Windows\" und \"Windows \" das Gleiche ist. L\u00e4sst sich aber austricksen\u2026<\/p>\n<pre><code>md \"\\\\?\\C:\\Windows \"\r\nmd \"\\\\?\\C:\\Windows \\system32\"\r\ncopy c:\\users\\1ST1\\downloads\\harmlose.exe \"\\\\?\\C:\\Windows \\system32\"\r\nstart \"\\\\?\\C:\\Windows \\system32\\harmlose.exe\"<\/code><\/pre>\n<p>Im Eventviewer, Microsoft-Windows-AppLocker\/EXE and DLL<\/p>\n<pre><code>Event 8002, Applocker: Die Ausf\u00fchrung von %osdrive%\\windows \\system32\\harmlose.exe wurde zugelassen. <\/code><\/pre>\n<pre><code>copy c:\\users\\1ST1\\downloads\\harmlose_setup.exe \"\\\\?\\C:\\Windows \\system32\"\r\nstart \"\\\\?\\C:\\Windows \\system32\\harmlose_setup.exe\" <\/code><\/pre>\n<p>Im Eventviewer, Microsoft-Windows-AppLocker\/Packaged app-Deployment<\/p>\n<pre><code>Event 8023, Applocker: Die Installation von %osdrive%\\windows \\system32\\harmlose_setup.exe wurde zugelassen. <\/code><\/pre>\n<p>Und UAC meldet sich bei der <em>setup.exe<\/em> auch nicht.<\/p>\n<p>In Applocker per GPO gibt es folgende Regeln f\u00fcr EXE und DLL, alternativ, beide werden \u00fcberlistet:<\/p>\n<p>Allow everyone c:\\windows\\*<br \/>\nAllow everyone %systemroot%\\*<\/p>\n<p>Wie man sieht, ist dort vor \"\\*\" kein Leerzeichen. (Man darf blo\u00df nicht beide gleichzeitig ausschalten\u2026 :-X Auf garkeinen Fall! Wirklich! Sonst ist Sense\u2026 R.I.P.)<\/p>\n<pre><code>copy c:\\users\\1ST1\\downloads\\von_av_ausgeschlossenes_verzeichnis\\eicar.exe <a href=\"file:\/\/\\\\?\\C:\\Windows \\system32\">\\\\?\\C:\\Windows \\system32<\/a><\/code><\/pre>\n<p>-&gt; Dabei schl\u00e4gt wenigstens der Antivirus zu und verhindert schlimmeres.<\/p>\n<p>Was passiert da? Gesehen?<\/p>\n<p>Der Trick ist das Leerzeichen \" \" zwischen \"Windows\" und dem Backslash \"\\\". Das wird von CMD, Applocker, Safer und UAC nicht richtig gepr\u00fcft. Powershell wahrscheinlich auch nicht\u2026 In c:\\ gibts gerade zwei Windows-Ordner untereinander\u2026, genauer:<\/p>\n<p>\"c:\\windows\"<br \/>\n\"c:\\windows \"<\/p>\n<p>Seht ihr den Unterschied? Wenn man in den Zweiten rein geht, sieht man komischerweise alle Dateien und Ordner aus dem Ersten. Im Ordner <em>\"c:\\windows \\system32<\/em>\" liegt aber nach obigem Test nur <em>harmlose.exe<\/em> und harmlose<em>_setup.exe.<\/em> Dagegen in \"c<em>:\\windows\\system32<\/em>\" liegt alles rum, was da hin geh\u00f6rt. Das Ganze funktioniert \u00fcbrigens auch mit \"<em>%programfiles% \", \"program files \"<\/em> und \"<em>program files (x86)<\/em> \"\u2026<\/p>\n<p>Grundlage des Tests war <a href=\"https:\/\/www.bleepingcomputer.com\/news\/security\/old-windows-mock-folders-uac-bypass-used-to-drop-malware\/\" target=\"_blank\" rel=\"noopener\">dieser Artikel<\/a>.<br \/>\nWTF!?!?!?<\/p>\n<p>Abhilfe? Per Applocker\/SAFER \"c:\\windows \\*\" zu sperren, traue ich mich nicht, weil das garantiert auch verwechselt wird\u2026 Vielleicht \"c:\\windows?\\*\" sperren? Sieht erfolgsversprechend aus, aber was ist dann mit \"c:\\windows??\\*\", \"c:\\windows???\\*\", \u2026 (oder geht \"c:\\windows?*\\*\" ???) \u2013 risky\u2026<\/p>\n<p>Hilfe, Redmond!!! (Patchday ist erst am 14., also noch 1 Woche Zeit, das zu patchen\u2026)<\/p><\/blockquote>\n<p>Die Hoffnung auf einen \"Patch\" zum 14. M\u00e4rz 2023 muss ich aber pulverisieren. Ich hatte Stefan Kanthak hinter den Kulissen angemailt und auf diese Thematik angesprochen. Seine Replik \"alles kalter Kaffee\" findet sich in <a href=\"https:\/\/borncity.com\/blog\/2023\/03\/05\/dcom-hrtung-cve-2021-26414-zum-14-mrz-2023-patchday-fr-windows-10-11-und-server\/#comment-143985\" target=\"_blank\" rel=\"noopener\">diesem Kommentar<\/a>, den ich hier in Ausz\u00fcgen herausziehe:<\/p>\n<ul>\n<li>Auf Securelist ist im April 2021 das Thema im Artikel <a href=\"https:\/\/seclists.org\/fulldisclosure\/2021\/Apr\/68\" target=\"_blank\" rel=\"noopener\">Defense in depth &#8212; the Microsoft way (part 75): Bypass of SAFER alias Software Restriction Policies NOT FIXED<\/a> von Stefan angesprochen worden (SAFER sind die Software Restriction Policies, SRP).<\/li>\n<li>Auf Securelist ist im April 2021 das Thema im Artikel <a href=\"https:\/\/seclists.org\/fulldisclosure\/2021\/Apr\/69\" target=\"_blank\" rel=\"noopener\">Defense in depth &#8212; The Microsoft way (part 76): arbitrary code execution WITH elevation of privilege in user-writable directories below %SystemRoot%<\/a> von Stefan angesprochen worden.<\/li>\n<\/ul>\n<p>Dazu schreibt Stefan Kanthak, dass (wie leider \u00fcblich) die jungen Leute beim MSRC (Microsoft Security Response Center) nicht kapiert\u00a0 haben, dass das nicht nur eine UAC-Umgehung ist (f\u00fcr die Microsoft prinzipiell keine Korrektur bereitstellt), sondern auch SAFER und AppLocker aushebelt (wof\u00fcr sie ebenso prinzipiell auch keine Korrektur bereitstellen).<\/p>\n<p>In seinem Kommentar verlinkt Stefan Kanthak dann noch auf Beitr\u00e4ge bei ihm, Schneegans und Securelist, wo das ebenfalls vor langer Zeit angesprochen wurde. Auch weist er (wohl als Antwort auf <a href=\"https:\/\/borncity.com\/blog\/2023\/03\/05\/dcom-hrtung-cve-2021-26414-zum-14-mrz-2023-patchday-fr-windows-10-11-und-server\/#comment-143889\" target=\"_blank\" rel=\"noopener\">diesen Kommentar<\/a>) darauf hin, dass vom Benutzer gesetzte (permanente oder fl\u00fcchtige) Umgebungsvariablen wie %SystemRoot% und %ProgramFiles% die (vom Administrator gesetzten) gleichnamigen Umgebungsvariablen des Systems \u00fcberlagern. Auch das ist bekannt und wurde von Kanthak mit verlinkten Quellen belegt.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[English]In Windows 10, Windows 11 (und auch in den Server Pendants) schlummert ein fettes Sicherheitsdesaster. Angreifer k\u00f6nnen \"Schein-Ordner\" erzeugen und dort Schadprogramme speichern. Anschlie\u00dfend ist der Weg offen, um diese Schadprogramme mit Administratorrechten (ohne UAC-Abfrage) zu starten. Sicherheitsfunktionen wie AppLocker &hellip; <a href=\"https:\/\/borncity.com\/blog\/2023\/03\/09\/windows-10-11-schein-ordner-als-sicherheitsdesaster-hebeln-applocker-und-srp-aus\/\">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,3694],"tags":[4966,4328,8376,4378,8257],"class_list":["post-278561","post","type-post","status-publish","format-standard","hentry","category-sicherheit","category-windows","category-windows-10","tag-applocker","tag-sicherheit","tag-software-restriction-policies","tag-windows-10","tag-windows-11"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/278561","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=278561"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/278561\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=278561"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=278561"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=278561"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}