ADReports · AD Report # 13 · PingCastle health check · adreps.com

Healthcheck analysis

Date: 2026-10-28 - Engine version: 4.0.0.31

This section focuses on the core security indicators.
Locate the sub-process determining the score and fix some rules in that area to get a score improvement.

Indicators

050100

Domain Risk Level: 40 / 100

It is the maximum score of the 4 indicators and one score cannot be higher than 100. The lower the better

050100

Stale Object : 20 /100

It is about operations related to user or computer objects

7 rules matched

050100

Trusts : 1 /100

It is about connections between two Active Directories

1 rules matched

050100

Privileged Accounts : 40 /100

It is about administrators of the Active Directory

4 rules matched

050100

Anomalies : 27 /100

It is about specific security control points

10 rules matched

Risk model

Left-click on the headlines in the boxes for more details

Stale ObjectsPrivileged accountsTrustsAnomalies
Inactive user or computer
Account take over
Old trust protocol
Audit
Network topography
ACL Check
SID Filtering
Backup
Object configuration
Admin control
SIDHistory
Certificate take over
Obsolete OS
Control paths
Trust impermeability
Golden ticket
Old authentication protocols
Delegation Check
Trust inactive
Local group vulnerability
Provisioning
Irreversible change
Trust with Entra
Network sniffing
Replication
Privilege control
Pass-the-credential
Vulnerability management
Read-Only Domain Controllers
Password retrieval
Reconnaissance
Temporary admins
Weak password
Legend:
  score is 0 - no risk identified
  score is 0 - no risk identified but some improvements detected
  score between 1 and 10 - a few actions have been identified
  score between 10 and 30 - rules should be looked with attention
  score higher than 30 - major risks identified

This section represents the maturity score (inspired from ANSSI).

This feature is reserved for customers who have purchased a license

This section represents an evaluation of the techniques available in the MITRE ATT&CK®

This feature is reserved for customers who have purchased a license

050100

Stale Objects : 20 /100

It is about operations related to user or computer objects

+ 10 Point(s)

Check the use of Kerberos on services accounts without AES support

Rule ID:

S-AesNotEnabled

Description:

The purpose is to verify that AES is enabled for service accounts. Starting January 2026, Microsoft is phasing out RC4 as the default Kerberos encryption for accounts without explicit encryption type configuration. Accounts flagged by this rule may experience authentication failures after enforcement begins in April 2026.

Technical explanation:

By default, Kerberos uses RC4 encryption, which relies directly on the NTLM hash of the account password. RC4 is considered weak and Microsoft is actively deprecating it in favour of AES (see below).

Accounts are flagged by this rule if:

  • Their password has not been changed since the first Windows Server 2008 domain controller was installed, meaning no AES key material has been generated for the account.
  • They have a Service Principal Name (SPN) and the msDS-SupportedEncryptionTypes attribute does not include AES (bits 0x8 or 0x10 are not set).
Enabling AES on these accounts is the first step towards removing RC4 dependency. Note that additional checks are required before fully disabling RC4, such as verifying trust account encryption settings. A dedicated section in this report explores AES compatibility.

Microsoft RC4 Deprecation (January 2026)

Microsoft is phasing out RC4 as the default Kerberos encryption in a three-phase rollout:
  • Phase 1 (January 2026): Audit mode — new Kerberos events (201, 202, 205-207) allow organisations to identify RC4 dependencies without enforcement changes.
  • Phase 2 (April 2026): Enforcement — the default changes to AES-SHA1 (0x18) for accounts without explicit msDS-SupportedEncryptionTypes configuration. Accounts will receive AES encrypted tickets instead of RC4.
  • Phase 3 (July 2026): Full enforcement — RC4 becomes available only through explicit per-account configuration.
After enforcement, accounts without AES configured may still work if their environment supports the new defaults, but may also experience authentication failures depending on their configuration and dependencies.

Registry Keys

HKLM\System\CurrentControlSet\services\KDC\DefaultDomainSupportedEncTypes (REG_DWORD) controls the default encryption for accounts without explicit msDS-SupportedEncryptionTypes on the domain controller.
  • Recommended value 0x18 (24): AES128 + AES256 (enforcement default)
  • Value 0x38 (56): AES128 + AES256 + AES256-SK — for AES-only environments with enforced AES session keys
  • Value 0x3C (60): RC4 + AES128 + AES256 + AES256-SK — for backwards compatibility with enforced AES session keys
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\Kerberos\Parameters\RC4DefaultDisablementPhase (REG_DWORD, requires restart) controls the RC4 deprecation phase on the domain controller. This is a temporary key that will be removed after July 2026.
  • 0 = No audit, no change
  • 1 = Warning events logged on default RC4 usage (Phase 1 default, January 2026)
  • 2 = Kerberos assumes RC4 is not enabled by default (Phase 2 default, April 2026)
msDS-SupportedEncryptionTypes Bitmask Reference

HexDecimalEncryption Types
0x11DES-CBC-CRC
0x22DES-CBC-MD5
0x44RC4-HMAC
0x88AES128-CTS-HMAC-SHA1-96
0x1016AES256-CTS-HMAC-SHA1-96
0x2032AES256-CTS-HMAC-SHA1-96-SK (enforce AES session keys when RC4 is in use)
0x1824AES128 + AES256 (recommended, enforcement default)
0x1C28RC4 + AES128 + AES256
0x3856AES128 + AES256 + AES256-SK (AES-only with enforced AES session keys)
0x3C60RC4 + AES128 + AES256 + AES256-SK (backwards compatible with enforced AES session keys)

Non-Windows Systems

Unix/Linux/macOS machines authenticating via Kerberos will need their krb5.conf updated to permit AES encryption types. Keytabs generated with RC4 encryption will need to be regenerated with AES support. Applications using GSSAPI or native Kerberos libraries should be tested after the transition.

Advised solution:

Enable AES encryption on affected accounts by setting the msDS-SupportedEncryptionTypes attribute. This can be done via the user properties dialog (check "This account supports Kerberos AES 128 bit encryption" and "This account supports Kerberos AES 256 bit encryption") or via PowerShell:

Enable AES 128 and AES 256 on a single user account (value 0x18 = 24):

Set-ADUser -Identity "serviceaccount" -Replace @{"msDS-SupportedEncryptionTypes" = 24}
Enable RC4 + AES 128 + AES 256 (value 0x1C = 28) for backwards compatibility:
Set-ADUser -Identity "serviceaccount" -Replace @{"msDS-SupportedEncryptionTypes" = 28}
For computer accounts:
Set-ADComputer -Identity "COMPUTERNAME" -Replace @{"msDS-SupportedEncryptionTypes" = 28}
For Group Managed Service Accounts (gMSA):
Set-ADServiceAccount -Identity "gmsa$" -Replace @{"msDS-SupportedEncryptionTypes" = 24}

Warning: This command will set the default encryption to AES for all accounts without msDS-SupportedEncryptionTypes configured.
Get-ADObject -LDAPFilter "(&(!(msDS-SupportedEncryptionTypes=*))(|(objectClass=user)(objectClass=computer)(objectClass=msDS-GroupManagedServiceAccount)))" | Set-ADObject -Replace @{"msDS-SupportedEncryptionTypes" = 24}

Before making changes, review Kerberos audit events (201, 202, 205-207) to identify RC4 dependencies. Most accounts will already have AES password hashes if their password has been changed since a Windows Server 2008 or later domain controller was introduced. Only accounts whose password has never been reset on a domain with an AES-capable domain controller will need a password reset to generate AES keys.

Non-Windows Systems (Linux/macOS)

Update the Kerberos configuration in /etc/krb5.conf (or the equivalent path on your distribution) to permit AES encryption. The encryption types can be configured globally in the [libdefaults] section or per-realm in the [realms] section:
default_tgs_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
default_tkt_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96
permitted_enctypes = aes256-cts-hmac-sha1-96 aes128-cts-hmac-sha1-96

Regenerate keytabs with AES encryption. Using ktpass on a Windows domain controller:
ktpass -princ HTTP/server.domain.com@DOMAIN.COM -mapuser serviceaccount -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out server.keytab
Using ktutil on Linux:
ktutil
addent -password -p HTTP/server.domain.com@DOMAIN.COM -k 1 -e aes256-cts-hmac-sha1-96
wkt /etc/krb5.keytab
quit

Points:

10 points if present

Documentation:

https://learn.microsoft.com/en-us/archive/blogs/openspecification/msds-supportedencryptiontypes-episode-1-computer-accounts
https://techcommunity.microsoft.com/blog/coreinfrastructureandsecurityblog/what-changed-in-rc4-with-the-january-2026-windows-update-and-why-it-is-important/4504732
https://support.microsoft.com/en-us/topic/kb5021131-how-to-manage-the-kerberos-protocol-changes-related-to-cve-2022-37966-fd837ac3-cdec-4e76-a6ec-86e67501407d
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-kile/6cfc7b50-11ed-4b4d-846d-6f08f0812919
https://support.microsoft.com/en-us/topic/how-to-manage-kerberos-kdc-usage-of-rc4-for-service-account-ticket-issuance-changes-related-to-cve-2026-20833-1ebcda33-720a-4da8-93c1-b0496e1910dc
[FR]ANSSI - Service accounts supported encryption algorithms (vuln3_kerberos_properties_encryption)3
[MITRE]T1558.004 Steal or Forge Kerberos Tickets: AS-REP Roasting

Details:

The detail can be found in User information and Computer information

+ 10 Point(s)

Check the process of registration of computers to the domain

Rule ID:

S-ADRegistration

Description:

The purpose is to ensure that basic users cannot register extra computers in the domain

Technical explanation:

By default, a basic user can register up to 10 computers within the domain. This default configuration represents a security issue as basic users shouldn't be able to create such accounts and this task should be handled by administrators.

If the value of the attribute ms-DS-MachineAccountQuota is not set (the program see this as "Infinite"), there is no limit to computer addition.

Note: this program checks also the GPO for SeMachineAccountPrivilege assignment. This assignment can be used to restrict the impact of the key ms-DS-MachineAccountQuota.

Advised solution:

To solve the issue, limit the number of extra computers that can be registered by a basic user. It can be reduced by modifying the value of ms-DS-MachineAccountQuota to zero (0). Another solution can be to remove the "Authenticated Users" group in the domain controllers policy altogether. Do note, that if you need to set delegation to an account, so it can add computers to the domain, it can be done through 2 methods: Delegation in the OU or by assigning the SeMachineAccountPrivilege to a special group

  • Netwrix Threat Manager monitors and optionally blocks unauthorized changes to domain policies, ensuring the security of computer account registrations and preventing privilege misuse.
  • Netwrix Privilege Secure helps dynamically assign permissions for machine additions only when required, removing persistent rights and reducing risk.
  • Netwrix Directory Manager enables delegated management of computer accounts with least privilege controls, ensuring proper oversight of domain join operations.

Points:

10 points if present

Documentation:

