Microsoft PowerShell und die neuen Grenzen der Malware

(Di Davide Maiorca)
16/06/21

Die meisten Benutzer von Microsoft Windows (insbesondere Systemadministratoren) werden mindestens einmal davon gehört haben Windows Powershell, ein Befehlsinterpreter (genauer definiert "Shell", sehr ähnlich zu Interpretern wie Bash unter Linux), über den es möglich ist, verschiedene Funktionalitäten des Betriebssystems zu "steuern". Zu diesen Funktionen gehören beispielsweise die Möglichkeit, Dateien zu kopieren und zu verschieben, Anwendungen aus der Ferne herunterzuladen, aber auch die Liste der derzeit ausgeführten Dienste zu überprüfen. Die Befehle Powershell sie heißen auch Cmdlets, und stellen eine Kombination von Funktionen dar, die normalerweise in einem einzigen Befehl eingeschlossen sind. Zum Beispiel das Cmdlet ConvertTo-XML erstellt eine XML-Darstellung eines Objekts.

Was Insidern sicherlich weniger bekannt ist, ist die Tatsache, dass Powershell es wird häufig verwendet, um bösartige Funktionen auszuführen. Die Idee ist einfach: Mit den von der Shell bereitgestellten Funktionen können Sie erweiterte Systembefehle ausführen, die bei unsachgemäßer Verwendung auch für das System selbst schädlich sein können (z. ) . Dies ist ein enormer Vorteil beim Angriff auf Windows-Systeme gegenüber herkömmlichen Techniken zur Ausnutzung von Sicherheitslücken, bei denen bösartiger Code ausgeführt wird, indem Sicherheitslücken in Programmen ausgenutzt werden, die bereits auf dem Zielcomputer vorhanden sind (normalerweise veraltet). Durch PowershellSomit besteht keine Notwendigkeit, anwendungs- oder betriebssystemspezifische Schwachstellen auszunutzen, sondern Angriffe können direkt durchgeführt werden.

Powershell es wird oft indirekt durch die Verwendung von Infektionsvektoren verwendet, die oft durch Word- und Excel-Dateien repräsentiert werden. Tatsächlich enthalten diese Dateien Makros oder automatische Prozeduren, die normalerweise das Schreiben von Dokumenten oder Tabellen erleichtern sollen (beispielsweise das automatische Füllen bestimmter Zellen oder das Ausführen bestimmter Berechnungen in mehreren Zellen). Auch in diesem Fall werden diese Makros oft in absolut "gutartigen" Kontexten verwendet, können aber Funktionen zur Generierung von Codes implementieren Powershell. Ferner Powershell Es kann auch direkt verwendet werden, indem eine Reverse-Shell erstellt wird, die es einem Angreifer ermöglicht, seine volle Funktionalität zu nutzen.

Ein weiteres Merkmal des Codes Powershell es ist die Fähigkeit, sich vor den Augen eines Analytikers zu "verstecken", um seine Handlungen nicht offensichtlich zu machen. Diese Funktion trägt den Namen Verschleierung. Es ist daher möglich, sehr einfachen Code zu nehmen und ihn enorm zu komplizieren, ohne seine Semantik zu ändern (dh das Programm funktioniert genau so wie die nicht verschleierte Version).

Zur Abwehr und Analyse von Malware Powershell getrübt, hat die wissenschaftliche Forschung in den letzten Jahren große Fortschritte gemacht. Insbesondere zwei Studien der Universität Cagliari [1,2] haben effiziente Techniken entwickelt, um diese Angriffe zu entschärfen. Insbesondere ein Open-Source-Tool namens PowerDecode, in der Lage, den Code zu erhalten Powershell Original von seiner unscharfen Variante. PowerDecode kann kostenlos heruntergeladen werden [3].

Malware Powershell Daher stellen sie ein wichtiges Risiko für Windows-Systeme dar, insbesondere wenn sie aus Office-Dokumenten geladen werden. Die Forschung ist jedoch immer noch aktiv, um immer effizientere Lösungen vorzuschlagen, um diese Kategorie von Angriffen analysieren und erkennen zu können.

Referenzen

[1] P. Ugarte, D. Mallorca, F. Cara und G. Giacinto. PowerDrive: Accurate De-Obfuscation and Analysis of PowerShell Malware, 16. Konferenz zur Erkennung von Eindringlingen und Malware & Vulnerability Assessment (DIMVA). Springer, Göteborg, Schweden, S. 240-259, 2019.

[2] GM Malandrone, G. Virdis, G. Giacinto und D. Maiorca. PowerDecode: ein PowerShell-Skript-Decoder für die Malware-Analyse. In der 5. Italienischen Konferenz über Cybersicherheit (ITASEC), 2021.

[3] PowerDecode. https://github.com/Malandrone/PowerDecode