adPEAS v2 Episode 4: Security Checks - Alle Module im Überblick
Kompletter Überblick über die adPEAS v2 Security-Check-Module: Domain, Accounts, Delegation, Rights, Creds, ADCS, Computer, GPO und Application Checks für Active Directory.
Einleitung
Die Verbindung steht, die Authentifizierung ist durch - jetzt beginnt die eigentliche Arbeit. In den vorherigen Episoden ging es darum, wie adPEAS sich mit dem Active Directory verbindet und welche Authentifizierungsmethoden zur Verfügung stehen. Dieser Post dreht sich um das Herzstück: die Security Checks.
Wenn man ein Active Directory manuell analysiert, sitzt man schnell mehrere Stunden an LDAP-Filtern, ACL-Parsing und GPO-Analyse. adPEAS automatisiert das - aber nicht als Blackbox. Jeder Check hat einen klaren Zweck, und wer versteht was geprüft wird, kann die Ergebnisse besser einordnen und weiß, wo es sich lohnt tiefer zu graben.
adPEAS organisiert die Checks in zehn Module. Jedes Modul deckt einen bestimmten Angriffsvektor oder Konfigurationsbereich ab. Man kann alle Module auf einmal laufen lassen, oder gezielt einzelne auswählen - je nachdem was der Scope des Assessments hergibt.
Ein wichtiges Detail: adPEAS klassifiziert Ergebnisse nach Severity. Nicht jeder Fund ist gleich kritisch. Ein deaktiviertes LDAP Signing ist ein anderes Kaliber als ein Kerberoastable Service Account. Die Severity-Level (Finding, Hint, Note, Secure) helfen dabei, die Spreu vom Weizen zu trennen und sich auf die Dinge zu konzentrieren, die wichtiger sind.
Modul-Übersicht
adPEAS organisiert die Security-Checks in Module. Jedes Modul enthält mehrere Einzelchecks:
+-----------------------------------------------------------------------------+
| adPEAS CHECK MODULES |
+-------------+---------------------------------------------------------------+
| Domain | Password Policy, Trusts, LDAP Configuration, SMB Signing |
+-------------+---------------------------------------------------------------+
| Accounts | Tier-0 Groups, Inactive Admins, Protected Users, SID History |
+-------------+---------------------------------------------------------------+
| Delegation | Unconstrained, Constrained, RBCD |
+-------------+---------------------------------------------------------------+
| Rights | Dangerous ACLs/OUs, Password Reset, Add Computer, LAPS |
+-------------+---------------------------------------------------------------+
| Creds | Kerberoasting, AS-REP Roasting, Credential Exposure, LAPS |
+-------------+---------------------------------------------------------------+
| Computer | Outdated OS, LAPS Configuration, Infrastructure, Owners |
+-------------+---------------------------------------------------------------+
| GPO | GPO Permissions, Local Groups, Scheduled Tasks, Scripts |
+-------------+---------------------------------------------------------------+
| ADCS | Certificate Templates (ESC1-5, ESC8-9, ESC13, ESC15) |
+-------------+---------------------------------------------------------------+
| Application | Exchange, SCCM, SCOM Infrastructure |
+-------------+---------------------------------------------------------------+
| Bloodhound | Data Collection for BloodHound CE |
+-------------+---------------------------------------------------------------+
Module ausführen
# Alle Module
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth
# Einzelne Module
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Module Domain
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Module Domain,Accounts,ADCS
# OPSEC-Modus
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -OPSEC
Domain Module
Das Domain-Modul ist der Startpunkt jeder Analyse. Bevor man sich in Accounts und ACLs vertieft, muss man wissen: Wie ist die Domain grundsätzlich konfiguriert? Schwache Passwort-Policies, fehlendes LDAP Signing oder deaktiviertes SID Filtering sind Findings, die den gesamten Scope eines Assessments beeinflussen.
| Check | Was wird geprüft |
|---|---|
| Domain Information | DCs, FSMO-Rollen, Kerberos Policy |
| Password Policy | Min. Länge, Komplexität, Lockout, History |
| Domain Trusts | Trust-Typen, SID Filtering |
| LDAP Configuration | LDAP Signing, Channel Binding, Anonymous Access |
| SMB Signing | Signing auf allen Systemen |
Accounts Module
Privilegierte Accounts sind das primäre Ziel jedes Angreifers. Dieses Modul prüft nicht nur wer in den Tier-0-Gruppen sitzt, sondern auch ob diese Accounts richtig konfiguriert sind. Ein Domain Admin mit PasswordNeverExpires und ohne Protected Users Mitgliedschaft - das sind die Findings, die in jedem zweiten Assessment auftauchen.
| Check | Was wird geprüft |
|---|---|
| Privileged Groups | Mitglieder von Domain Admins, Enterprise Admins, etc. |
| Inactive Admins | Last Logon > 90 Tage |
| Protected Users | Mitgliedschaft in Protected Users |
| Password Never Expires | Admin-Accounts mit PasswordNeverExpires |
| Reversible Encryption | Admin-Accounts mit Reversible Encryption |
| Managed Service Accounts | gMSA/sMSA Security |
| SID History | Versteckte Privilegien |
| Non-Default Owners | Besitzer von User-Objekten |
| Password Not Required | PASSWD_NOTREQD Flag |
Delegation Module
Kerberos Delegation ist eine der am häufigsten übersehenen Angriffsflächen im AD. Unconstrained Delegation auf einem Webserver? Dann ist ein kompromittierter Webserver gleichzeitig ein Ticket-Harvester für jeden Admin der sich verbindet.
| Check | Was wird geprüft |
|---|---|
| Unconstrained | TrustedForDelegation Flag |
| Constrained | msDS-AllowedToDelegateTo |
| RBCD | msDS-AllowedToActOnBehalfOfOtherIdentity |
Rights Module
ACLs sind das stille Risiko im Active Directory. Von aussen sieht alles sauber aus - aber unter der Haube hat vielleicht ein IT-Helpdesk GenericAll auf die Domain Admins Gruppe. Dieses Modul deckt genau solche versteckten Berechtigungsprobleme auf.
| Check | Was wird geprüft |
|---|---|
| Dangerous ACLs | GenericAll, WriteDACL, WriteOwner, DCSync |
| Dangerous OU Permissions | ACLs auf OUs (GenericAll, WriteDACL, etc.) |
| Password Reset Rights | ForceChangePassword Extended Right |
| Add Computer Rights | MachineAccountQuota, Create-Child Computer |
| LAPS Permissions | Wer kann ms-Mcs-AdmPwd/msLAPS-Password lesen |
Creds Module
Credentials im AD zu finden ist oft einfacher als man denkt. GPP-Passwörter in SYSVOL, Klartext-Passwörter in Description-Feldern, kerberoastable Service Accounts mit schwachen Passwörtern - dieses Modul sucht systematisch nach allem, was ein Angreifer für den initialen Zugang oder die Privilege Escalation nutzen könnte.
| Check | Was wird geprüft |
|---|---|
| Kerberoasting | Accounts mit SPNs |
| AS-REP Roasting | Accounts ohne Pre-Auth |
| Credential Exposure | SYSVOL-Scripts, GPP cpassword, Cleartext |
| Unix Passwords | UnixUserPassword/UserPassword Attribute |
| LAPS Credential Access | Lesbare ms-Mcs-AdmPwd / msLAPS-Password |
| Passwords in Description | Description/Info Attribute Scan |
ADCS Module
Seit der SpecterOps-Forschung zu “Certified Pre-Owned” (2021) sind ADCS-Schwachstellen einer der zuverlässigsten Wege zur Privilege Escalation. Ein falsch konfiguriertes Certificate Template kann den Unterschied zwischen “Domain User” und “Domain Admin” ausmachen - mit einem einzigen Zertifikatsantrag.
| ESC | Problem | Impact |
|---|---|---|
| ESC1 | User kann SAN selbst angeben | Domain Admin mit einem Zertifikat |
| ESC2 | Any Purpose EKU | Zertifikat für Client Auth nutzbar |
| ESC3 | Enrollment Agent | Zertifikat für andere anfordern |
| ESC4 | Template ACL | Template zu ESC1 modifizieren |
| ESC5 | PKI Container ACL | Gesamte PKI-Infrastruktur manipulieren |
| ESC8 | HTTP Web Enrollment | NTLM Relay zu Cert Request (Detection only) |
| ESC9 | No Security Extension + Client Auth | Certificate Mapping Bypass |
| ESC13 | Issuance Policy → AD Group | Zertifikat erbt Gruppen-Mitgliedschaft |
| ESC15 | Schema v1 + Enrollee-supplied Subject | CVE-2024-49019 |
ESC5 Details: Prüft gefährliche Permissions (GenericAll, WriteDacl, WriteOwner) auf PKI Container-Objekten:
CN=Public Key Services(Root PKI Container)CN=Certificate Templates(Template-Erstellung/Modifikation)CN=Enrollment Services(Enrollment-Kontrolle)CN=NTAuthCertificates(Trusted CAs für Kerberos)CN=OID(Issuance Policies, ESC13-verwandt)
Wenn unprivilegierte User diese Rechte haben, können sie neue vulnerable Templates erstellen, bestehende Templates unsicher machen, sich selbst Enrollment Rights geben oder die NTAuth Store manipulieren.
Computer Module
Computer-Objekte verraten viel über den Zustand einer Umgebung. Veraltete Betriebssysteme, fehlende LAPS-Abdeckung, nicht-standardmäßige Owners auf Server-Objekten - alles Indikatoren für potenzielle Schwachstellen in der Infrastruktur.
| Check | Was wird geprüft |
|---|---|
| Outdated OS | Windows Version |
| LAPS Configuration | LAPS Deployment und GPO-Konfiguration |
| Infrastructure Servers | DCs, Exchange, SQL, SCCM |
| Non-Default Owners | Besitzer von Computer-Objekten |
GPO Module
Group Policies sind ein zweischneidiges Schwert: Sie sind das Rückgrat der Sicherheitskonfiguration, aber auch ein Angriffsvektor. Wer eine GPO editieren kann die auf Domain Controller wirkt, hat effektiv Domain Admin Rechte - nur über einen Umweg.
| Check | Was wird geprüft |
|---|---|
| GPO Permissions | Wer kann GPOs bearbeiten, GPO-Links |
| Local Group Membership | Restricted Groups/Preferences |
| Scheduled Tasks | GPO-definierte Scheduled Tasks |
| Script Paths | Logon/Logoff/Startup/Shutdown Scripts |
Application Module
Enterprise-Applikationen wie Exchange, SCCM und SCOM sind häufig hochberechtigte Systeme mit direktem Pfad zu Domain Admin. Besonders SCCM wird oft übersehen - ein kompromittierter Management Point kann Software auf jedem Client im Scope ausführen.
| Check | Was wird geprüft |
|---|---|
| Exchange | Server, Gruppen, Berechtigungen |
| SCCM/MECM | Sites, Management Points, Hierarchie, Clients, PXE/WDS, Service Accounts |
| SCOM | Management Server, RunAs Accounts |
Einzelne Check-Funktionen
Nach Connect-adPEAS lassen sich Checks auch einzeln aufrufen:
# Session aufbauen
Connect-adPEAS -Domain "contoso.com" -UseWindowsAuth
# Einzelne Checks
Get-KerberoastableAccounts # Kerberoastable Service Accounts
Get-ASREPRoastableAccounts # AS-REP Roastable Accounts
Get-UnconstrainedDelegation # Unconstrained Delegation
Get-ConstrainedDelegation # Constrained Delegation
Get-DomainTrusts # Domain Trusts
Get-PrivilegedGroupMembers # Members of privileged groups
Get-DangerousACLs # Dangerous ACLs on domain root
Get-ADCSVulnerabilities # ADCS ESC vulnerabilities
# Session beenden
Disconnect-adPEAS
Findings verstehen
adPEAS verwendet farbcodierte Symbole in der Konsolenausgabe:
| Symbol | Farbe | Bedeutung |
|---|---|---|
[!] | Rot | Finding — Sicherheitsproblem |
[+] | Gelb | Hint — Interessant, prüfenswert |
[*] | Grün | Note — Information |
[#] | Rot auf Gelb | Secure — Gute Konfiguration |
Quick Reference: Was prüfen?
Standard Scan:
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth
Fokussiert:
Invoke-adPEAS -Domain "contoso.com" -UseWindowsAuth -Module ADCS,Domain,Creds
← Episode 3: Authentifizierung | Episode 5: Output & Reports — coming soon
Über den Autor
Verwandte Artikel
adPEAS v2 Blog-Serie: Active Directory Sicherheitsanalyse mit adPEAS
Einführung in adPEAS v2 — eine komplette Neuentwicklung des PowerShell-basierten Active Directory Analyse-Tools mit nativem Kerberos-Support, null Abhängigkeiten und über 40 Security-Checks.
adPEAS v2 Episode 2: Unter der Haube - Anatomie eines Scans
Was passiert, wenn adPEAS ein Active Directory scannt? Von Authentifizierung und LDAP-Abfragen bis hin zu kontextabhängigen Severity-Bewertungen und Caching — ein Blick unter die Haube.
adPEAS v2 Episode 3: Authentication Deep-Dive - Von Passwort bis Zertifikat
Deep Dive in die adPEAS v2 Authentifizierung: Kerberos-Internals, Pass-the-Hash, Pass-the-Key, PKINIT mit Zertifikaten, Shadow Credentials und Pass-the-Cert via Schannel.