https://learn.microsoft.com/troubleshoot/windows-server/identity/default-workstation-numbers-join-domain
http://prajwaldesai.com/allow-domain-user-to-add-computer-to-domain/
http://blog.backslasher.net/preventing-users-from-adding-computers-to-a-domain.html
[MITRE]Mitre Att&ck - Mitigation - User Account Management
[FR]ANSSI - Unrestricted domain join (vuln4_user_accounts_machineaccountquota)4

Informative rule

Verify Terminal Services configuration best practices in GPO

Rule ID:

S-TerminalServicesGPO

Description:

This rule verifies the recommended configuration for Terminal Services.

Technical explanation:

It is a common practice for hackers to look for open sessions on remote servers.
This can be done by attempting to open the user registry and checking if there is an access denied error or if the registry hive is not available at all.
If found, the hacker can exploit this information by targeting this computer, or if the session is still active, hijack it and impact the client computer.
Indeed, you can access the local drive by default and push a malicious file such as a login script in the start menu of the remote user.
Another alternative is if the session is not secure, to capture the credentials in memory.

The printer redirection has no known attack pattern.
However due to past vulnerabilites with the Printer spooler, the complexity of the underlying protocol, the relative absence of need to this feature, we recommend to block it.
It can also be a bypass for copy / paste restriction and it is recommended to deny it in most admin bastion.

Advised solution:

The Terminal Services configuration can be found in Policies / Administrative Templates / Windows Components / Remote Desktop Services / Remote Desktop Session Host
The details of this rule is located in Printer Redirection and Session Time Limits.

PingCastle recommends to set the following Policy:
Set time limit for disconnected sessions: 2h (aka MaxDisconnectionTime)
Set time limit for active but idle Remote Desktop Services sessions: 8h (aka MaxIdleTime)
Do not allow client printer redirection: Enabled (aka fDisableCpm)

This rule is active if nothing is set or if the time limit is set to NEVER.

Points:

Informative rule (0 point)

Documentation:

https://woshub.com/remote-desktop-session-time-limit/
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-tsts/ce70794f-2138-43e8-bf6c-2c147887d6a2
https://community.spiceworks.com/t/are-redirected-printers-a-security-risk/826344/27
[MITRE]Mitre Att&ck - Mitigation - Active Directory Configuration

Details:
GPOReason
Windows default without an active GPO MaxIdleTime is not set
Windows default without an active GPO MaxDisconnectionTime is not set
Windows default without an active GPO fDisableCpm is not set
Informative rule

Check if default OU location has been changed within the domain.

Rule ID:

S-DefaultOUChanged

Description:

The purpose is to ensure that the default location of computers and user OU has not been changed.

Technical explanation:

Default OU such as CN=Computers or CN=Users are stored within the wellKnownObjects attribute of the Domain object.
There are 12 default locations officialy defined.
They can be changed using the program redircmp.
Changing these default can alter the behavior of programs (such as security audit programs) as they may not check the modified objects.

Advised solution:

You have to use redircmp to set the value back to normal. See documentation for more details

Points:

Informative rule (0 point)

Documentation:

https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/5a00c890-6be5-4575-93c4-8bf8be0ca8d8
https://rickardnobel.se/verify-redirected-computers-container-in-active-directory/
[MITRE]Mitre Att&ck - Mitigation - User Account Management

Details:
ExpectedFound
CN=Users,DC=adreps,DC=com OU=Staging,DC=adreps,DC=com
CN=Computers,DC=adreps,DC=com OU=Staging,DC=adreps,DC=com
Informative rule

Verify that Defender ASR mitigations are in place

Rule ID:

S-DefenderASR

Description:

This rule confirms the activation of Defender ASR (Attack Surface Reduction) mitigations within a Group Policy Object (GPO).

Technical explanation:

Microsoft Defender, the default antivirus included with Windows, activates automatically on systems without a pre-installed alternative.
Defender’s ASR features, designed to minimize vulnerability to attacks, are available even in the standard version.
These protections have been part of Windows since the release of Windows 10 version 1710 and are also applicable to Windows Server 2012 R2.

Note: Windows 11 may enable in some conditions those 3 ASR rules: Block abuse of exploited vulnerable signed drivers, Block credential stealing from the Windows local security authority subsystem (lsass.exe), Block persistence through WMI event subscription

Advised solution:

To apply an ASR mitigation, navigate to the GPO setting "Configure Attack Surface Reduction rules" found under Computer Configuration > Policies > Administrative Templates > Windows Components > Microsoft Defender Antivirus (formerly Windows Defender Antivirus) > Microsoft (Windows) Defender Exploit Guard > Attack Surface Reduction.
Upon enabling this setting, select "Set the state for each ASR rule".
Then, input the mitigation’s GUID as the Value name and assign 1 as the Value to enforce the rule in Block mode.
Other configurable values include 2 for Audit mode and 6 for Warn mode.
For instance, to block JavaScript or VBScript from executing downloaded executable content, use the GUID: d3e037e1-3eb8-44c8-a917-57927947596d.
It is recommended to set Defender ASR rules as recommended in the article below.


Prior to implementation, conduct an impact analysis to anticipate any potential disruptions, and utilize Audit mode to identify possible issues.

Points:

Informative rule (0 point)

Documentation:

https://learn.microsoft.com/en-us/defender-endpoint/attack-surface-reduction-rules-reference?view=o365-worldwide#per-asr-rule-alert-and-notification-details
https://blog.palantir.com/microsoft-defender-attack-surface-reduction-recommendations-a5c7d41c3cf8
[MITRE]Mitre Att&ck - Mitigation - Active Directory Configuration

Details:

The detail can be found in Defender ASR

GuidLabelReason
7674ba52-37eb-4a4f-a9a1-f0f9a1619a2c Block Adobe Reader from creating child processes Not found - Block or Warn recommended
9e6c4e1f-7d60-472f-ba1a-a39ef669e4b2 Block credential stealing from the Windows local security authority subsystem (lsass.exe) Not found - Block or Warn recommended
be9ba2d9-53ea-4cdc-84e5-9b1eeee46550 Block executable content from email client and webmail Not found - Block or Warn recommended
d3e037e1-3eb8-44c8-a917-57927947596d Block JavaScript or VBScript from launching downloaded executable content Not found - Block or Warn recommended
3b576869-a4ec-4529-8536-b80a7769e899 Block Office applications from creating executable content Not found - Block or Warn recommended
e6db77e5-3df2-4cf1-b95a-636979351e5b Block persistence through WMI event subscription Not found - Block or Warn recommended
b2b3f03d-6a65-4f7b-a9c7-1c7ef74a9ba4 Block untrusted and unsigned processes that run from USB Not found - Block or Warn recommended
56a863a9-875e-4185-98a7-b882c64b5ce5 Block abuse of exploited vulnerable signed drivers Not found - Block or Warn recommended
75668c1f-73b5-4cf0-bb93-3ecf5cb7cc84 Block Office applications from injecting code into other processes Not found - Audit recommended
92e97fa1-2edf-4476-bdd6-9dd0b4dddc7b Block Win32 API calls from Office macros Not found - Audit recommended
d4f940ab-401b-4efc-aadc-ad5f3c50688a Block all Office applications from creating child processes Not found - Audit recommended
5beb7efe-fd9a-4556-801d-275e5ffc04cc Block execution of potentially obfuscated scripts Not found - Audit recommended
01443614-cd74-433a-b99e-2ecdc07bfc25 Block executable files from running unless they meet a prevalence, age, or trusted list criterion Not found - Audit recommended
c1db55ab-c21a-4637-bb3f-a12568109d35 Use advanced protection against ransomware Not found - Audit recommended
d1e49aac-8f56-4280-b9ba-993a6d77406c Block process creations originating from PSExec and WMI commands Not found - Audit recommended
26190899-1602-49e8-8b27-eb1d0a1ce869 Block Office communication application from creating child processes Not found - Audit recommended
33ddedf1-c6e0-47cb-833e-de6133960387 Block rebooting machine in Safe Mode (preview) Not found - Audit recommended
c0033c00-d16d-4114-a5a0-dc9b3a7d2ceb Block use of copied or impersonated system tools (preview) Not found - Audit recommended
Informative rule

Verify the Default Application for Script File Execution

Rule ID:

S-FolderOptions

Description:

The objective is to ensure scripts do not automatically execute upon opening by default.

Technical explanation:

By default, PowerShell scripts (.ps1) open in Notepad, which blocks these extensions from being exploited in phishing attacks that evade email filters through multi-layered archives.
However, several legacy script extensions (.js, .jse, .vbs, .vbe, .vb, .wsh, .wsf) still execute with their respective engines.
While .js and .jse files are commonly associated with web content and handled by browsers, it’s crucial to recognize their potential for harm when executed directly in Windows.
Redirecting these files to open in Notepad safeguards against inadvertent execution without affecting web browsing.
The browser navigation is not impacted by this recommendation.
Review is recommended for other script files before implementing this security measure.

Note: Javascript execution can be mitigated by an "Attack surface reduction rule" named "Impede JavaScript and VBScript to launch executables" available since Windows 10, version 1709.
But we still recommend to apply the folder options mitigation as it is more effective.

Advised solution:

Navigate to Computer Configuration > Preferences > Control Panel Settings > Folder Options.
Create a new File Type with the "Replace" action for the extension you wish to secure.
In "Configure class settings", add a new "open" action with Notepad as the default application: C:\Windows\System32\notepad.exe.

Points:

Informative rule (0 point)

Documentation:

https://isc.sans.edu/diary/Controlling+JavaScript+Malware+Before+it+Runs/21171
[MITRE]Mitre Att&ck - Mitigation - Active Directory Configuration

Details:

The detail can be found in Folder Options

ExtensionReason
js Not found in Folder Options
jse Not found in Folder Options
vbs Not found in Folder Options
vbe Not found in Folder Options
vb Not found in Folder Options
wsh Not found in Folder Options
wsf Not found in Folder Options
Informative rule

Verify if there are restrictions for internet connectivity of script engines

Rule ID:

S-FirewallScript

Description:

This rule verifies whether programs, such as script engines, are allowed to connect to the internet by default.

Technical explanation:

Malicious scripts, often distributed via phishing emails, frequently attempt to connect to the internet to propagate their infection.
To mitigate this risk, we recommend implementing a set of firewall rules through Group Policy Objects (GPOs).
These rules will prohibit direct internet connections for specific programs.

The current list of programs to restrict includes: wscript.exe, mshta.exe, cscript.exe, conhost.exe, and runScriptHelper.exe.

Advised solution:

1) Create Firewall Rules via GPO

Configure the firewall rules under Computer Configuration / Policies / Windows Settings / Security Settings / Windows Defender Firewall with Advanced Security.
Ensure the rules are applied on the Outbound side.
Activate the rules.

2) Network Restrictions:
We recommend setting the rules as active for the following IP address ranges to allow local network access:
0.0.0.0 to 9.255.255.255
11.0.0.0 to 126.255.255.255
128.0.0.1 to 172.15.255.255
172.32.0.0 to 192.167.255.255
192.169.0.0 to 255.255.255.255

Alternatively, you can choose to apply the rules to ALL IP addresses or add your internal proxy IP.

Points:

Informative rule (0 point)

