{"id":261114,"date":"2022-01-04T00:11:00","date_gmt":"2022-01-03T23:11:00","guid":{"rendered":"https:\/\/www.borncity.com\/blog\/?p=261114"},"modified":"2022-01-04T22:45:28","modified_gmt":"2022-01-04T21:45:28","slug":"sicherheit-windows-format-befehl-ermglicht-dll-loading-missbrauch","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2022\/01\/04\/sicherheit-windows-format-befehl-ermglicht-dll-loading-missbrauch\/","title":{"rendered":"Sicherheit: Windows Format-Befehl erm&ouml;glicht DLL-Loading-Missbrauch"},"content":{"rendered":"<p><img decoding=\"async\" style=\"float: left; margin: 0px 10px 0px 0px; display: inline;\" title=\"Sicherheit (Pexels, allgemeine Nutzung)\" src=\"https:\/\/borncity.com\/blog\/wp-content\/uploads\/2021\/04\/Sicherheit_klein.jpg\" alt=\"Sicherheit (Pexels, allgemeine Nutzung)\" width=\"200\" \/>[<a href=\"https:\/\/borncity.com\/win\/?p=22806\" target=\"_blank\" rel=\"noopener\">English<\/a>]Es ist schier unglaublich, was sich so alles hinter Windows-Funktionen verbergen kann. Der seit ewigen Zeiten in der Eingabeaufforderung aufrufbare <em>format<\/em>-Befehl zum Formatieren von Datentr\u00e4gern, hat einen Seiteneffekt. Mit einem Parameter l\u00e4sst sich der Aufruf einer beliebigen DLL erzwingen, die dann aus dem Suchpfad heraus geladen wird. Ich konnte das kaum glauben, als ich auf diesen Sachverhalt aufmerksam gemacht wurde.<\/p>\n<p><!--more--><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/vg09.met.vgwort.de\/na\/1fb340423ce14f178bea614ef5283a26\" alt=\"\" width=\"1\" height=\"1\" \/>Der Sachverhalt ist mir von Grzegorz Tworek auf Twitter in einem kurzen <a href=\"https:\/\/twitter.com\/0gtweet\/status\/1477925112561209344\" target=\"_blank\" rel=\"noopener\">Post<\/a> unter die Augen gekommen. Die Aussage in nachfolgendem Tweet lautet: Gibt man in der Befehlszeile den Namen einer beliebigen DLLs mit einem vorangestellten Buchstaben U beim Parameter \/FS an, wird die DLL aus dem Suchpfad heraus geladen.<\/p>\n<p><a href=\"https:\/\/twitter.com\/0gtweet\/status\/1477925112561209344\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" title=\"Abusing Format for DLL load\" src=\"https:\/\/i.imgur.com\/KjMVVx0.png\" alt=\"Abusing Format for DLL load\" \/><\/a><\/p>\n<p>Der DOS-Format-Befehl erm\u00f6glicht verschiedene Parameter, die in <a href=\"https:\/\/docs.microsoft.com\/en-us\/windows-server\/administration\/windows-commands\/format\" target=\"_blank\" rel=\"noopener\">diesem Microsoft-Dokument<\/a> beschrieben sind. Mit dem Schalter <em>\/FS:filesystem<\/em> kann das gew\u00fcnschte Dateisystem angegeben werden. Laut Microsoft lassen sich \u00fcber den Schalter die folgenden Dateisysteme zur Formatierung vorgeben: FAT, FAT32, NTFS, exFAT, ReFS, or UDF.<\/p>\n<p>Grzegorz Tworek ist nun aber aufgefallen, dass es eine undokumentierte M\u00f6glichkeit gibt, \u00fcber die sich theoretisch beliebige Dateisysteme beim Formatieren anwenden lassen. Es muss lediglich eine entsprechende DLL vorhanden sein, die die Formatierung \u00fcbernimmt. Als Parameter f\u00fcr \/FS ist dann der Name dieser DLL mit einem vorangestellten U anzugeben. Eine Befehlszeile der Art:<\/p>\n<p>format I: \/fs:MyDll.dll<\/p>\n<p>w\u00fcrde dann die Bibliotheksdatei <em>U<\/em><em>MyDll.dll<\/em> laden und zur Ausf\u00fchrung bringen. Diese DLL wird dann im Suchpfad, also dem Programmordner und weiteren Ordnern ausgef\u00fchrt. Grzegorz Tworek hat das an einer eigenen DLL mit dem Namen <em>Pwning.dll <\/em>demonstriert, die dann eine Message-Box mit dem Wort Pwned! anzeigt. Da gibt es sicherlich einige M\u00f6glichkeiten, wie das missbraucht werden kann.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>[English]Es ist schier unglaublich, was sich so alles hinter Windows-Funktionen verbergen kann. Der seit ewigen Zeiten in der Eingabeaufforderung aufrufbare format-Befehl zum Formatieren von Datentr\u00e4gern, hat einen Seiteneffekt. Mit einem Parameter l\u00e4sst sich der Aufruf einer beliebigen DLL erzwingen, die &hellip; <a href=\"https:\/\/borncity.com\/blog\/2022\/01\/04\/sicherheit-windows-format-befehl-ermglicht-dll-loading-missbrauch\/\">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-261114","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\/261114","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=261114"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/261114\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=261114"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=261114"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=261114"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}