Windows Defender Exploit Guard – Attack Surface Reduction – Real Life Test

Microsoft hat in den aktuellsten Windows 10 Versionen 1709 und 1803 einige Sicherheitsfeatures in Windows Defender integriert, welche das Risiko einer Malware-Infektion stark reduzieren sollen. Uns Pentester treffen diese Mitigations potentiell recht schmerzhaft, da sie das derzeitige Schadsoftware-Einfallstor #1 direkt absichern (sollen): Email und Office-Applikationen. Windows 10 und ein aktuell gehaltener Windows Defender sind bereits im Default-Zustand recht effektiv – Grund genug, zu testen ob die zusätzlichen Features die Latte noch höher legen können!

Allgemeine Infos über die Attack Surface Reduction findet man in der Microsoft Dokumentation.

Wir starten mit einem generellen Funktionstest: Mit Kali Linux und Unicorn erstellen wir eine Fileless Malware und verstecken diese in einem Word-2003-Macro, welches beim Öffnen des Dokuments automatisch ausgeführt wird. Dabei wird eine Meterpreter Session zum Angreifer erzeugt.

Wir testen ausserdem die Tools Mimikatz und Kekeo, einerseits um Credentials, andererseits um Kerberos Ticket auszulesen:

Nun konfigurieren wir Defender, idealerweise über Group Policies, denn wir sind Enterprisey 😉 Die offizielle Anleitung ist hier zu finden.
An dieser Stelle auch noch der Hinweis auf ein Beispiel-Ruleset im sehr hilfreichen Blog von Gunnar Haslinger.

Nach gpupdate /force am Testclient führen wir das Malware-verseuchte Word-File neu aus. Wie auf den folgenden Screenshots zu sehen, wird der Angriff erfolgreich blockiert.

 

Unsere Angriffe mit Mimikatz und Kekeo zeigen sich jedoch vom neuen Schutzmechanismus recht unbeeindruckt. Wir können weiterhin Kerberos-Tickets exportieren und Passwörter auslesen.

Dafür bekommen wir nun auf unseren Lab-Notebooks alle paar Sekunden eine Warnmeldung von Defender, die nach näherer Betrachtung im Eventlog von VmWare Workstation auszugehen scheint. Ohne dem näher nachzugehen – das wäre im Produktivbetrieb so nicht brauchbar.

Auf der Microsoft ASR Demo Page  findet sich leider kein Testcase zum Feature lsass Protection / 9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 – wir haben mal nachgefragt, was Sache ist. Sollte eine brauchbare Antwort eintreffen, werden wir den Blogpost updaten!

 

Das Unsigned-Executable-From-USB-Stick-Feature haben wir auch kurz probiert:

Dies funktioniert wie erwartet. Es stellt sich aber die Frage, ob dies in der Praxis einen relevanten Schutz darstellt. Selbst das oben genannte Tool Mimikatz ist vom Programmierer digital signiert und wird daher nicht blockiert (um genau zu sein: Defender blockiert das File erfolgreich, aber aufgrund der AV-Signatur, nicht aufgrund der ASR-Settings). Eine Whitelisting, Application Control oder USB-Management Lösung ersetzt das Feature daher nicht.

 

Fazit:
Auf den ersten Blick stellen einige (wenige) der verfügbaren Protection Settings tatsächlich eine größere Hürde für Angreifer dar, zumindest wenn man default-Scriptkiddie-Attacken aus Google-Anleitungen betrachtet.  Inwieweit dieser Schutzmechanismus doch noch umgangen werden kann, wird sich noch zeigen – Child-Prozesse aus Office-Anwendungen heraus nicht mehr erzeugen zu können, dürfte aber schon mal sehr effektiv sein – sofern nicht durch irgendeinen Business-Case nicht im Unternehmen implementierbar.

Windows Defender ist unserer Praxiserfahrung nach daher zu einem ziemlich bissigen Antimalware-Tool geworden und dem ein oder anderen namhaften Konkurrenten duchaus überlegen. Wer Defender im Unternehmen einsetzt, sollte die neuen Mitigations daher unbedingt austesten!

 

Robert Rostek
robert.rostek@strong-it.at

We shall never surrender