Documentation:

https://medium.com/@cryps1s/endpoint-isolation-with-the-windows-firewall-462a795f4cfb
[MITRE]Mitre Att&ck - Mitigation - Active Directory Configuration

Details:

The detail can be found in Firewall configuration

ProgramReason
wscript.exe No Firewall rules found
mshta.exe No Firewall rules found
cscript.exe No Firewall rules found
conhost.exe No Firewall rules found
runScriptHelper.exe No Firewall rules found
050100

Privileged Accounts : 40 /100

It is about administrators of the Active Directory

+ 20 Point(s)

At least one administrator account can be delegated

Rule ID:

P-Delegated

Description:

The purpose is to ensure that all Administrator Accounts have the configuration flag "this account is sensitive and cannot be delegated" (or are members of the built-in group "Protected Users" when your domain functional level is at least Windows Server 2012 R2).

Technical explanation:

Without the flag "This account is sensitive and cannot be delegated" any account can be impersonated by some service account. It is a best practice to enforce this flag on administrators accounts.

Advised solution:

To correct the situation, you should make sure that all your Administrator Accounts have the check-box "This account is sensitive and cannot be delegated" active or add your Administrator Accounts to the built-in group "Protected Users" if your domain functional level is at least Windows Server 2012 R2 (some functionalities may not work properly afterwards, you should check the official documentation).
If you want to enable the check-box "This account is sensitive and cannot be delegated" but this is not possible because the box is not present (typically for GMSA accounts), you can add the flag manually by adding the number 1048576 to the attribute useraccountcontrol of the account.
Please note that there is a section below in this report named "Admin Groups" which gives more information.

Points:

20 points if present

Documentation:

[US]STIG V-243470 - Delegation of privileged accounts must be prohibited.
[MITRE]Mitre Att&ck - Mitigation - Active Directory Configuration

Details:

The detail can be found in Admin Groups

DNReason
CN=Monty,CN=Users,DC=adreps,DC=com Not a protected user
+ 10 Point(s)

Avoid unexpected schema modifications which could result in domain rebuild

Rule ID:

P-SchemaAdmin

Description:

The purpose is to ensure that no account can make unexpected modifications to the schema

Technical explanation:

The group "Schema Admins" is used to give permissions to alter the schema. Once a modification is performed on the schema such as new objects, it cannot be undone. This can result in a rebuild of the domain. The best practice is to have this group empty and to add an administrator when a schema update is required, then remove this group membership.

Advised solution:

Remove the accounts or groups belonging to the "schema administrators" group.

Points:

10 points if present

Documentation:

[US]STIG V-243502 - Membership to the Schema Admins group must be limited
[FR]ANSSI - Recommandations de sécurité relatives à Active Directory - R13 [subsection.3.2]
[MITRE]Mitre Att&ck - Mitigation - Privileged Account Management

Details:

The detail can be found in Admin Groups

+ 10 Point(s)

Check if all privileged accounts are in the special group Protected Users.

Rule ID:

P-ProtectedUsers

Description:

The purpose is to ensure that all privileged accounts are in the Protected User security group

Technical explanation:

The Protected User group is a special security group which automatically applies protections to minimize credential exposure. Starting with Windows 8.1. Older Operating System must be updated to take this protection in account such as the Windows 7 KB2871997 patch.
For admins, it:
- Disables NTLM authentication
- Reduces Kerberos ticket lifetime
- Mandates strong encryption algorithms, such as AES
- Prevents password caching on workstations
- Prevents any type of Kerberos delegation

Please also note that a few links (see below) recommends that at least one account is kept outside of the group Protected Users in case there is a permission problem.
That's why this rule is not triggered if only one account is not protected.

Advised solution:

After having reviewed the potential impact on adding users to this group, add the missing privileged accounts to this group.

Points:

10 points if the occurence is greater than or equals than 2

Documentation:

https://learn.microsoft.com/en-us/windows-server/security/credentials-protection-and-management/protected-users-security-group
https://blog.netwrix.com/2015/02/20/add-sensitive-user-accounts-to-active-directory-protected-users-group/
https://dirteam.com/sander/2014/11/25/ten-things-you-need-to-be-aware-of-before-using-the-protected-users-group/
https://blog.andreas-schreiner.de/2018/09/07/active-directory-sicherheit-teil-1-privilegierte-benutzer/
[US]STIG V-243477 - Accounts with domain level administrative privileges must be members of the Protected Users group in domains with a domain functional level of Windows 2012 R2 or higher.
[FR]ANSSI CERTFR-2017-ALE-012
[FR]ANSSI - Privileged accounts outside of the Protected Users group (vuln3_protected_users)3
[MITRE]Mitre Att&ck - Mitigation - Privileged Process Integrity

Details:

The detail can be found in Admin Groups

User
Monty
Administrator
Informative rule

Check if OUs and Containers are protected from accidental deletion.

Rule ID:

P-UnprotectedOU

Description:

The purpose is to ensure that Organizational Units (OUs) and Containers in Active Directory are protected to prevent accidental deletion, which could lead to data loss and disruptions in the network infrastructure.

Technical explanation:

In Active Directory, Organizational Units can be protected from accidental deletion (reads: using the del key in the wrong place at the wrong time).
This way these objects cannot be deleted, unless the protection is removed. This Active Directory feature was first introduced in Windows Server 2008.

This protection consists of a Deny ACE added to the NTSecurityDescriptor attribute applied to Everyone with the flag set to Delete and DeleteTree.

Advised solution:

To safeguard against accidental deletions, it is essential to enable the "Protect object from accidental deletion" option for critical OUs and Containers.
When this option is enabled, it adds an additional layer of security, preventing unintended deletions.
To implement this protection:

* Open the Active Directory Users and Computers management console.
* Locate the OU or Container that requires protection.
* Right-click on the OU or Container, select "Properties."
* In the "Object" tab, check the "Protect object from accidental deletion" option.
* Click "Apply" and then "OK" to save the changes.

You can list unprotected OU using the PowerShell command:
Get-ADOrganizationalUnit -filter {name -like "*"} -Properties ProtectedFromAccidentalDeletion | format-table Name,ProtectedFromAccidentalDeletion
and protect them using the command:
Get-ADOrganizationalUnit -filter {name -like "*"} -Properties ProtectedFromAccidentalDeletion | where {$_.ProtectedFromAccidentalDeletion -eq $false} | Set-ADOrganizationalUnit -ProtectedFromAccidentalDeletion $true

Note: only 10 will be listed below. Checkout the Delegations section for the complete list.

Points:

Informative rule (0 point)

Documentation:

https://dirteam.com/sander/2011/07/13/preventing-ous-and-containers-from-accidental-deletion/
[MITRE]Mitre Att&ck - Mitigation - Active Directory Configuration

Details:

The detail can be found in Delegations

OU
OU=Domain Controllers,DC=adreps,DC=com
050100

Trusts : 1 /100

It is about links between two Active Directories

+ 1 Point(s)

Check if AES is enabled on trusts

Rule ID:

T-AlgsAES

Description:

The purpose is to check if AES can be used with Kerberos on trusts

Technical explanation:

By default, RC4 is used as the signature algorithm on Kerberos tickets.
If AES is enabled on a domain and AES is not enabled on trust, AES tickets will not be usable on the trust. The Kerberos tickets sent to the trust will fail or the trusted domain will fallback to NTLM.

The encryption algorithms allowed for a trust are stored in an attribute named msDS-SupportedEncryptionTypes.
If this attribute is not set (or has a value of zero), RC4 will be applied by default.
Else, it defines the algorithm to use for Kerberos signature.

Advised solution:

Enable AES on the domain.

Beware: there is a checkbox in the trust properties named "The other domain supports Kerberos AES Encryption".
If you enable this setting, AES will be enabled but RC4 will also be disabled.

The recommended way is to enable both RC4 and AES as a transition. It can be done by running the command:
ksetup /setenctypeattr mytrust.com RC4-HMAC-MD5 AES128-CTS-HMAC-SHA1-96 AES256-CTS-HMAC-SHA1-96

This way, the attribute msDS-SupportedEncryptionTypes of the trust will be modified to support both RC4 and AES.

Points:

1 points if present

Documentation:

https://techcommunity.microsoft.com/t5/itops-talk-blog/tough-questions-answered-can-i-disable-rc4-etype-for-kerberos-on/ba-p/382718
https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-kile/6cfc7b50-11ed-4b4d-846d-6f08f0812919
https://techcommunity.microsoft.com/t5/core-infrastructure-and-security/decrypting-the-selection-of-supported-kerberos-encryption-types/ba-p/1628797
[MITRE]Mitre Att&ck - Mitigation - Active Directory Configuration

Details:
TrustReason
winreps.com Not Configured
050100

Anomalies : 27 /100

It is about specific security control points

+ 10 Point(s)

Check if there is the expected audit policy on domain controllers.

Rule ID:

A-AuditDC

Description:

The purpose is to ensure that the audit policy on domain controllers collects the right set of events.

Technical explanation:

To detect and mitigate an attack, the right set of events need to be collected.
The audit policy is a compromise between too much and too few events to collect.
To solve this problem, the suggested audit policy from adsecurity.org is checked against the audit policy in place.

Advised solution:

Identify the Audit settings to apply and fix them.
Be aware that there are two places for audit settings.
For "Simple" audit configuration:
in Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Audit Policies
For "Advanced" audit configuration:
in Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Advanced Audit Policy Configuration
Also be sure that the audit GPO is applied to all domain controllers, as the underlying object may be in a OU where the GPO is not applied.

Points:

10 points if present

Documentation:

https://adsecurity.org/?p=3299
https://adsecurity.org/?p=3377
[MITRE]Mitre Att&ck - Mitigation - Audit

Details:

The detail can be found in Audit settings
The table below shows the settings that were not found as configured in a GPO for a given domain controller.

TypeAuditProblemRationaleDomain controller
Advanced Detailed Tracking / DPAPI Activity No GPO check for audit success Collect event 4692 to track the export of DPAPI backup key GBLON-DC01
Advanced Detailed Tracking / DPAPI Activity No GPO check for audit success Collect event 4692 to track the export of DPAPI backup key GBLON-DC02
+ 10 Point(s)

Check for short password length in password policy

Rule ID:

A-MinPwdLen

Description:

The purpose is to verify if the password policy of the domain enforces users to have at least 8 characters in their password

Technical explanation:

A check is performed to identify if the GPO regarding password policy allows less than 8 characters password. Short passwords represent a high risk because they can fairly easily be brute-forced or password sprayed. Most CERT and agencies advise for at least 8 characters (and often this number goes up to 12)

Advised solution:

To solve the issue, the best way is to either remove the GPO enabling short password, or to modify it in order to increase the password length to at least 8 characters

Points:

10 points if present

Documentation:

https://www.microsoft.com/en-us/research/publication/password-guidance/
[FR]ANSSI - Privileged group members with weak password policy (vuln2_privileged_members_password)2
[MITRE]T1201 Password Policy Discovery

Details:

The detail can be found in Password policies

GPO
Default Domain Policy
+ 5 Point(s)

