
PowerShell-Skript zur Automatisierung von Domain-Audits
Dieses PowerShell-Skript wurde entwickelt, um eine umfassende Überprüfung von Microsoft Active Directory durchzuführen, wobei der Schwerpunkt auf der Identifizierung typischer Sicherheitslücken und Schwachstellen liegt. Die Ausführung erleichtert das Erkennen kritischer Bereiche, die einer Verstärkung bedürfen, und stärkt so Ihre Infrastruktur gegen gängige Taktiken der Lateral-Bewegung und Privilegienausweitung, die auf Active Directory abzielen.
_____ ____ _____ _ _ _
| _ | \ | _ |_ _ _| |_| |_
| | | | | | | | . | | _|
|__|__|____/ |__|__|___|___|_|_|
by phillips321
Wenn Sie brauchbare PowerShell-One-Liner haben, die im Skript verwendet werden könnten, lassen Sie es mich bitte wissen. Ich versuche, dieses Skript als einzelne Datei ohne Abhängigkeiten von externen Tools (außer ntdsutil und cmd.exe) zu halten.
Führen Sie es direkt auf einem DC mit einem DA aus. Wenn Sie dem Code nicht vertrauen, empfehle ich, ihn zuerst zu lesen – Sie werden sehen, dass alles harmlos ist! (Aber sollten Sie das nicht ohnehin bei Code tun, den Sie aus dem Netz herunterladen und dann als DA ausführen?)
Die folgenden Schalter können kombiniert verwendet werden:
-installdeps installiert optionale Features (DSInternals)-hostdetails ruft Hostname und andere nützliche Prüfungsinformationen ab-domainaudit ruft Informationen über die AD (z. B. funktionale Ebene) ab-trusts ruft Informationen über Domänenvertrauensstellungen ab-accounts identifiziert Kontoprobleme wie abgelaufene, deaktivierte usw.-passwordpolicy ruft Informationen zur Passwortrichtlinie ab-ntds exportiert die NTDS.dit-Datei mit ntdsutil-oldboxes identifiziert veraltete Betriebssysteme wie XP/2003, die der Domäne beigetreten sind-gpo exportiert die GPOs als XML und HTML für spätere Analysen-ouperms prüft generische OU-Berechtigungsprobleme-laps prüft, ob LAPS installiert istDas Skript unterstützt jetzt sowohl Stammdomänen der Gesamtstruktur als auch Unterdomänen vollständig:
Das Skript implementiert eine umfassende Fehlerbehandlung:
-authpolsilos prüft auf Vorhandensein von Authentifizierungsrichtlinien und Silos-insecurednszone prüft auf unsichere DNS-Zonen-recentchanges prüft auf neu erstellte Benutzer und Gruppen (letzte 30 Tage)-adcs prüft auf ADCS-Schwachstellen (ESC1,2,3,4 und 8)-acl prüft auf gefährliche ACL-Berechtigungen für Benutzer, Gruppen und Computer-spn prüft auf hochwertige kerberoastbare Konten-asrep prüft auf ASREPRoastbare Konten-ldapsecurity prüft auf mehrere LDAP-Probleme-exclude ermöglicht den Ausschluss bestimmter Prüfungen bei Verwendung von adaudit.ps1 -all -exclude ouperms,ntds,adcs-select ermöglicht die Auswahl bestimmter Prüfungen bei Verwendung von adaudit.ps1 -all "gpo,ntds,acl"-all führt alle Prüfungen aus, z. B. AdAudit.ps1 -all