Prototype Pollution
Andrea Hauser
So analysieren Sie Group Policies in Windows
Der Policy Analyzer ist eines der Tools, welches Microsoft in seinem Security Compliance Toolkit anbietet. In diesem Artikel möchte ich die Anwendungsbereiche des Policy Analyzers aufzeigen sowie die Erstellung einer eigenen PolicyRule-Datei besprechen. Mit PolicyRule-Dateien können eigene Security Baselines festgelegt werden und einfach auf einem System überprüft werden, ob die vorgegebenen Security Baselines eingehalten werden.
Der Policy Analyzer ist ein Tool, das es erlaubt, GPOs zu analysieren und zu vergleichen. Die GPOs können von unterschiedlichen Quellen importiert werden. Damit können einerseits die im Unternehmen geltenden GPOs mit den Security Baselines von Microsoft verglichen werden oder es können ältere Backups einer GPO mit der aktuellen GPO verglichen werden, um Unterschiede aufzuzeigen. Oder es können unterschiedliche im Unterhemen definierte GPOs verglichen werden, um Unstimmigkeiten und Duplikate zu erkennen.
Andererseits kann eine definierte GPO Baseline mit den effektiv auf einem System umgesetzten lokalen Policies und Registries abgeglichen werden. Im weiteren Verlauf des Artikels wird der Use Case “Vergleichen einer Baseline mit den lokalen Einstellungen eines Clients” weiterverfolgt. Als Beispiel soll ein Client gegenüber der Windows 10 1909 Baseline verglichen werden.
Nachdem der Policy Analyzer heruntergeladen wurde, kann dieser ohne Installation ausgeführt werden. Um eine GPO Baseline gegen das lokale System vergleichen zu können, müssen zuerst die GPOs importiert werden. Dies kann durch das Hinzufügen mit dem Add Button gemacht werden. Danach kann die Option Add Files from GPO
Bei der in diesem Beispiel verwendeten Security Baseline handelt es sich um die Windows 10 Version 1909 and Windows Server Version 1909 Security Baseline. Diese kann am selben Ort heruntergeladen werden wie der Policy Analyzer. Da sich in dieser Baseline sowohl Server wie auch Client Einstellungen befinden, müssen im Importer die serverspezifischen Einstellungen entfernt werden. Dies kann man durch markieren aller ungewünschten Einstellungen und anschliessendem Delete Taste drücken geschehen.
Nachdem die unnötigen GPOs entfernt wurden, kann der Rest mit Import… importiert werden. Dieser Schritt erstellt eine PolicyRules-Datei. Darin werden sämtliche relevanten GPO Einstellungen abgespeichert.
Im weiteren Verlauf bzw. bei späterer Verwendung müssen die GPOs nicht mehr manuell hinzugefügt werden, sondern es kann die neu erstellte PolicyRules-Datei verwendet werden. Dementsprechend sollte ein sprechender Name für die PolicyRules-Datei gewählt werden, denn dieser Name wird auch im Hauptfenster des Policy Analyzers angezeigt.
Wie die PolicyRule-Datei aufgesetzt ist und wie eigene Rules erstellt werden könne, wird später noch detailliert behandelt. Um nun die aufbereiteten GPOs effektiv gegen die lokalen Einstellungen eines Clients zu vergleichen, kann im Hauptfenster die eben definierte Baseline und oberhalb davon die Bereiche Compare local registry sowie Local policy angewählt werden. Mit dem Klick auf View / Compare werden im Policy Viewer die Resultate aufgeführt. Gleichzeitig wird eine neue PolicyRules-Datei erstellt, die sämtliche Einstellungen zur Local policy beinhalt. Die so generierte PolicyRule-Datei ist allerdings mit Vorsicht weiterzuverwenden, da die Einstellungen, die sich nur in der Registry befinden in dieser Datei nicht mit abgespeichert werden. Warum dies der Fall ist, ist nicht klar, da dies ohne weiteres ebenfalls möglich wäre.
Im Policy Viewer wird pro Zeile eine Policy angezeigt, dabei wird der Wert der Local Policy danach der Wert aus der Local Registry und schlussendlich der Wert aus der definierten Baseline, im Beispiel windows_10_hardening genannt, angezeigt. Wenn die Werte gleich sind, werden sie weiss dargestellt. Sobald es Unterschiede gibt, werden diese mit gelber Markierung hervorgehoben. Werte, die nicht vorhanden sind, werden grau dargestellt. Damit lässt sich eine Auswertung der Unterschiede zu einer vorgegebenen Security Baseline einfach umsetzen. Wenn eine spezifische Einstellung ausgewählt wird, wird im unteren Bereich des Fensters jeweils (falls vorhanden) eine genauere Erklärung zu den jeweiligen möglichen Einstellungen angezeigt.
Um das ganze einfacher zu durchsuchen und filtern sowie um die vollständigen Resultate zu speichern, können die ausgelesenen Einstellungen als Excel exportiert werden.
Wie bereits erwähnt, arbeitet der Policy Analyzer mit PolicyRules-Dateien. Eine PolicyRules-Datei beinhaltet XML mit dem folgenden Aufbau.
<PolicyRules> <ComputerConfig> <Key></Key> <Value></Value> <RegType></RegType> <RegData></RegData> <SourceFile></SourceFile> <PolicyName></PolicyName> </ComputerConfig> <UserConfig> <Key></Key> <Value></Value> <RegType></RegType> <RegData></RegData> <SourceFile></SourceFile> <PolicyName></PolicyName> </UserConfig> <SecurityTemplate Section=""> <LineItem></LineItem> <SourceFile></SourceFile> <PolicyName></PolicyName> </SecurityTemplate> <AuditSubcategory> <GUID></GUID> <Name></Name> <Setting></Setting> <SourceFile></SourceFile> <PolicyName></PolicyName> </AuditSubcategory> </PolicyRules>
Dabei werden unter ComputerConfig
und UserConfig
Einstellungen abgebildet, die einen Registry-Key verwenden. Mit SecurityTemplate
und AuditSubcategory
können Einstellungen abgebildet werden, die nicht in der Registry hinterlegt sind. Mit der Kenntnis dieser XML-Elemente ist es nun bereits möglich eigene Policy Rules zu erstellen.
Dies habe ich dann auch gemacht und eine PolicyRules-Datei für die Windows 10 Hardening Checkliste erstellt. Somit ist nun der Vergleich mit all den Einstellungen auf der Windows 10 Hardening Checkliste, die durch Group Policy oder Registry Einstellungen abgedeckt sind, auf einen Klick möglich.
Zum Vergleichen bereits bestehender GPOs sowie dem Vergleichen von lokalen Einstellungen zu einer definierten Baseline ist Policy Analyzer ein gutes Tool. Das manuelle Erstellen von PolicyRules-Dateien ist aufwendig. Um den Aufwand möglichst klein zu halten, sollte eine bereits vorhanden GPO als Basis genommen werden und diese erweitert werden.
Unsere Spezialisten kontaktieren Sie gern!
Andrea Hauser
Andrea Hauser
Andrea Hauser
Andrea Hauser
Unsere Spezialisten kontaktieren Sie gern!