Hardened Paths weakness

Rule ID:

A-HardenedPaths

Description:

The purpose is to ensure that there is no weakness related to hardened paths

Technical explanation:

Two vulnerabilities have been reported in 2015 (MS15-011 and MS15-014) which allows a domain takeover via GPO modifications done with a man-in-the-middle attack.
To mitigate these vulnerabilites, Microsoft has designed a workaround named "Hardened Paths". It forces connection settings to enforce Integrity, Mutual Authentication or Privacy.
By default if this policy is empty, if will enforce Integrity and Mutual Authentication on the SYSVOL or NETLOGON shares.
This rule checks if there have been any overwrite to disable this protection.

Advised solution:

You have to edit the Hardened Path section in the GPO.
This section is located in Computer Configuration/Policies/Administrative Templates/Network/Network Provider.
Check each value reported here and make sure that entries containing SYSVOL or NETLOGON have RequireIntegrity and RequireMutualAuthentication set to 1.
In addition to that, check entries having the pattern \\DCName\* and apply the same solution.

  • Netwrix Threat Manager monitors and optionally blocks unauthorized changes to Group Policy Objects (GPOs), helping protect against domain takeover attacks.

Points:

5 points if present

Documentation:


https://labs.withsecure.com/publications/how-to-own-any-windows-network-with-group-policy-hijacking-attacks
https://talubu.wordpress.com/2018/02/28/configuring-unc-hardened-access-through-group-policy/
https://adsecurity.org/?p=1405
https://support.microsoft.com/en-us/topic/ms15-011-vulnerability-in-group-policy-could-allow-remote-code-execution-february-10-2015-91b4bda2-945d-455b-ebbb-01d1ec191328
[US]STIG V-250319 - Hardened UNC Paths must be defined to require mutual authentication and integrity for at least the \\*\SYSVOL and \\*\NETLOGON shares.
[MITRE]T1557.001 Man-in-the-Middle: LLMNR/NBT-NS Poisoning and SMB Relay

Details:

The detail can be found in the Hardened Paths configuration section.

GPOKeyRequireIntegrityRequireMutualAuthenticationRequirePrivacy
No GPO Found NETLOGON Not Set Not Set Not Set
No GPO Found SYSVOL Not Set Not Set Not Set
+ 2 Point(s)

Check that the "Pre-Windows 2000 Compatible Access" group has not been modified from its default

Rule ID:

A-PreWin2000Other

Description:

The purpose is checking that no additional account has been added to the "Pre-Windows 2000 Compatible Access" group

Technical explanation:

The pre-Windows 2000 compatible access group grants access to some RPC calls which should not be available to users or computers.

Advised solution:

Remove the members from the PreWin2000 group while making sure that the group "Authenticated Users" is present. Then reboot each DC.

Points:

2 points if present

Documentation:

https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/7a76a403-ed8d-4c39-adb7-a3255cab82c5
[FR]ANSSI - Use of the "Pre-Windows 2000 Compatible Access" group (vuln3_compatible_2000_not_default)3
[MITRE]T1110.003 Brute Force: Password Spraying

Details:
DN
CN=GBLON-T0PKI02,OU=T0-PKI,OU=T0-Servers,OU=Tier0,DC=adreps,DC=com
CN=GBLON-T0PKI01,OU=T0-PKI,OU=T0-Servers,OU=Tier0,DC=adreps,DC=com
Informative rule

Check if the mitigation for CVE-2021-42291 has been enabled

Rule ID:

A-DsHeuristicsLDAPSecurity

Description:

The purpose is to identify domains having mitigation for CVE-2021-42291 not set to enabled

Technical explanation:

The way an Active Directory behaves can be controlled via the attribute DsHeuristics of CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration.
A parameter stored in its attribute and whose value is LDAPAddAutZVerifications and LDAPOwnerModify can be set to modify the mitigatation of CVE-2021-42291.
The KB5008383 has introduced changes to default security descriptor of Computer containers to add audit and limit computer creation without being admin.
Indeed, it is recommended to not let anyone create computer accounts as they can be used to abuse Kerberos or to perform relay attacks.

Mitigations in CVE-2021-42291 consist of 3 choices to be set on 2 settings.
They are named LDAPAddAutZVerifications and LDAPOwnerModify and are respectively the 28th and 29th character of this string.
For the expected values:
- With the value 0 (the default), it enables an additional audit mechanism
- With the value 1 (recommended), it enforces new security permissions, especially to require an action of the domain admin when unusual actions are performed
- With the value 2 (not recommended), it disables the audit mechanism that has been added by default and do not enable the new security permissions

Advised solution:

The easiest and fastest way to correct this issue is to replace the 28th and 29th character of the DsHeuristics attribute.
The value of LDAPAddAutZVerifications and LDAPOwnerModify should be set to 1.

Open the procedure embedded into the KB5008383 to apply this mitigation and change the DsHeuristics value.

Note: You have to pay attention that there are control characters at the 10th and 20th position to avoid undesired changes of the DsHeuristics attribute.
Typically if the DsHeuristics is empty, the expected new value is 00000000010000000002000000011

  • Netwrix Threat Manager monitors and optionally blocks changes to the DsHeuristics attribute, preventing security misconfigurations and mitigating risks such as CVE-2021-42282.

Points:

Informative rule (0 point)

Documentation:

https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/e5899be4-862e-496f-9a38-33950617d2c5
https://support.microsoft.com/en-au/topic/kb5008383-active-directory-permissions-updates-cve-2021-42291-536d5555-ffba-4248-a60e-d6cbc849cde1
[FR]ANSSI - Dangerous dsHeuristics settings (vuln3_dsheuristics_bad)3
[MITRE]T1187 Forced Authentication

Details:
SettingPositionValue
LDAPAddAuthZVerifications 28th Not Set
LDAPOwnerModify 29th Not Set
Informative rule

Check if PowerShell logging is enabled.

Rule ID:

A-AuditPowershell

Description:

The purpose is to ensure that PowerShell logging is enabled.

Technical explanation:

PowerShell is a powerful language, also used by hackers because of this quality. Hackers are able to run programs such as mimikatz in memory using obfuscated commands such as Invoke-Mimikatz.
Because there is no artefact on the disk, the incident response task is difficult for the forensic analysts.
For this reason, we recommend to enable PowerShell logging via a group policy, despite the fact that these security settings may be part of the workstation or server images.

Advised solution:

Go to Computer Configuration -> Administrative Templates -> Windows Components -> Windows PowerShell
And enable "Turn on Module logging" and "Turn on PowerShell Script Block logging"
We recommend to set "*" as the module list.

Points:

Informative rule (0 point)

Documentation:

https://adsecurity.org/?p=2604
https://learn.microsoft.com/en-us/powershell/scripting/wmf/whats-new/script-logging?view=powershell-6
[US]STIG V-220860 - PowerShell script block logging must be enabled
[MITRE]Mitre Att&ck - Mitigation - Audit

Details:

The detail can be found in Security settings

Informative rule

Check if Authenticated Users can create DNS records

Rule ID:

A-DnsZoneAUCreateChild

Description:

The purpose is to check if Authenticated Users has the right to create DNS records

Technical explanation:

When a computer is joined to a domain, a DNS record is created in the DnsZone to allow the computer to update its DNS settings.
By design, Microsoft choose to grant to the group Authenticated Users (aka every computers and users) the right to create DNS records.
Once created, only the owner keeps the right to edit the new object.

The vulnerability is that specific DNS records can be created to perform man-in-the-middle attacks.
One example is to create a wildcard record (a record with the name "*"), a failover DNS record or anticipating the creation of a DNS record with the right permissions.

Advised solution:

As of today, this rule is considered "informative" because the default configuration where Authenticated Users can create DNS records is considered safe.
The reason for this classification is that no exploitation of that vulnerability has been reported.

The proposed enhancement is to replace the identity who has been granted the right to create DNS Records (permission CreateChild) from Authenticated Users to Domain Computers.
To perform this change, you have to edit the permission of the DNSZone whose object is located in the container CN=MicrosoftDNS,DC=DomainDnsZones.

It should be noticed that if there is a privilege escalation on a computer, an attacker can impersonate the computer account and bypass this mitigation.

The best mitigation is to create the DNS records manually as part as the domain join process and to revoke the permission granted to Authenticated Users.

Points:

Informative rule (0 point)

Documentation:

https://www.ws-its.de/gegenmassnahme-zum-angriff-dns-wildcard/
https://www.netspi.com/blog/technical/network-penetration-testing/exploiting-adidns/
[MITRE]T1557 Man-in-the-Middle

Details:
DNSZone
adreps.com
10.10.in-addr.arpa
_msdcs.adreps.com
winreps.com
Informative rule

Ensure that the rootDse Anonymous Binding is disabled

Rule ID:

A-RootDseAnonBinding

Description:

The purpose is to ensure that Anonymous Binding on RootDse is not enabled

Technical explanation:

The rootDse is a special object that enables clients to discover the functionalities of the server, such as LDAP version or support for special processing.
On Windows, it can be accessed by default without binding, which allows everyone to access this data.
There is no confidential data in this attribute, only the Operating System version and the name of the domain.
Since Windows 2019, the rootDse access can be set to require authentication.
You can test the anonymous access of the rootDse object by launching ldp.exe and selecting 'Connect' on the Connection menu.
You should receive the error "The server has been configured to deny unauthenticated simple binds."

Advised solution:

Edit the attribute msDS-Other-Settings of the object CN=Directory Service,CN=Windows NT,CN=Services,CN=Configuration.
Add a new line with the content: DenyUnauthenticatedBind=1

Points:

Informative rule (0 point)

Documentation:

https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/3f0137a1-63df-400c-bf97-e1040f055a99
https://blog.lithnet.io/2018/12/disabling-unauthenticated-binds-in.html
[MITRE]T1018 Remote System Discovery

Informative rule

Check that the "Pre-Windows 2000 Compatible Access" group does not contain "Authenticated Users"

Rule ID:

A-PreWin2000AuthenticatedUsers

Description:

The purpose is checking if the "Pre-Windows 2000 Compatible Access" group contains "Authenticated Users"

Technical explanation:

The pre-Windows 2000 compatible access group grants access to some RPC calls.
Its default and secure value is the "Authenticated Users" group which allows users to perform group look-up using legacy protocols.

If this group contains "Authenticated Users", it increases the impact of the exploitation of vulnerabilities in legacy protocols such as the Print Spooler service.
Indeed, in the #PrintNightmare attack, it enables a patch bypass on domain controllers because the property Elevated Token is on when establishing a session to the DC.
Removing the group can have side impacts and as a consequence, this is reported here as a special hardening measure.

Advised solution:

Remove "Authenticated Users" from the PreWin2000 group.

Points:

Informative rule (0 point)

Documentation:

https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-adts/7a76a403-ed8d-4c39-adb7-a3255cab82c5
https://www.gradenegger.eu/?p=1132
[MITRE]T1210 Exploitation of Remote Services

Informative rule

Check if NetCease has been put in place to mitigate Bloodhound

Rule ID:

A-NoNetSessionHardening

Description:

