Wenn Sie ein Windows-Benutzer sind, haben Sie wahrscheinlich schon von Microsoft AppLocker gehört. Mit diesem Whitelisting-Programm können Windows-Benutzer sich vor festplattenbasierter Malware schützen, indem ausführbare Programme auf eine bestimmte Liste mit Pfaden, Hashes oder signierten Anwendungen beschränkt werden. Mit AaronLocker ist noch ein weiteres Produkt hinzugekommen.
Was ist AaronLocker?
AaronLocker wurde von seinem Namensgeber Aaron Margosis entwickelt und ist ein Wrapper für die traditionelle Implementierung von Windows AppLocker. AaronLocker ist vollständig in der Skiptsprache PowerShell (5.0 und höher) geschrieben und enthält eine kleine Anzahl von Skripten, die sich leicht an spezifische Anforderungen anpassen lassen. Das übergeordnete Ziel besteht darin, die Windows AppLocker-Implementierung robuster, praktischer und wartungsfreundlicher zu machen und gleichzeitig eine kostenlose Lösung anzubieten. AaronLocker enthält sogar einige zusätzliche Skripte, mit deren Hilfe Richtlinien- und Ereignisdaten von Microsoft AppLocker in einer Excel-Datei erfasst werden können. Raffiniert!
AaronLocker-Dateien können über den folgenden Link von GitHub heruntergeladen werden: https://github.com/Microsoft/AaronLocker/
Die AaronLocker-Strategie
AaronLocker implementiert Microsoft AppLocker entsprechend einer bestimmten Strategie. Von einem nicht administrativen Benutzer auf dem Computer hinzugefügte Programme oder Skripte dürfen ohne ausdrückliche Erlaubnis eines Administrators nicht ausgeführt werden. Dies wird sowohl über Benutzerberechtigungen als auch über den Standort gesteuert. Die Programme in Verzeichnissen wie dem Verzeichnis für Programmdateien, das nur für den Administrator zugänglich ist, werden als zulässig eingestuft und dürfen ausgeführt werden. Andere von Benutzern verwaltete Verzeichnisse sind, soweit nicht anders genehmigt, eingeschränkt.
Ausführen Ihres ersten AaronLocker-Skripts
Die Leitung dieses Tutorials erfolgte auf einem Windows 10-Computer mit PowerShell v5.1 und mit aktivierter Skriptausführung. Wir haben Sysinternals AccessChk.exe über den folgenden Link heruntergeladen:
https://docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite. AccessChk wurde zum Windows 10-Computer hinzugefügt, damit AaronLocker feststellen kann, ob die Verzeichnisse von Benutzern beschrieben werden können. Das AaronLocker.zip-Paket wurde in das Verzeichnis C:\ extrahiert und und AccessChk.exe wurde im gleichen AaronLocker-Verzeichnis abgelegt.
E-Book: Leitfaden für IT-Spezialisten zur Informationssicherheit und Compliance. Kostenlos herunterladen >> .
Erstmalige Anpassung von AaronLocker
Der erste Schritt im AaronLocker-Regel-Erstellungsprozess besteht darin, alle anzuwendenden Anpassungen hinzuzufügen. Alle Anpassungsskripte befinden sich im Ordner CustomizationInputs. Dieser wurde mit dem AaronLocker-Paket von GitHub heruntergeladen. Platzieren Sie einfach die entsprechenden Ausnahmen in der entsprechenden Datei. Beispielsweise werden alle bekannten vertrauenswürdigen Signaturgeber zu TrustedSigners.ps1 hinzugefügt.
In diesem Tutorial verwalten wir die AaronLocker-Richtlinie nach Pfaden. Stellen Sie zunächst sicher, dass die Ausführung aller sicheren Pfade zulässig ist, indem Sie sie zur Datei GetSafePathsToAllow.ps1 hinzufügen. Stellen Sie sicher, dass alle Pfade, die zu diesem Verzeichnis hinzugefügt werden, nur von einem Administrator verändert werden können.
Als Nächstes fügen wir eine Liste aller unsicheren Pfade hinzu, indem wir die Datei UnsafePathToBuildRulesFor.ps1 ändern. Zu diesem Zeitpunkt erfolgt das Whitelisting. In diesem Fall haben wir uns dafür entschieden, das Verzeichnis C:\Test zur Whitelist hinzuzufügen.
Wenn Sie sich nicht sicher sind, welche Verzeichnisse zur Whitelist hinzugefügt werden sollten, können Sie das Skript ScanDirectories.ps1 zur Identifizierung von sicheren Verzeichnissen nutzen. Beispielsweise wurde durch den folgenden PowerShell-Befehl eine Liste der sicheren Verzeichnisse unter C:\Benutzer erstellt.
Verwenden Sie die Datei createpolicies.ps1, um Ihre AppLocker-Richtlinien zu erstellen. Wenn das Skript ausgeführt wurde, befindet sich der neue Richtliniensatz im Ausgabeverzeichnis. Sowohl eine Überwachungs- als auch eine Durchsetzungsrichtlinie sind darin enthalten.
Lokale Aktivierung der Richtlinie
Im letzten Schritt wenden wir die Richtlinie lokal an. Führen Sie zunächst ConfigureForAppLocker.ps1 aus. Dieses Skript konfiguriert den Anwendungsidentitätsdienst (AppIdSvc) für den automatischen Start, startet den Dienst und konfiguriert die AppLocker-Ereignisprotokollgröße auf jeweils 1 GB.
Führen Sie als Nächstes das Skript ApplyPolicyToLocalGPO.ps1 aus. Damit wird die neueste durch AaronLocker generierte Richtlinie umgehend auf die lokale Gruppenrichtlinie angewendet. Standardmäßig wird die Richtlinie sofort erzwungen. Um stattdessen die Richtlinie zum Überwachungsmodus anzuwenden, fügen Sie den Switch „‑AuditOnly“ der Befehlszeile hinzu.
Testen der AaronLocker-Richtlinie
Um die neue Richtlinie testen zu können, müssen wir uns zunächst über ein Benutzerkonto anmelden. Wir führen eine Anwendung aus dem Verzeichnis C:\Test aus, dessen Ausführung wir blockiert haben. Voilà: Die Ausführung wird blockiert.
Jetzt stellen wir sicher, dass die entsprechenden Verzeichnisse zulässig sind. Dazu testen wir eine ausführbare Datei aus dem Verzeichnis C:\Windows. Genauer gesagt, führen wir calc.exe aus. Die Datei wird nun ausgeführt. Wir haben unsere erste AaronLocker-Richtlinie überprüft.
E-Book: Leitfaden für IT-Spezialisten zur Informationssicherheit und Compliance. Kostenlos herunterladen >> .
Dan Franciscus
Dan Franciscus is a systems engineer and VMware Certified Professional (VCP) specializing in VMware, PowerShell, and other Microsoft-based technologies. You can reach Dan at his blog (http://www.winsysblog.com/) or Twitter at @dan_franciscus.