Policy Analyzer - Analysieren und Vergleichen von Group Policy Objekten

Policy Analyzer

Analysieren und Vergleichen von Group Policy Objekten

Andrea Hauser
von Andrea Hauser
Lesezeit: 8 Minuten

Keypoints

So analysieren Sie Group Policies in Windows

  • Der Policy Analyzer ist ein Tool aus dem Microsoft Security Compliance Toolkit
  • Damit ist es möglich Group Policy Objekte zu analysieren und vergleichen
  • Vergleiche sind über mehrere unterschiedliche GPOs oder für ein einzelnes System möglich
  • Es wurde eine PolicyRules-Datei für die Windows 10 Hardening Checkliste erstellt

Vor kurzem musste ich in einem Projekt zirka 300 Group Policy sowie Registry Einstellungen auslesen und bewerten. Damit ich nicht jede Einstellung einzeln manuell nachschauen musste, machte ich mich auf die Suche nach einem Tool, das mich dabei unterstützen kann. Fündig wurde ich mit dem Policy Analyzer von Microsoft.

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.

Vorstellung des Tools Policy Analyzer

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(s) ausgewählt werden.

Policy Analyzer Importer, 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.

Policy Analyzer Importer; Vor entfernen der unnötigen Group Policy Objects

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.

Windows Security Baseline GPOs vergleich mit lokalem System

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.

Resultatvergleich lokales System zu Security Baseline

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.

Resultat vergleich lokales System zu Security Baseline

Policy Rules

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.

Fazit

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.

Über die Autorin

Andrea Hauser

Andrea Hauser hat ihren Bachelor of Science FHO in Informatik an der Hochschule für Technik Rapperswil abgeschlossen. Sie setzt sich im offensiven Bereich in erster Linie mit Web Application Security Testing und der Umsetzung von Social Engineering Kampagnen auseinander. Zudem ist sie in der Forschung zum Thema Deepfakes tätig. (ORCID 0000-0002-5161-8658)

Links

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

×
Angriffsmöglichkeiten gegen Generative AI

Angriffsmöglichkeiten gegen Generative AI

Andrea Hauser

XML-Injection

XML-Injection

Andrea Hauser

Burp Makros

Burp Makros

Andrea Hauser

WebSocket Fuzzing

WebSocket Fuzzing

Andrea Hauser

Sie wollen mehr?

Weitere Artikel im Archiv

Sie brauchen Unterstützung bei einem solchen Projekt?

Unsere Spezialisten kontaktieren Sie gern!

Sie wollen mehr?

Weitere Artikel im Archiv