The purpose is to ensure that mitigations are in place against the Bloodhound tool

Technical explanation:

By default, Windows computers allow any authenticated user to enumerate network sessions to it.
This means an attacker could enumerate network sessions to a file share hosting home directories or a Domain Controller to see who's connected to SYSVOL (to apply Group Policy) and determine which workstations each user and admin account is logged into.
Bloodhound uses this capability extensively to map out credentials in the network.

Disabling Net Session Enumeration removes the capability for any user to enumerate net session info (Recon).

Advised solution:

If this mitigation is not part of the computer image, apply the following recommendations:
Run the NetCease PowerShell script (referenced below) on a reference workstation.
Open the Group Policy Management Console. Right-click the Group Policy object (GPO) that should contain the new preference item, and then click Edit .
In the console tree under Computer Configuration, expand the Preferences folder, and then expand the Windows Settings folder.
Right-click the Registry node, point to New, and select Registry Wizard.
Select the reference workstation on which the desired registry settings exist, then click Next .
Browse to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\DefaultSecurity\
and select the check box for “SrvsvcSessionInfo” from which you want to create a Registry preference item. Select the check box for a key only if you want to create a Registry item for the key rather than for a value within the key.
Click Finish.
The settings that you selected appear as preference items in the Registry Wizard Values collection

Points:

Informative rule (0 point)

Documentation:

https://github.com/p0w3rsh3ll/NetCease
https://adsecurity.org/?p=3299
[MITRE]T1087.001 Account Discovery: Local Account

Details:

The detail can be found in Security settings

This section shows the main technical characteristics of the domain.

DomainNetbios NameDomain Functional LevelForest Functional LevelCreation dateDC countSchema versionRecycle Bin enabled
adreps.comADRWindows Server 2025Windows Server 20252026-10-12 05:54:38Z2Windows Server 2025TRUE

Entra ID Configuration

No Entra ID configuration has been found in this domain

This section gives information about the user accounts stored in the Active Directory

Honey Pot

A honey pot has been configured. It is used to generate fake security issues that are heavily monitored and that a hacker will spot using security tools like PingCastle. By enabling this feature, all the accounts listed below will not be evaluated with PingCastle rules.

[3]
NameCreationLast logonPwd Last SetDistinguished name
Access DeniedNeverNeverCN=ADIANT-VIRTUAL-,CN=Computers,DC=test,DC=mysmartlogon,DC=com
HoneyPotAccess DeniedNeverNever
HoneyPotInexistantAccess DeniedNeverNever

Account analysis

Nb User AccountsNb Enabled Nb Disabled Nb Active Nb Inactive Nb AccessDenied Nb Locked Nb pwd never Expire Nb SidHistory Nb Bad PrimaryGroup Nb Password not Req. Nb Des enabled. Nb unconstrained delegations (enabled) Nb unconstrained delegations (disabled) Nb Reversible password 
6726502265000000000000
[2]
NameCreationLast logonPwd Last SetDistinguished name
Administrator2026-10-12 05:54:44Z2026-10-22 16:36:04Z2026-09-28 13:53:18ZCN=Administrator,CN=Users,DC=adreps,DC=com
Monty2026-10-12 05:54:44ZNever2026-09-28 13:53:35ZCN=Monty,CN=Users,DC=adreps,DC=com

Password Age Distribution

This feature is reserved for customers who have purchased a license

Account analysis

This section gives information about the computer accounts stored in the Active Directory

Nb Computer AccountsNb Enabled Nb Disabled Nb Active Nb Inactive Nb AccessDenied Nb SidHistory Nb Bad PrimaryGroup Nb unconstrained delegations (enabled) Nb unconstrained delegations (disabled) Nb Reversible password 
6986980698000200
[2]
NameCreationLast logonPwd Last SetDomain ControllerDistinguished name
GBLON-DC01$2026-10-12 05:57:51Z2026-10-22 13:54:53Z2026-10-12 12:58:19ZYesCN=GBLON-DC01,OU=Domain Controllers,DC=adreps,DC=com
GBLON-DC02$2026-10-12 07:30:52Z2026-10-22 15:52:31Z2026-10-12 14:30:52ZYesCN=GBLON-DC02,OU=Domain Controllers,DC=adreps,DC=com

Operating Systems

If you need to find the computers running a specific OS, we advise to use PingCastle.exe and the export / computers feature available from the main menu. Indeed the computer details are not included in the report for performance issues. Doing this will impact significantly the report size and the time to load the report.

Operating SystemNb OSNb Enabled Nb Disabled Nb Active Nb Inactive Nb AccessDenied Nb SidHistory Nb Bad PrimaryGroup Nb unconstrained delegations (enabled) Nb unconstrained delegations (disabled) Nb Reversible password 
Windows Server 2025 24H26060060000200
Windows 11 24H24014010401000000
Windows 11 23H21441440144000000
Windows Server 2022 21H29393093000000

Domain controllers

Here is a specific zoom related to the Active Directory servers: the domain controllers.

[2]
Domain controllerOperating SystemIsGlobalCatalogIsReadOnlyCreation Date Startup TimeUptimeOwner Null sessions SMB v1 Remote spooler FSMO role WebDAV 
GBLON-DC01Windows 2025TRUEFALSE2026-10-12 05:57:51Z2026-10-28 08:02:08Z000 daysADR\Domain AdminsNONONOPDC,
RID pool manager,
Infrastructure master,
Schema master,
Domain naming Master
NO
GBLON-DC02Windows 2025TRUEFALSE2026-10-12 07:30:52Z2026-10-28 08:04:39Z000 daysADR\Domain AdminsNONONONO

LAPS Analysis

This feature is reserved for customers who have purchased a license

Groups

This section is focused on the groups which are critical for admin activities. If the report has been saved which the full details, each group can be zoomed with its members. If it is not the case, for privacy reasons, only general statistics are available.

Group NameNb Admins Nb Enabled Nb Disabled Nb Inactive Nb PWd never expire Nb Smart Card required Nb Service accounts Nb can be delegated Nb external users Nb protected users 
Account Operators0000000000
Administrators2201100100
Backup Operators5504000005
Certificate Operators0000000000
Certificate Publishers0000000000
Dns Admins0000000000
Domain Administrators1100100000
Enterprise Administrators1100100000
Enterprise Key Administrators0000000000
Key Administrators0000000000
Print Operators0000000000
Replicator0000000000
Schema Administrators1100100000
Server Operators0000000000
[7]
SamAccountName Enabled Active Pwd never Expired Locked Smart Card required Service account Flag Cannot be delegated present Creation date Last login Password last set In Protected Users Distinguished name 
AdministratorYESYESYESNONONOYES2026-10-12 05:54:44Z2026-10-22 16:36:04Z2026-09-28 13:53:18ZNOCN=Administrator,CN=Users,DC=adreps,DC=com
gMSA-RMAD$YESYESNONONONOYES2026-10-21 01:39:18Z2026-10-21 12:00:00Z2026-10-21 08:39:18ZYESCN=gMSA-RMAD,OU=T0-ServiceAccounts,OU=Tier0,DC=adreps,DC=com
MontyYESNONONONONONO2026-10-12 05:54:44ZNot set2026-09-28 13:53:35ZNOCN=Monty,CN=Users,DC=adreps,DC=com
T0-ADBACKUP01YESNONONONONOYES2026-10-12 07:25:05ZNot set1601-01-01 07:00:00ZYESCN=T0-ADBACKUP01,OU=T0-Accounts,OU=Tier0,DC=adreps,DC=com
T0-ADBACKUP02YESNONONONONOYES2026-10-12 07:25:06ZNot set1601-01-01 07:00:00ZYESCN=T0-ADBACKUP02,OU=T0-Accounts,OU=Tier0,DC=adreps,DC=com
T0-ADBACKUP03YESNONONONONOYES2026-10-12 07:25:06ZNot set1601-01-01 07:00:00ZYESCN=T0-ADBACKUP03,OU=T0-Accounts,OU=Tier0,DC=adreps,DC=com
T0-ADBACKUP04YESNONONONONOYES2026-10-12 07:25:06ZNot set1601-01-01 07:00:00ZYESCN=T0-ADBACKUP04,OU=T0-Accounts,OU=Tier0,DC=adreps,DC=com

Last Logon Distribution

This feature is reserved for customers who have purchased a license

Delegations

Each specific rights defined for Organizational Unit (OU) are listed below.

[20]
DistinguishedNameAccountRight
DC=adrepsADR\Domain ControllersEXT_RIGHT_REPLICATION_GET_CHANGES_ALL
CN=BuiltinADR\Domain ControllersEXT_RIGHT_REPLICATION_GET_CHANGES_ALL
CN=KeysADR\Domain ControllersGenericAll, GenericWrite, WriteDacl, WriteOwner, CreateChild, GenericAll (All Objects), All extended right, DSSelf, Write all prop
CN=KeysADR\Enterprise Key AdminsGenericAll, GenericWrite, WriteDacl, WriteOwner, CreateChild, GenericAll (All Objects), All extended right, DSSelf, Write all prop
CN=KeysADR\Key AdminsGenericAll, GenericWrite, WriteDacl, WriteOwner, CreateChild, GenericAll (All Objects), All extended right, DSSelf, Write all prop
CN=MicrosoftDNS,CN=SystemADR\DnsAdminsGenericWrite, WriteDacl, WriteOwner, CreateChild, WriteDacl (All Objects), All extended right, DSSelf, Write all prop
CN=Policies,CN=SystemADR\Group Policy Creator OwnersCreateChild, CreateChild (All Objects)
CN=RAS and IAS Servers Access Check,CN=SystemADR\RAS and IAS ServersGenericWrite, WriteDacl, WriteOwner, CreateChild, WriteDacl (All Objects), All extended right, DSSelf, Write all prop
CN=WMIPolicy,CN=SystemADR\Group Policy Creator OwnersGenericWrite, CreateChild, CreateChild (All Objects), DSSelf, Write all prop
CN=PolicyTemplate,CN=WMIPolicy,CN=SystemADR\Group Policy Creator OwnersCreateChild, CreateChild (All Objects)
CN=PolicyType,CN=WMIPolicy,CN=SystemADR\Group Policy Creator OwnersCreateChild, CreateChild (All Objects)
CN=SOM,CN=WMIPolicy,CN=SystemADR\Group Policy Creator OwnersGenericWrite, CreateChild, CreateChild (All Objects), DSSelf, Write all prop
CN=WMIGPO,CN=WMIPolicy,CN=SystemADR\Group Policy Creator OwnersCreateChild, CreateChild (All Objects)
OU=Users,OU=ADRADR\T2-AdminsEXT_RIGHT_FORCE_CHANGE_PWD
OU=Workstations,OU=ADRADR\T2-AdminsGenericWrite, EXT_RIGHT_FORCE_CHANGE_PWD
OU=StagingADR\T1-AdminsGenericWrite, EXT_RIGHT_FORCE_CHANGE_PWD
OU=StagingADR\T2-AdminsGenericWrite, EXT_RIGHT_FORCE_CHANGE_PWD
OU=T1-PAWS,OU=Tier1ADR\T1-AdminsGenericWrite, EXT_RIGHT_FORCE_CHANGE_PWD
OU=T1-Servers,OU=Tier1ADR\T1-AdminsGenericWrite, EXT_RIGHT_FORCE_CHANGE_PWD
OU=T2-PAWS,OU=Tier2ADR\T2-AdminsGenericWrite, EXT_RIGHT_FORCE_CHANGE_PWD

