{"id":163914,"date":"2015-06-26T01:37:00","date_gmt":"2015-06-25T23:37:00","guid":{"rendered":"http:\/\/www.borncity.com\/blog\/?p=163914"},"modified":"2022-05-28T05:01:51","modified_gmt":"2022-05-28T03:01:51","slug":"windows-powershell-als-einfallstor-fr-malware","status":"publish","type":"post","link":"https:\/\/borncity.com\/blog\/2015\/06\/26\/windows-powershell-als-einfallstor-fr-malware\/","title":{"rendered":"Windows PowerShell als Einfallstor f&uuml;r Malware"},"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\/2015\/01\/Schutz.jpg\" width=\"40\" height=\"47\" align=\"left\" \/>Die Windows PowerShell, eine von Microsoft entwickelte Alternative zum Windows-Kommandozeilenprogramm und zum Windows Script Host, wird zunehmend als Einfallstor f\u00fcr Schadsoftware genutzt. Darauf macht Security-Software-Hersteller-Anbieter ESET aufmerksam. Die betreffenden Informationen m\u00f6chte ich euch nicht vorenthalten.<\/p>\n<p><!--more--><\/p>\n<p>Die Gr\u00fcnde f\u00fcr diesen Trend liegen einerseits im gro\u00dfen Funktionsumfang der PowerShell, andererseits in der engen Verkn\u00fcpfung zum Windows-Betriebssystem. Denn die PowerShell ist seit Windows 7 Bestandteil des Betriebssystems. Allerdings ist die PowerShell-Konsole aus Sicherheitsgr\u00fcnden standardm\u00e4\u00dfig deaktiviert (siehe mein Artikel <a href=\"https:\/\/borncity.com\/blog\/2010\/02\/24\/powershell-skripte-lassen-sich-nicht-ausfhren\/\">PowerShell-Skripte lassen sich nicht ausf\u00fchren<\/a>). Wer als Privatanwender die PowerShell nicht f\u00fcr die Scriptausf\u00fchrung aktiviert, hat also erst einmal nichts zu bef\u00fcrchten.<\/p>\n<p>Ist die PowerShell aktiviert, kann allerdings auch Malware auf deren Funktionen zugreifen. Laut ESET f\u00e4llt es Security-Programmen schwer, b\u00f6sartige Software, die PowerShell ausnutzt, auch als solche zu identifizieren. <a href=\"https:\/\/web.archive.org\/web\/20210622125849\/https:\/\/www.welivesecurity.com\/deutsch\/2015\/06\/24\/windows-powershell-als-einfallstor-fuer-schadsoftware\/\" target=\"_blank\" rel=\"noopener noreferrer\">In einem aktuellen Artikel<\/a> auf seinem Security-Blog WeLiveSecurity zeigt ESET anhand einer PowerShell-Malware auf, welche T\u00fccken und Sicherheitsrisiken von der PowerShell ausgehen. Hier die Ausf\u00fchrungen von ESET zum Thema.<\/p>\n<h3>Gefahr durch Dateitransfer \u00fcber PowerShell<\/h3>\n<p>Mit Hilfe der Konsole lassen sich Dateien auf verschiedenen Wegen herunterladen. Die Befehle dazu lauten:<\/p>\n<ol>\n<li>DownloadFile<br \/>\nErlaubt den Download von einer Internetadresse direkt auf den PC<\/li>\n<li>DownloadString<br \/>\nErlaubt den Download und die Ausf\u00fchrung eines PowerShell-Skripts<\/li>\n<li>Invoke-WebRequest<br \/>\nEine weitere M\u00f6glichkeit, eine Datei aus dem Internet herunterzuladen<\/li>\n<li>Start-BitsTransfer<br \/>\nErlaubt, mit Hilfe des intelligenten Hintergrund\u00fcbertragungsdienstes von Windows (BITS) und dem Standard-Cmdlet Start-BitsTransfer einen Auftrag zu erstellen, um eine Datei herunterzuladen. Hier muss zuvor das Modul BitsTransfer mit dem Befehl Import-Module importiert werden<\/li>\n<\/ol>\n<p>Die genannten Befehle werden von PowerShell-Sch\u00e4dlingen genutzt, um zus\u00e4tzlichen Schadcode auf den Computer des Opfers zu laden. Die Methode <em>DownloadString<\/em> bietet dar\u00fcber hinaus den Vorteil, dass ein PowerShell-Skript direkt nach dem Download im Speicher ausgef\u00fchrt werden kann \u2013 ohne notwendige Kopie auf die Festplatte.<\/p>\n<h3>Malware, die (fast) ohne Dateien auskommt<\/h3>\n<p>Eine Schadsoftware, die sich die genannten Befehle der Windows PowerShell zu Nutze macht, ist <a href=\"http:\/\/virusradar.com\/en\/Win32_Bedep\/detail\" target=\"_blank\" rel=\"noopener noreferrer\">Win32\/Bedep<\/a>. Nachdem sich das Opfer damit infiziert hat, erstellt Bedep einen Eintrag in der Windows-Registry, dadurch bleibt die Software auch nach einem System-Neustart aktiv.<\/p>\n<p>Der Registrierungseintrag bewirkt, dass der Windows Explorer bei jedem Systemstart eine Instanz des Kommandozeilenprogrammes cmd.exe ausf\u00fchrt, die wiederum eine unsichtbare, nicht interaktive Instanz der PowerShell startet. Hierbei werden mehrere Befehle \u00fcbergeben, um den Command &amp; Control-Server (C&amp;C Server) des Botnetzes zu kontaktieren.<\/p>\n<p>Daran interessant ist, dass es sich bei den Daten um ein PowerShell-Skript handelt, das f\u00fcr den Nutzer unsichtbar einen x86-Shellcode ausf\u00fchrt. Dieser Shellcode \u00e4hnelt in seinem Aufbau stark den Shellcodes des quelloffenen Penetrationtesting-Werkzeugs <a href=\"https:\/\/web.archive.org\/web\/20211130223628\/https:\/\/metasploit.com\/\" target=\"_blank\" rel=\"noopener noreferrer\">Metasploit<\/a>. Er besorgt sich zun\u00e4chst die Adressen der ben\u00f6tigten Windows API-Funktionen, indem er den sogenannten Process Environment Block (PEB) durchl\u00e4uft. Der PEB wird intern vom Betriebssystem verwendet und beinhaltet eine Reihe an Daten, die f\u00fcr den fehlerfreien Betrieb eines Prozesses notwendig sind, unter anderem auch eine doppelt verkettete Liste mit den Adressen der API-Funktionen der verwendeten Laufzeitbibliotheken (DLLs).<\/p>\n<p>Nachdem sich der Shellcode die Adressen besorgt hat, reserviert er einen Speicherbereich und kontaktiert den C&amp;C-Server. Als Antwort sendet der C&amp;C-Server einen zweiten x86-Shellcode in den zuvor reservierten Speicherbereich zur\u00fcck. Dieser zweite, zweistufige Shellcode beinhaltet auch die eigentliche Payload in Form einer mit PECompact komprimierten DLL-Datei. Zun\u00e4chst entschl\u00fcsselt die erste Stufe die verschl\u00fcsselte zweite Stufe. Hierbei handelt es sich um eine einfache XOR-Verschl\u00fcsselung mit dem Schl\u00fcssel 0x21.<\/p>\n<p>Die zweite Stufe besteht aus einem Loader und der eigentlichen Payload. Der Loader k\u00fcmmert sich zun\u00e4chst darum, dass die aktuellen Windows API-Funktionsadressen in den sogenannten Import Address Table (IAT) der Payload geschrieben werden. Diese Aufgabe \u00fcbernimmt normalerweise der Windows-Loader vor dem Ausf\u00fchren einer Datei, damit das eigentliche Programm die API-Funktionen w\u00e4hrend der Laufzeit aufrufen kann. Da die Payload aber direkt vom Speicher aus von einem Shellcode gestartet wird, muss sich der Shellcode selbst um diese Aufgabe k\u00fcmmern.<\/p>\n<p>Nachdem die aktuellen Funktionsadressen in den IAT der Payload geschrieben wurden, ruft der Loader die Startadresse der Payload auf. Anschlie\u00dfend f\u00fchrt das Betrugs-Modul im Speicher seine sch\u00e4dlichen Routinen aus.<\/p>\n<h3>ESETs Fazit: Noch nicht ausgereift, aber Vorbild f\u00fcr neue Malware<\/h3>\n<p>Die beschriebene Variante des Bots Win32\/Bedep nutzt laut ESET eine interessante Technik, um mittels Windows PowerShell und einem einfachen Registry-Eintrag die dauerhafte Pr\u00e4senz auf dem Computer eines Opfers zu bewerkstelligen. Die einzige Spur der Schadsoftware auf dem System ist dabei der Registry-Schl\u00fcssel, alle weiteren Teile werden unsichtbar im Arbeitsspeicher ausgef\u00fchrt.<\/p>\n<p>Win32\/Bedep lief im ESET-Labor instabil und brachte gelegentlich das Windows-Testsystem zum Absturz. Richtig implementiert k\u00f6nnte diese Methode jedoch eine ernsthafte Bedrohung sein, auch wenn sie durch die Ausf\u00fchrung von cmd.exe und dem damit verbundenen Kommandozeilenfenster nach jedem Systemstart visuell recht auff\u00e4llig ist \u2013 f\u00fcr erfahrene Nutzer eine deutliche, ebenso gro\u00dfe Auff\u00e4lligkeit wie der Aufbau einer Internetverbindung durch die PowerShell.<\/p>\n<h3>Abschlie\u00dfende Betrachtung<\/h3>\n<p>Um sich vor Malware wie Win32\/Bedep bestm\u00f6glich zu sch\u00fctzen, r\u00e4t ESET zum Einsatz einer aktuellen Security-Software, beispielsweise <a href=\"https:\/\/web.archive.org\/web\/20170108093705\/https:\/\/www.eset.com\/de\/home\/products\/smart-security\/\" target=\"_blank\" rel=\"noopener noreferrer\">ESET Smart Security<\/a> oder <a href=\"https:\/\/web.archive.org\/web\/20170317064927\/https:\/\/www.eset.com\/de\/home\/products\/antivirus\/\" target=\"_blank\" rel=\"noopener noreferrer\">ESET NOD32 Antivirus<\/a>. Hier bekomme ich pers\u00f6nlich aber heftige Bauchschmerzen, habe ich doch erst vor einigen Tagen im Artikel <a href=\"https:\/\/borncity.com\/blog\/2015\/06\/25\/google-projekt-zero-antivirus-software-als-archillesferse\/\">Google Projekt Zero: Antivirus-Software als Archillesferse<\/a> die Produkte als \"Archillesferse\" f\u00fcr Systeme thematisiert. Und wer die Scriptausf\u00fchrung nicht aktiviert hat, braucht die Gefahrenstelle imho nicht zu f\u00fcrchten. Erg\u00e4nzung: Ein Cheat-Sheet f\u00fcr Metasploits findet sich <a href=\"https:\/\/www.comparitech.com\/net-admin\/metasploit-cheat-sheet\/\" target=\"_blank\" rel=\"noopener noreferrer\">\u00fcbrigens hier<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Die Windows PowerShell, eine von Microsoft entwickelte Alternative zum Windows-Kommandozeilenprogramm und zum Windows Script Host, wird zunehmend als Einfallstor f\u00fcr Schadsoftware genutzt. Darauf macht Security-Software-Hersteller-Anbieter ESET aufmerksam. Die betreffenden Informationen m\u00f6chte ich euch nicht vorenthalten.<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[426,161],"tags":[1018,4311,4328],"class_list":["post-163914","post","type-post","status-publish","format-standard","hentry","category-sicherheit","category-virenschutz","tag-malware","tag-powershell","tag-sicherheit"],"_links":{"self":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/163914","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=163914"}],"version-history":[{"count":0,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/posts\/163914\/revisions"}],"wp:attachment":[{"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/media?parent=163914"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/categories?post=163914"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/borncity.com\/blog\/wp-json\/wp\/v2\/tags?post=163914"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}