{"id":207742,"date":"2018-08-11T12:31:00","date_gmt":"2018-08-11T10:31:00","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=207742"},"modified":"2020-09-10T00:17:33","modified_gmt":"2020-09-09T22:17:33","slug":"classic-shell-heit-jetzt-open-shell-men","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2018\/08\/11\/classic-shell-heit-jetzt-open-shell-men\/","title":{"rendered":"Classic Shell hei&szlig;t jetzt Open-Shell-Men&uuml;"},"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\" \/>[<a href=\"https:\/\/borncity.com\/win\/2018\/08\/11\/psa-classic-shell-is-now-open-shell-menu-and-a-warning\/\" target=\"_blank\" rel=\"noopener noreferrer\">English<\/a>]Neue Information f\u00fcr Nutzer bzw. Interessenten der eingestellten Classic Shell: Das Folgeprojekt wurde schon wieder umbenannt und hei\u00dft jetzt Open-Shell-Men\u00fc. Hier ein paar Informationen und ein Hinweis, warum man eher 'Obacht' sagen muss (obwohl die Entwickler offenbar nachgebessert haben).<\/p>\n<p><!--more--><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg06.met.vgwort.de\/na\/6f1812e5614f4f389fe9c75f83565ae3\" alt=\"\" width=\"1\" height=\"1\" \/>Es gibt Software, die h\u00e4lt sich durch Umbenennungen im Aufmerksamkeitsfokus. Die Fortsetzung des Classic Shell-Projekts w\u00fcrde ich zu dieser Kategorie z\u00e4hlen, denn dieses Projekt hat sich wieder umbenannt.<\/p>\n<h2>Zum Hintergrund<\/h2>\n<p>Der Entwickler der Classic Shell, Ivo Beltchev, hat die Entwicklung der Software vor einiger Zeit eingestellt. Aber er \u00fcbergab den Quellcode an die Community zur weiteren Pflege. Ich hatte im Blog-Beitrag <a href=\"https:\/\/borncity.com\/blog\/2017\/12\/04\/windows-aus-fr-startmen-ersatz-classicshell\/\">Windows: Aus f\u00fcr Startmen\u00fc-Ersatz Classic Shell?<\/a> thematisiert. Das ist schon mal gut.<\/p>\n<h2>St\u00e4ndige Namenswechsel<\/h2>\n<p>Was aber f\u00fcr meinen Geschmack eher nicht so sch\u00f6n ist: Momentan gl\u00e4nzt das Projekt eher durch Umbenennungen. Kurze Zeit rangierte das Tool unter dem Namen Classic Start. Ich hatte dies im Blog-Beitrag <a href=\"https:\/\/borncity.com\/blog\/2018\/07\/12\/windows-info-splitter-name-fr-redstone-5-classic-shell-etc\/\">Windows: Info-Splitter, Name f\u00fcr Redstone 5, Classic Shell etc.<\/a> erw\u00e4hnt. Gut, eine Umbenennung w\u00e4re ok.<\/p>\n<p>Dann kam die Community auf die Idee, das Projekt in NeoClassic-UI\/Menu umzutaufen (siehe den Beitrag <a href=\"https:\/\/borncity.com\/blog\/2018\/07\/31\/classic-start-ist-jetzt-neoclassic-ui-menu\/\">Classic Start ist jetzt NeoClassic-UI\/Menu<\/a>). Au\u00dfer dem neuen Namen gab es Ende Juli 2017 nichts neues zu vermelden \u2013 also 'gehen Sie weiter, es gibt hier nichts zu sehen'.<\/p>\n<h2>Nun hei\u00dft es Open-Shell-Men\u00fc<\/h2>\n<p>Bei den Kollegen von deskmodder.de <a href=\"https:\/\/www.deskmodder.de\/blog\/2018\/08\/11\/classic-start-classic-shell-ersatz-fuer-windows-10-8-1-8-7\/\" target=\"_blank\" rel=\"noopener noreferrer\">lese<\/a> ich, dass die Entwickler doch wirklich noch einen neuen Namen gefunden haben. Der Startmen\u00fc-Ersatz firmiert jetzt unter dem Namen Open-Shell-Men\u00fc. Die aktuelle Installationsdatei hei\u00dft nun OpenShellSetup_4_4_126.exe. Ge\u00e4ndert hat sich wohl nichts an der Funktionalit\u00e4t. Das Projekt ist auf <a href=\"https:\/\/github.com\/Open-Shell\/Open-Shell-Menu\" target=\"_blank\" rel=\"noopener noreferrer\">GitHub<\/a> erreichbar, die Links sind aber noch nicht alle funktional. Die aktuelle Nightly Build ist <a href=\"https:\/\/ci.appveyor.com\/project\/passionate-coder\/open-shell-menu\/branch\/master\/artifacts\" target=\"_blank\" rel=\"noopener noreferrer\">hier<\/a> abrufbar, wobei diese nach 6 Monaten ablaufen.<\/p>\n<h2>Die gr\u00f6\u00dfte Baustelle: Sicherheit!<\/h2>\n<p>Jetzt k\u00f6nnte man den umgefallenen Sack Reis in China wieder aufheben und weiter gehen. Ich weise aber an dieser Stelle darauf hin, dass man von diesem Tool erst einmal Abstand halten sollte (unabh\u00e4ngig von dem, was die Community sich morgen einfallen l\u00e4sst. Warum diese deutliche Warnung?<\/p>\n<p>Beachtet <a href=\"https:\/\/borncity.com\/blog\/2018\/07\/31\/classic-start-ist-jetzt-neoclassic-ui-menu\/#comment-60643\" target=\"_blank\" rel=\"noopener noreferrer\">den Kommentar<\/a> von Stefan Kanthak, der nicht von der Hand zu weisen ist. Aus Gr\u00fcnden der Komfortabilit\u00e4t glauben die Entwickler einen .exe-Installer (statt einer .msi-Datei) ausliefern zu m\u00fcssen. Dieser Installer muss mit administrativen Berechtigungen ausgef\u00fchrt werden, um die Software zu installieren. Dabei entpackt der Installer die ben\u00f6tigten Dateien <del>in ein (ungesch\u00fctztes) TEMP-Verzeichnis<\/del>. Problem: Liegt eine Schadsoftware auf dem System vor, die momentan nur mit den Rechten eines eingeschr\u00e4nkten Benutzerkontos l\u00e4uft, schl\u00e4gt die Falle m\u00f6glicherweise zu.<\/p>\n<p>Diese Malware kann den Vorgang des Entpackens mitbekommen (es gibt Windows-APIs, die das melden und eine 'Hook-Funktion' der Malware aufrufen k\u00f6nnen). Dann reicht es, eine\u00a0 DLL-Datei\u00a0 mit einem bestimmten Namen in den TEMP-Ordner zu kopieren (da dieser ungesch\u00fctzt ist, geht dies mit begrenzten Nutzerrechten). Der Installer versucht w\u00e4hrend des Installationsvorgangs die vermeintliche Windows-DLL zu laden, greift aber \u2013 auf Grund von Windows-Eigenarten \u2013 auf die von der Schadsoftware platzierte DLL zu. Und prompt erh\u00e4lt die Malware \u00fcber die DLL administrative Berechtigungen.<\/p>\n<p>Das Ganze segelt unter dem Begriff DLL search order hijacking, ist lange bekannt, als <a href=\"https:\/\/cwe.mitre.org\/data\/definitions\/426.html\" target=\"_blank\" rel=\"noopener noreferrer\">potentielles Sicherheitsrisiko verp\u00f6nt<\/a> und sollte unbedingt vermieden werden. Stefan Kanthak hat einige Links und weitere Details <a href=\"https:\/\/borncity.com\/blog\/2018\/07\/31\/classic-start-ist-jetzt-neoclassic-ui-menu\/#comment-60643\" target=\"_blank\" rel=\"noopener noreferrer\">im Kommentar<\/a> dazu gepostet. <del>Das Projekt w\u00fcrde imho gut daran tun, sich weniger umzubenennen, sondern an den von Kanthak benannten Baustellen zu arbeiten.<\/del><\/p>\n<h2>Weitere Erkenntnisse<\/h2>\n<p><strong>Erg\u00e4nzung: <\/strong>An dieser Stelle muss ich tempor\u00e4r etwas zur\u00fcckrudern. Ich habe mir jetzt mal den Installer (unter Windows 7, allerdings nur den Startmen\u00fc-Teil) zu Gem\u00fcte gef\u00fchrt. Interessante Feststellung: Martin Feuerstein hatte ja im Kommentar darauf hingewiesen, dass die .exe einen Schalter zum Extrahieren der .msi-Installer aufweist &#8211; l\u00e4sst sich mit \/? anzeigen. Man kann also die Geschichte entpacken und die passende 32-\/64-Bit-Variante per .msi installieren. Werden die .msi-Dateien zur Installation benutzt, gibt es die obige Schwachstelle nicht.<\/p>\n<p>Scheinbar l\u00e4uft der .exe Installer-Wrapper w\u00e4hrend des Entpackens auch nur mit Standardrechten, entpackt die .msi-Dateien und ruft die passende Variante auf. Diese aktiviert dann per Manifest die UAC-Abfrage und installiert das Tool. Damit w\u00e4re ein Angriffsvektor wie oben beschrieben nach meinem bisherigen Wissen &#8211; wenn ich nichts \u00fcbersehen habe &#8211; ausgehebelt (ob die richtige msi die UAC aufruft, l\u00e4sst sich ja im UAC-Dialogfeld kontrollieren). <span style=\"text-decoration: line-through;\">Auch scheint in der .exe-Datei keine Abh\u00e4ngigkeit auf bestimmte Windows-Ressourcen zu existieren. Denn die von mir benutzte Test DLL-Datei wurde nicht getriggert. Die ge\u00e4u\u00dferten Bedenken scheinen also in dieser Version nicht (mehr) zu gelten.<\/span><\/p>\n<p>Nachtrag: Stefan Kanthak hat in den Kommentaren weiter unter ja darauf hingewiesen, dass die Dateien nicht digital signiert sind (das ist vermutlich den Nightly Builds geschuldet). Er hat mir folgendes mitgeteilt: Ruft man den Installer <em>ClassicStartSetup_4_4_109.exe <\/em>mit folgendem Link-Befehl auft:<\/p>\n<p><em>LINK.exe \/DUMP \/DEPENDENTS ClassicStartSetup_4_4_109.exe<\/em><\/p>\n<p>werden die nachfolgenden Abh\u00e4ngigkeiten angezeigt.<\/p>\n<p>COMCTL32.dll, VERSION.dll, KERNEL32.dll, USER32.dll, ADVAPI32.dll, SHELL32.dll<\/p>\n<p>Diese DLLs h\u00e4ngen aber wieder von GDI32.dll, MSVCRT.dll, RPCRT4.dll, SECUR32.dll und SHLWAPI.dll ab. Da VERSION.dll seit Windows Vista keine \"known DLL\" ist, wird jede Datei gleichen Namens aus dem Verzeichnis der jeweiligen Anwendung geladen. Das Gleiche gilt f\u00fcr <em>SECUR32.dll<\/em> und <em>RPCRT4.dll<\/em>.<\/p>\n<blockquote><p><strong>Anmerkung:<\/strong> In den Screeshots und dem obigen Beispiel wird noch die \u00e4ltere\u00a0<em>ClassicStartSetup_4_4_109.exe\u00a0<\/em>verwendet. Ich habe den Test auch mit der\u00a0<a href=\"https:\/\/ci.appveyor.com\/project\/passionate-coder\/open-shell-menu\/branch\/master\/artifacts\" target=\"_blank\" rel=\"noopener noreferrer\">\u00a0OpenShellSetup_4_4_126.exe<\/a>\u00a0(ist die momentan aktuell Nightly Build) durchgef\u00fchrt &#8211; gleiches Ergebnis. Auch digitale Signaturen fehlen. Daher habe ich den Screenshot und den Befehl in obigem Beispiel nicht mehr angepasst.<\/p><\/blockquote>\n<p>Stefan Kanthak hat mir einige seiner Test-DLLs \u00fcberlassen. Man kann sich z.B. die Datei <a href=\"https:\/\/skanthak.homepage.t-online.de\/download\/FORWARD.CAB\" target=\"_blank\" rel=\"noopener noreferrer\">Forware.cab<\/a>\u00a0herunterladen, und dann unter Windows in einen Testordner (ich habe einen Unterordner von <em>Downloads<\/em> verwendet) entpacken. Anschlie\u00dfend kopiert man das zu testende Programm in den gleichen Ordner und f\u00fchrt es danach aus. Ich habe gleich mal die <em>ClassicStartSetup_4_4_109.exe<\/em>\u00a0sowie die aktuelle\u00a0<em>OpenShellSetup_4_4_126.exe<\/em>\u00a0in dieser Testumgebung ausgef\u00fchrt. Dazu habe ich die Programme aus dem Fenster der Eingabeaufforderung gestartet, um auch Optionen angeben zu k\u00f6nnen. Hier das Ergebnis (die Ausgabe ist f\u00fcr beide Programmversionen, bis auf die Programmnamen, identisch):<\/p>\n<p><a href=\"https:\/\/i.imgur.com\/KZpxeJO.jpg\" target=\"_blank\" rel=\"noopener noreferrer\"><img loading=\"lazy\" decoding=\"async\" title=\"Warnung beim Aufruf\" src=\"https:\/\/i.imgur.com\/KZpxeJO.jpg\" alt=\"Warnung beim Aufruf\" width=\"559\" height=\"415\" \/><\/a><br \/>\n(Zum <a href=\"https:\/\/imgur.com\/KZpxeJO\" target=\"_blank\" rel=\"noopener noreferrer\">Vergr\u00f6\u00dfern klicken<\/a>)<\/p>\n<p>Bereits beim Versuch des Aufrufs des Hilfedialogs mit den Aufrufoptionen gibt es eine Warnung, dass die Datei h\u00e4tte manipuliert werden k\u00f6nnen. Ich habe im Anschluss die .msi-Installer extrahieren lassen. Bei deren Ausf\u00fchrung wird keine Warnung mehr ausgegeben. Da diese .msi-Installer aber (in den Nightly Builds) bisher unsigniert sind, k\u00f6nnte Malware diese manipulieren. An dieser Stelle habe ich den Test abgebrochen. Falls sich neue Erkenntnisse ergeben, trage ich diese nach.<\/p>\n<p><strong>\u00c4hnliche Artikel<\/strong><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2017\/12\/04\/windows-aus-fr-startmen-ersatz-classicshell\/\">Windows: Aus f\u00fcr Startmen\u00fc-Ersatz Classic Shell?<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2018\/07\/12\/windows-info-splitter-name-fr-redstone-5-classic-shell-etc\/\">Windows: Info-Splitter, Name f\u00fcr Redstone 5, Classic Shell etc.<\/a><br \/>\n<a href=\"https:\/\/borncity.com\/blog\/2018\/07\/31\/classic-start-ist-jetzt-neoclassic-ui-menu\/\">Classic Start ist jetzt NeoClassic-UI\/Menu<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>[English]Neue Information f\u00fcr Nutzer bzw. Interessenten der eingestellten Classic Shell: Das Folgeprojekt wurde schon wieder umbenannt und hei\u00dft jetzt Open-Shell-Men\u00fc. Hier ein paar Informationen und ein Hinweis, warum man eher 'Obacht' sagen muss (obwohl die Entwickler offenbar nachgebessert haben).<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[301],"tags":[3836,3288],"class_list":["post-207742","post","type-post","status-publish","format-standard","hentry","category-windows","tag-software","tag-windows-en"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/207742","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=207742"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/207742\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=207742"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=207742"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=207742"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}