The OU that are listed as not protected are:

[1]
DistinguishedName
OU=Domain Controllers

In particular for AD database access (DCSync, AADConnect, ...).

[2]
DistinguishedNameAccountRight
DC=adrepsADR\Domain ControllersEXT_RIGHT_REPLICATION_GET_CHANGES_ALL
CN=BuiltinADR\Domain ControllersEXT_RIGHT_REPLICATION_GET_CHANGES_ALL

This section focuses on permissions issues that can be exploited to take control of the domain.
This is an advanced section that should be examined after having looked at the Admin Groups section.

Foreign domain involved

This analysis focuses on accounts found in control path and located in other domains.

No operative link with other domains has been found.

Indirect links

This part tries to summarize in a single table if major issues have been found.
Focus on finding critical objects such as the Everyone group then try to decrease the number of objects having indirect access.
The detail is displayed below.

Priority to remediate Critical Object Found Number of objects with Indirect Max number of indirect numbers Max ratio 
CriticalNO000
HighNO000
MediumNO000
OtherNO000

Admin groups

If the report has been saved which the full details, each object can be zoomed with its full detail. If it is not the case, for privacy reasons, only general statistics are available.

Group or user account Priority Users member Computer member of the group Indirect control Unresolved members Links Detail 
Account OperatorsHigh0000NoneAnalysis
AdministratorCritical00NoneAnalysis
AdministratorsCritical2 (Details)000NoneAnalysis
Backup OperatorsHigh5 (Details)000NoneAnalysis
Certificate OperatorsMedium0000NoneAnalysis
Certificate PublishersOther02 (Details)00NoneAnalysis
Dns AdminsMedium0000NoneAnalysis
Domain AdministratorsCritical1 (Details)000NoneAnalysis
Enterprise AdministratorsCritical1 (Details)000NoneAnalysis
Enterprise Key AdministratorsMedium0000NoneAnalysis
Key AdministratorsMedium0000NoneAnalysis
Print OperatorsMedium0000NoneAnalysis
ReplicatorMedium0000NoneAnalysis
Schema AdministratorsCritical1 (Details)000NoneAnalysis
Server OperatorsHigh0000NoneAnalysis

Critical Infrastructure

If the report has been saved which the full details, each object can be zoomed with its full detail. If it is not the case, for privacy reasons, only general statistics are available.

Group or user account Priority Users member Computer member of the group Indirect control Unresolved members Links Detail 
AdminSDHolder containerCritical00NoneAnalysis
Builtin OUMedium00NoneAnalysis
Certificate storeMedium00NoneAnalysis
Computers containerMedium00NoneAnalysis
Domain ControllersCritical02 (Details)00NoneAnalysis
Domain RootMedium00NoneAnalysis
Enterprise Read Only Domain ControllersOther0000NoneAnalysis
Group Policy Creator OwnersMedium1 (Details)000NoneAnalysis
Krbtgt accountMedium00NoneAnalysis
Read Only Domain ControllersMedium0000NoneAnalysis
Users containerMedium00NoneAnalysis

This section focuses on the relations that this domain has with other domains

Discovered Domains

This part displays the direct links that this domain has with other domains.

Trust PartnerTypeAttributDirection SID Filtering active TGT Delegation Creation Is Active ? Algorithm 
winreps.com UplevelCross-Organizational, Forest TrustBidirectionalYesNo2026-10-20 02:20:31ZTRUEDefault (RC4)

Reachable Domains

These are the domains that PingCastle was able to detect but which is not releated to direct trusts. It may be children of a forest or bastions.

Reachable domainDiscovered usingNetbiosCreation date
PKI

Certificates

This detects trusted certificates which can be used in man in the middle attacks, or which can issue smart card logon certificates

Number of trusted certificates: 1

[1]
SourceStoreSubjectIssuerNotBeforeNotAfterModule sizeSignature AlgSC Logon
Enterprise NTAuth NTLMStoreCN=ADR-Issuing-CA01, DC=adreps, DC=comCN=ADR-Root-CA, DC=adreps, DC=com2026-10-22 13:13:30Z2036-10-22 13:23:30Z4096sha256RSAFalse

Certificate Templates

This section lists certificate templates which can be used to generate a certificate. A misconfiguration can allow an attacker to create its own certificate and use it to impersonate other users

Number of certificate templates: 6

[6]
NameDestinationManager approval Enrollee can supply subject Issuance requirements Vulnerable ACL Everyone can enroll Agent template Any purpose For Authentication Flag No Security 
ADR-User UserNONONONOYESNONOYESNO
ADR-Computer ComputerNONONONOYESNONOYESNO
ADR-DomainController ComputerNONONONONONONOYESNO
ADR-WebServer ComputerNOYESNONONONONONONO
ADR-RDP ComputerNONONONOYESNONONONO
ADR-CodeSigning UserNONONONONONONONONO

The delegations for certificate templates are listed below.

[9]
DistinguishedNameAccountRight
CN=ADR-CodeSigning,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=ConfigurationADR\T0-PKI-AdminsEnroll
CN=ADR-Computer,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=ConfigurationDomain ComputersEnroll
CN=ADR-DomainController,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=ConfigurationADR\Domain ControllersEnroll
CN=ADR-DomainController,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=ConfigurationADR\Enterprise Read-only Domain ControllersEnroll
CN=ADR-RDP,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=ConfigurationADR\Domain ControllersEnroll
CN=ADR-RDP,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=ConfigurationDomain ComputersEnroll
CN=ADR-User,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=ConfigurationDomain UsersEnroll
CN=ADR-WebServer,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=ConfigurationADR\T0-PKI-AdminsEnroll
CN=ADR-WebServer,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=ConfigurationADR\T1-Web-AdminsEnroll

Domain Controller Certificate

This section lists certificates in use on Domain Controllers. They give an attacker hints about the PKI configuration.

Number of DC certificates: 1

[1]
DC NameSubjectSAN EKU Template NotBeforeNotAfterModule sizeSignature Alg
GBLON-DC01GBLON-DC01.adreps.comKDC Authentication, Smart Card Logon, Server Authentication, Client Authentication, ADR Domain Controller(1.3.6.1.4.1.311.21.8.1498083.488895.5260956.10431609.12872976.131.19455100.99881617)2026-10-22 13:44:49Z2027-10-22 13:44:49Z2048sha256RSA

Microsoft Entra Connect settings

Microsoft Entra Connect help maintaining a synchronization between the Active Directory and Entra ID. Microsoft Entra Connect servers should be considered as Tiers0 as they usually have the right to read the hashes of the user passwords.

Identifier Computer Tenant IsEnabled Created LastLogon PwdLastSet Computer object found 

WSUS settings

WSUS settings allow workstations and servers located on the intranet to be updated. The reference documentation is here. Here are the settings found in GPO.

Policy NameWSUS Server UseWUServer ElevateNonAdmins AUOptions NoAutoUpdate NoAutoRebootWithLoggedOnUsers 

Exchange settings

Exchange is the mail server of Microsoft. Because it is deeply integrated into the Active Directory, it is a component to be monitored

PingCastle is checking objects of type msExchExchangeServer and the schema to provide the information below.

NameIn service dateVersionProxy

SCCM settings

SCCM or its more recent name Microsoft Endpoint Manager is the Microsoft tool to manage the workstations and servers. It is used typically to deploy packages.

PingCastle is checking objects of type mSSMSManagementPoint and the schema to provide the information below.

NameVersionClient operational versionAAD TenantIDAAD TenantName

Service Connection Points

Service Connection Points are a configuration stored in the AD to expose services to all computers.

Service Class DNS Binding Info DN 

Replacement of RC4 by AES in kerberos

This section checks for known pain points in AES activation and RC4 removal for kerberos

This feature is reserved for customers who have purchased a license

This section focuses on security checks specific to the Active Directory environment.

Backup

The program checks the last date of the AD backup. This date is computed using the replication metadata of the attribute dsaSignature (reference).

Last backup date: 2026-10-28 08:30:53Z

LAPS

LAPS is used to have a unique local administrator password on all workstations / servers of the domain. Then this password is changed at a fixed interval. The risk is when a local administrator hash is retrieved and used on other workstation in a pass-the-hash attack. Please note that the LAPS schema is installed on the forest and as a consequence the installation date can be before the domain creation date.

Mitigation: having a process when a new workstation is created or install LAPS and apply it through a GPO

Legacy LAPS installation date: Never

Windows LAPS installation date: 2026-10-12 07:22:53Z

Windows Event Forwarding (WEF)

Windows Event Forwarding is a native mechanism used to collect logs on all workstations / servers of the domain. Microsoft recommends to Use Windows Event Forwarding to help with intrusion detection Here is the list of servers configured for WEF found in GPO

Number of WEF configuration found: 0

krbtgt (Used for Golden ticket attacks)

The account password for the krbtgt account should be rotated twice yearly at a minimum. More frequent password rotations are recommended, with 40 days the current recommendation by ANSSI. Additional rotations based on external events, such as departure of an employee who had privileged network access, are also strongly recommended.

You can perform this action using this script

You can use the version gathered using replication metadata from two reports to guess the frequency of the password change or if the two consecutive resets have been done. Version starts at 1.

Kerberos password last changed: 2026-10-12 12:57:51Z version: 2

AdminSDHolder (detect temporary elevated accounts)

This control detects accounts which are former 'unofficial' admins. Indeed when an account belongs to a privileged group, the attribute admincount is set. If the attribute is set without being an official member, this is suspicious. To suppress this warning, the attribute admincount of these accounts should be removed after review.

Number of accounts to review: 0

Unix Passwords

This control detects if one of the attributes userPassword or unixUserPassword has been set on accounts. Indeed, these attributes are designed to store encrypted secrets for unix (or mainframe) interconnection. However in the large majority, interconnected systems are poorly designed and the user password is stored in these attributes in clear text or poorly encrypted. The userPassword attribute is also used in classic LDAP systems to change the user password by setting its value. But, with Active Directory, it is considered by default as a normal attribute and doesn't trigger a password but shows instead the password in clear text.

Number of accounts to review: 0

Java code reference

This control detects if one of the attributes javaCodebase, javaFactory or javaClassname has been set on accounts. Indeed, these attributes are designed to add custom code to AD object when running java code. However it can be abused to run code on servers having the flag com.sun.jndi.ldap.object.trustURLCodebase set to true. This is a vulnerability similar to the log4shell vulnerability.

Java Schema extension: Not Found

No active user account found with Java code

Logon scripts

You can check here for backdoors or typos in the scriptPath attribute

Script NameCount
None650

Advanced

This section display advanced information, if any has been found

Password policies

