kgborn
Goto Top

Ups: Einfaches Nullzeichen hebelte den Anti-Malware-Schutzt in Windows 10 aus

Windows 10 ist das sicherste Windows aller Zeiten, wie Microsoft betont. Insidern ist aber klar, das es da Lücken, groß wie Scheunentore gibt. Man muss nur wissen, wo man schauen soll. So gab es in Windows 10 einen (nun gefixten) Bug, mit dem Schadsoftware durch ein simples Nullzeichen das Anti-Malware Scan Interface (AMSI) austricksen konnte. In Folge wurden Dateien nicht vollständig gescannt, Malware blieb also unentdeckt und konnte anschließend ausgeführt werden.

back-to-topWorum geht es genau?


Mit Windows 10 wurde auch das Antimalware Scan Interface (AMSI) eingeführt. Dies ist ein generischer Schnittstellenstandard, der es Anwendungen und Diensten ermöglicht, sich in jedes beliebige Anti-Malware-Produkt auf einer Maschine zu integrieren. Ich hatte im Blog-Beitrag Windows 10: Welche Antivirus-Lösung soll ich einsetzen? 2015 auf dieses Thema hingewiesen. Allerdings verwenden nicht alle Drittanbieter diese Schnittstelle.

Das Problem: Die System.Management.Automation.dll berücksichtigte nicht, dass in PowerShell-Dateien Nullzeichen vorkommen dürfen. Das Nullzeichen veranlasst die betreffende API-Funktion den Scan durch die Antimalware-Engine an dieser Stelle abzubrechen (da angeblich das Dateiende erreicht ist). Hinter dem Nullzeichen können aber weitere PowerShell-Anweisungen abgelegt werden. Diese werden auch von der PowerShell ohne weiteres ausgeführt.

Lange Rede, kurzer Sinn: Ein Nullzeichen in einem PowerShell-Script eingefügt, und der dahinter folgende Code wird nicht mehr gescannt. Ein gefundenes Fressen für Malware-Autoren, die in letzter Zeit immer häufiger Exploits unter Verwendung der PowerShell entwickeln.

back-to-topKanadischer Sicherheitsforscher findet den Bug


Der kanadische Sicherheitsforscher Satoshi Tanda aus Vancouver ist auf diesen Bug in der Bibliothek System.Management.Automation.dll gestoßen. In seinem Blog beschreibt er in diesem Beitrag die Details und ein paar Beispiele. Tanda hat dann ein PowerShell-Script zur Demonstration erstellt.

w10amsi

Wird das PowerShell-Script, welches einen Mimikatz-Exploit von Github herunterladen soll, ausgeführt, schlägt der Thread-Schutz (in obigem Bild ist es der Windows Defender) zu. Satoshi Tanda demonstriert in seinem Beitrag dann, dass durch ein simples, im PowerShell-Script eingefügtes Nullzeichen der Schadcode maskiert werden kann. Bei der Ausführung des PowerShell-Scripts wird dieses zum Scan an die AMSI-Provider übergeben. Diese brechen aber ab dem Nullzeichen mit dem Scan ab, die ‘schädlichen’ Script-Bestandteile hinter dem Nullzeichen werden nicht erkannt. Die PowerShell führt aber den Code hinter dem Nullzeichen aus, wodurch der Schadcode ausgeführt wird.

Satoshi Tanda hat den Fehler an Microsoft gemeldet, worauf dieser im Rahmen des Februar 2018-Patchday wohl behoben wurde. Tanda empfiehlt aber Drittherstellern ihre Produkte dahingehend zu überprüfen, dass dort Nullbytes nicht zum gleichen Effekt führen.

Content-Key: 365262

Url: https://administrator.de/contentid/365262

Ausgedruckt am: 19.03.2024 um 11:03 Uhr