Note: PSO (Password Settings Objects) will be visible only if the user, which collected the information, has the permission to view it.
PSO shown in the report will be prefixed by "PSO:"

Policy NameComplexityMax Password AgeMin Password AgeMin Password LengthPassword HistoryReversible EncryptionLockout ThresholdLockout DurationReset account counter locker after
Default Domain Policy True42 day(s)1 day(s)724False0Not SetNot Set
PSO:PSO-TierAdminsTrue180 day(s)1 day(s)2024False1030 minute(s)30 minute(s)

Screensaver policies

This is the settings related to screensavers stored in Group Policies. Each non compliant setting is written in red.

Policy NameScreensaver enforcedPassword requestStart after (seconds)Grace Period (seconds)
GPO

This section focuses on security settings stored in the Active Directory technical security policies.

Obfuscated Passwords

The password in GPO are obfuscated, not encrypted. Consider any passwords listed here as compromised and change them immediately.

Restricted Groups

Giving local group membership in a GPO is a way to become administrator.
The local admin of a domain controller can become domain administrator instantly.

GPO NameUser or groupMember of
ADR-T0-LocalAdminsADR\Domain AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\Domain AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\Domain AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\Domain AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\Domain AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\Domain AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\Domain AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\Domain AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\Domain AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\T0-ADBackup-AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\T0-ADBackup-AdminsRemote Desktop Users (built-in)
ADR-T0-LocalAdminsADR\T0-ADFS-AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\T0-ADFS-AdminsRemote Desktop Users (built-in)
ADR-T0-LocalAdminsADR\T0-App-AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\T0-App-AdminsRemote Desktop Users (built-in)
ADR-T0-LocalAdminsADR\T0-Entra-AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\T0-Entra-AdminsRemote Desktop Users (built-in)
ADR-T0-LocalAdminsADR\T0-PAM-AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\T0-PAM-AdminsRemote Desktop Users (built-in)
ADR-T0-LocalAdminsADR\T0-PAWS-AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\T0-PKI-AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\T0-PKI-AdminsRemote Desktop Users (built-in)
ADR-T0-LocalAdminsADR\T0-SCCM-AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\T0-SCCM-AdminsRemote Desktop Users (built-in)
ADR-T0-LocalAdminsADR\T0-SCOM-AdminsAdministrators (built-in)
ADR-T0-LocalAdminsADR\T0-SCOM-AdminsRemote Desktop Users (built-in)
ADR-T1-LocalAdminsADR\T1-App-AdminsAdministrators (built-in)
ADR-T1-LocalAdminsADR\T1-App-AdminsRemote Desktop Users (built-in)
ADR-T1-LocalAdminsADR\T1-Backup-AdminsAdministrators (built-in)
ADR-T1-LocalAdminsADR\T1-Backup-AdminsRemote Desktop Users (built-in)
ADR-T1-LocalAdminsADR\T1-File-AdminsAdministrators (built-in)
ADR-T1-LocalAdminsADR\T1-File-AdminsRemote Desktop Users (built-in)
ADR-T1-LocalAdminsADR\T1-PAWS-AdminsAdministrators (built-in)
ADR-T1-LocalAdminsADR\T1-SCCM-AdminsAdministrators (built-in)
ADR-T1-LocalAdminsADR\T1-SCCM-AdminsRemote Desktop Users (built-in)
ADR-T1-LocalAdminsADR\T1-SCOM-AdminsAdministrators (built-in)
ADR-T1-LocalAdminsADR\T1-SCOM-AdminsRemote Desktop Users (built-in)
ADR-T1-LocalAdminsADR\T1-SQL-AdminsAdministrators (built-in)
ADR-T1-LocalAdminsADR\T1-SQL-AdminsRemote Desktop Users (built-in)
ADR-T1-LocalAdminsADR\T1-Web-AdminsAdministrators (built-in)
ADR-T1-LocalAdminsADR\T1-Web-AdminsRemote Desktop Users (built-in)
ADR-T2-LocalAdminsADR\T2-AdminsAdministrators (built-in)
ADR-T2-LocalAdminsADR\T2-PAWS-AdminsAdministrators (built-in)
ADR-T2-LocalAdminsADR\T2-PAWS-AdminsRemote Desktop Users (built-in)

Security settings

A GPO can be used to deploy security settings to workstations.
The best practice out of the default security baseline is reported in green.
The following settings in red are unsual and may need to be reviewed.
Each setting is accompanied with its value and a link to the GPO explanation.

You will find below the checks where no occurences have been found

Policy NameSettingValue
ADR-SecBaseline-DC Network security: Restrict NTLM: Outgoing NTLM traffic to remote serversAudit (Deny All is not enabled)
ADR-SecBaseline-All LAN Manager authentication level (Technical details)Send NTLMv2 response only. Refuse LM & NTLM
ADR-SecBaseline-All Turn off multicast name resolution (Technical details)LLMNR disabled
ADR-Computer-Baseline Powershell: Turn on Powershell Script Block loggingEnabled
ADR-Kerberos-Armoring KDC support for claims compound authentication and Kerberos armoringEnabled
ADR-Kerberos-Armoring Kerberos client support for claims, compound authentication and Kerberos armoringEnabled

Audit settings

Audit settings allow the system to generate logs which are useful to detect intrusions. Here are the settings found in GPO.

Simple audit events are described here and Advanced audit events are described here

You can get a list of all audit settings with the command line: auditpol.exe /get /category:* (source)

Simple audit settings are located in: Computer Configuration / Policies / Windows Settings / Security Settings / Local Policies / Audit Policy. Simple audit settings are named [Simple Audit].

Advanced audit settings are located in: Computer Configuration / Policies / Windows Settings / Security Settings / Advanced Audit Policy Configuration. This category is displayed below.

Policy NameCategorySettingValue
ADR-SecBaseline-All Account LogonCredential ValidationSuccess and Failure
ADR-SecBaseline-All Account LogonKerberos Authentication ServiceSuccess and Failure
ADR-SecBaseline-All Account LogonKerberos Service Ticket OperationsSuccess and Failure
ADR-SecBaseline-All Account ManagementComputer Account ManagementSuccess
ADR-SecBaseline-All Account ManagementOther Account Management EventsSuccess
ADR-SecBaseline-All Account ManagementSecurity Group ManagementSuccess
ADR-SecBaseline-All Account ManagementDistribution Group ManagementSuccess
ADR-SecBaseline-All Account ManagementApplication Group ManagementSuccess
ADR-SecBaseline-All Account ManagementUser Account ManagementSuccess and Failure
ADR-SecBaseline-All SystemPNP ActivitySuccess
ADR-SecBaseline-All Detailed TrackingProcess CreationSuccess
ADR-SecBaseline-All DS AccessDirectory Service AccessSuccess and Failure
ADR-SecBaseline-All DS AccessDirectory Service ChangesSuccess
ADR-SecBaseline-All Logon/LogoffAccount LockoutFailure
ADR-SecBaseline-All SystemGroup MembershipSuccess
ADR-SecBaseline-All Logon/LogoffLogoffSuccess
ADR-SecBaseline-All Logon/LogoffLogonSuccess and Failure
ADR-SecBaseline-All Logon/LogoffOther Logon/LogoffSuccess and Failure
ADR-SecBaseline-All Logon/LogoffSpecial LogonSuccess
ADR-SecBaseline-All Object AccessDetailed File ShareFailure
ADR-SecBaseline-All Object AccessFile SystemSuccess and Failure
ADR-SecBaseline-All Object AccessFile ShareSuccess and Failure
ADR-SecBaseline-All Object AccessOther Object AccessSuccess and Failure
ADR-SecBaseline-All SystemRemovable StorageSuccess and Failure
ADR-SecBaseline-All Policy ChangeAudit Policy ChangeSuccess
ADR-SecBaseline-All Policy ChangeAuthentication Policy ChangeSuccess
ADR-SecBaseline-All Policy ChangeAuthorization Policy ChangeSuccess
ADR-SecBaseline-All Policy ChangeMPSSVC Rule-Level Policy ChangeSuccess and Failure
ADR-SecBaseline-All Policy ChangeOther Policy Change EventsFailure
ADR-SecBaseline-All Privilege UseSensitive Privilege UseSuccess and Failure
ADR-SecBaseline-All SystemIPsec DriverSuccess and Failure
ADR-SecBaseline-All SystemOther System EventsSuccess and Failure
ADR-SecBaseline-All SystemSecurity State ChangeSuccess
ADR-SecBaseline-All SystemSecurity System ExtensionSuccess
ADR-SecBaseline-All SystemSystem IntegritySuccess and Failure

Privileges

Giving privileges in a GPO is a way to become administrator without being part of a group.
For example, SeTcbPriviledge gives the right to act as SYSTEM, which has more privileges than the administrator account.

GPO NamePrivilegeMembers
Default Domain Controllers Policy SeAssignPrimaryTokenPrivilegeNT AUTHORITY\NETWORK SERVICE
Default Domain Controllers Policy SeAssignPrimaryTokenPrivilegeNT AUTHORITY\LOCAL SERVICE
Default Domain Controllers Policy SeBackupPrivilegeBUILTIN\Server Operators
Default Domain Controllers Policy SeBackupPrivilegeBUILTIN\Backup Operators
Default Domain Controllers Policy SeBackupPrivilegeAdministrators
Default Domain Controllers Policy SeDebugPrivilegeAdministrators
Default Domain Controllers Policy SeLoadDriverPrivilegeBUILTIN\Print Operators
Default Domain Controllers Policy SeLoadDriverPrivilegeAdministrators
Default Domain Controllers Policy SeMachineAccountPrivilegeAuthenticated Users
Default Domain Controllers Policy SeRestorePrivilegeBUILTIN\Server Operators
Default Domain Controllers Policy SeRestorePrivilegeBUILTIN\Backup Operators
Default Domain Controllers Policy SeRestorePrivilegeAdministrators
Default Domain Controllers Policy SeSecurityPrivilegeAdministrators
Default Domain Controllers Policy SeTakeOwnershipPrivilegeAdministrators
Default Domain Controllers Policy SeEnableDelegationPrivilegeAdministrators
ADR-SecBaseline-Member SeDebugPrivilegeAdministrators

Login

Login authorization and restriction can be set by GPOs. Indeed, by default, everyone is allowed to login on every computer except domain controllers. Defining login restriction is a way to have different isolated tiers. Here are the settings found in GPOs.

GPO NamePrivilegeMembers
ADR-T1-Logon-Restrictions Deny log on locally BUILTIN\Guests
ADR-T1-Logon-Restrictions Deny log on locally ADR\T0-Admins
ADR-T1-Logon-Restrictions Deny log on locally Domain Administrators
ADR-T1-Logon-Restrictions Deny log on locally ADR\Schema Admins
ADR-T1-Logon-Restrictions Deny log on locally ADR\Enterprise Admins
ADR-T1-Logon-Restrictions Deny log on locally ADR\T2-Admins
ADR-T1-Logon-Restrictions Deny logon through Remote Desktop Services BUILTIN\Guests
ADR-T1-Logon-Restrictions Deny logon through Remote Desktop Services NT AUTHORITY\Local account
ADR-T1-Logon-Restrictions Deny logon through Remote Desktop Services ADR\T0-Admins
ADR-T1-Logon-Restrictions Deny logon through Remote Desktop Services Domain Administrators
ADR-T1-Logon-Restrictions Deny logon through Remote Desktop Services ADR\Schema Admins
ADR-T1-Logon-Restrictions Deny logon through Remote Desktop Services ADR\Enterprise Admins
ADR-T1-Logon-Restrictions Deny logon through Remote Desktop Services ADR\T2-Admins
ADR-T1-Logon-Restrictions Deny log on as a batch job ADR\T0-Admins
ADR-T1-Logon-Restrictions Deny log on as a batch job Domain Administrators
ADR-T1-Logon-Restrictions Deny log on as a batch job ADR\Schema Admins
ADR-T1-Logon-Restrictions Deny log on as a batch job ADR\Enterprise Admins
ADR-T1-Logon-Restrictions Deny log on as a batch job ADR\T2-Admins
ADR-T1-Logon-Restrictions Deny log on as a service ADR\T0-Admins
ADR-T1-Logon-Restrictions Deny log on as a service Domain Administrators
ADR-T1-Logon-Restrictions Deny log on as a service ADR\Schema Admins
ADR-T1-Logon-Restrictions Deny log on as a service ADR\Enterprise Admins
ADR-T1-Logon-Restrictions Deny log on as a service ADR\T2-Admins
ADR-T1-Logon-Restrictions Deny access to this computer from the network BUILTIN\Guests
ADR-T1-Logon-Restrictions Deny access to this computer from the network NT AUTHORITY\Local account and member of Administrators group
ADR-T1-Logon-Restrictions Deny access to this computer from the network ADR\T0-Admins
ADR-T1-Logon-Restrictions Deny access to this computer from the network Domain Administrators
ADR-T1-Logon-Restrictions Deny access to this computer from the network ADR\Schema Admins
ADR-T1-Logon-Restrictions Deny access to this computer from the network ADR\Enterprise Admins
ADR-T1-Logon-Restrictions Deny access to this computer from the network ADR\T2-Admins
ADR-T1-PAW-Logon Allow log on locally Administrators
ADR-T1-PAW-Logon Allow log on locally BUILTIN\Remote Desktop Users
ADR-T1-PAW-Logon Allow logon through Remote Desktop Services Administrators
ADR-T1-PAW-Logon Allow logon through Remote Desktop Services BUILTIN\Remote Desktop Users
ADR-T0-Logon-Restrictions Deny log on locally BUILTIN\Guests
ADR-T0-Logon-Restrictions Deny log on locally ADR\T1-Admins
ADR-T0-Logon-Restrictions Deny log on locally ADR\T2-Admins
ADR-T0-Logon-Restrictions Deny logon through Remote Desktop Services BUILTIN\Guests
ADR-T0-Logon-Restrictions Deny logon through Remote Desktop Services NT AUTHORITY\Local account
ADR-T0-Logon-Restrictions Deny logon through Remote Desktop Services ADR\T1-Admins
ADR-T0-Logon-Restrictions Deny logon through Remote Desktop Services ADR\T2-Admins
ADR-T0-Logon-Restrictions Deny log on as a batch job ADR\T1-Admins
ADR-T0-Logon-Restrictions Deny log on as a batch job ADR\T2-Admins
ADR-T0-Logon-Restrictions Deny log on as a service ADR\T1-Admins
ADR-T0-Logon-Restrictions Deny log on as a service ADR\T2-Admins
Default Domain Controllers Policy Log on as a batch job BUILTIN\Performance Log Users
Default Domain Controllers Policy Log on as a batch job BUILTIN\Backup Operators
Default Domain Controllers Policy Log on as a batch job Administrators
Default Domain Controllers Policy Log on as a batch job ADR\gmsa-TierSync$
Default Domain Controllers Policy Allow log on locally NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS
Default Domain Controllers Policy Allow log on locally BUILTIN\Print Operators
Default Domain Controllers Policy Allow log on locally BUILTIN\Server Operators
Default Domain Controllers Policy Allow log on locally BUILTIN\Account Operators
Default Domain Controllers Policy Allow log on locally BUILTIN\Backup Operators
Default Domain Controllers Policy Allow log on locally Administrators
Default Domain Controllers Policy Access this computer from the network BUILTIN\Pre-Windows 2000 Compatible Access
Default Domain Controllers Policy Access this computer from the network NT AUTHORITY\ENTERPRISE DOMAIN CONTROLLERS
Default Domain Controllers Policy Access this computer from the network Authenticated Users
Default Domain Controllers Policy Access this computer from the network Administrators
Default Domain Controllers Policy Access this computer from the network Everyone
ADR-T2-Logon-Restrictions Deny log on locally BUILTIN\Guests
ADR-T2-Logon-Restrictions Deny log on locally ADR\T0-Admins
ADR-T2-Logon-Restrictions Deny log on locally Domain Administrators
ADR-T2-Logon-Restrictions Deny log on locally ADR\Schema Admins
ADR-T2-Logon-Restrictions Deny log on locally ADR\Enterprise Admins
ADR-T2-Logon-Restrictions Deny log on locally ADR\T1-Admins
ADR-T2-Logon-Restrictions Deny logon through Remote Desktop Services BUILTIN\Guests
ADR-T2-Logon-Restrictions Deny logon through Remote Desktop Services NT AUTHORITY\Local account
ADR-T2-Logon-Restrictions Deny logon through Remote Desktop Services ADR\T0-Admins
ADR-T2-Logon-Restrictions Deny logon through Remote Desktop Services Domain Administrators
ADR-T2-Logon-Restrictions Deny logon through Remote Desktop Services ADR\Schema Admins
ADR-T2-Logon-Restrictions Deny logon through Remote Desktop Services ADR\Enterprise Admins
ADR-T2-Logon-Restrictions Deny logon through Remote Desktop Services ADR\T1-Admins
ADR-T2-Logon-Restrictions Deny log on as a batch job ADR\T0-Admins
ADR-T2-Logon-Restrictions Deny log on as a batch job Domain Administrators
ADR-T2-Logon-Restrictions Deny log on as a batch job ADR\Schema Admins
ADR-T2-Logon-Restrictions Deny log on as a batch job ADR\Enterprise Admins
ADR-T2-Logon-Restrictions Deny log on as a batch job ADR\T1-Admins
ADR-T2-Logon-Restrictions Deny log on as a service ADR\T0-Admins
ADR-T2-Logon-Restrictions Deny log on as a service Domain Administrators
ADR-T2-Logon-Restrictions Deny log on as a service ADR\Schema Admins
ADR-T2-Logon-Restrictions Deny log on as a service ADR\Enterprise Admins
ADR-T2-Logon-Restrictions Deny log on as a service ADR\T1-Admins
ADR-T2-Logon-Restrictions Deny access to this computer from the network BUILTIN\Guests
ADR-T2-Logon-Restrictions Deny access to this computer from the network NT AUTHORITY\Local account and member of Administrators group
ADR-T2-Logon-Restrictions Deny access to this computer from the network ADR\T0-Admins
ADR-T2-Logon-Restrictions Deny access to this computer from the network Domain Administrators
ADR-T2-Logon-Restrictions Deny access to this computer from the network ADR\Schema Admins
ADR-T2-Logon-Restrictions Deny access to this computer from the network ADR\Enterprise Admins
ADR-T2-Logon-Restrictions Deny access to this computer from the network ADR\T1-Admins
ADR-SecBaseline-Member Deny access to this computer from the network BUILTIN\Guests
ADR-SecBaseline-Member Deny access to this computer from the network NT AUTHORITY\Local account and member of Administrators group
ADR-SecBaseline-Member Deny logon through Remote Desktop Services BUILTIN\Guests
ADR-SecBaseline-Member Deny logon through Remote Desktop Services NT AUTHORITY\Local account
ADR-T0-PAW-Logon Allow log on locally Administrators
ADR-T0-PAW-Logon Allow log on locally BUILTIN\Remote Desktop Users
ADR-T0-PAW-Logon Allow logon through Remote Desktop Services Administrators
ADR-T0-PAW-Logon Allow logon through Remote Desktop Services BUILTIN\Remote Desktop Users
ADR-T2-PAW-Logon Allow log on locally Administrators
ADR-T2-PAW-Logon Allow log on locally BUILTIN\Remote Desktop Users
ADR-T2-PAW-Logon Allow logon through Remote Desktop Services Administrators
ADR-T2-PAW-Logon Allow logon through Remote Desktop Services BUILTIN\Remote Desktop Users

GPO Login script

A GPO login script is a way to force the execution of data on behalf of users. Only enabled users are analyzed.

GPO Deployed Files

A GPO can be used to deploy applications or copy files. These files may be controlled by a third party to control the execution of local programs.

Folder Options

File associations may be managed through Group Policy Objects (GPO) by navigating to "Folder Options". This setting is located under Computer Configuration / Preferences / Control Panel Settings / Folders Options in the GPO.

This method serves as an effective countermeasure against script execution from phishing emails by setting Notepad as the default program for opening script files, rather than the script engine. The script extensions that can be reconfigured include: .js, .jse, .vbs, .vbe, .vb, .wsh, and .wsf. Specifically, JavaScript files with extensions .js and .jse can be safely altered to open with Notepad. Other file extensions may have an impact and needs to be assessed before being configured.

GPO NameTypeAction Application

Microsoft Defender ASR (attack surface reduction)

Microsoft Defender is the default Antivirus shipped with Windows. There are many alternatives, but if a computer is installed without an antivirus, it will be enabled by default.

A set of mitigation named ASR (attack surface reduction) can be enabled, even on non premium version of Microsoft Defender Antivirus (formerly Windows Defender Antivirus). Some protections are available since Windows 10 1710 and even Windows 2012 R2. See https://learn.microsoft.com/en-us/defender-endpoint/attack-surface-reduction-rules-reference?view=o365-worldwide for more information.

To enable a mitigation, enable the GPO "Configure Attack Surface Reduction rules" in Computer Configuration / Policies / Administrative Templates / Windows Components / Microsoft Defender Antivirus (formerly Windows Defender Antivirus) / Microsoft (Windows) Defender Exploit Guard / Attack Surface Reduction. After having Enabled the setting, click on Set the state for each ASR rule. Add the GUID of the mitigation as Value name and set 1 as Value to enforce the Block mode. Example for Block JavaScript or VBScript from launching downloaded executable content: d3e037e1-3eb8-44c8-a917-57927947596d. The other values are: 2 for Audit and 6 for Warn.

GPO NameRuleDescriptionAction

Firewall configuration

Firewall rules may be managed through Group Policy Objects (GPO). This setting is located under Computer Configuration / Policies Windows Settings / Security Settings / Windows Defender Firewall with Advanced Security.

GPO NameNameActiveDirectionActionApplicationRemote IP
ADR-Server-Baseline ADR - RDP (TCP 3389)TrueInAllow
ADR-Server-Baseline ADR - WinRM HTTP (TCP 5985)TrueInAllow