ADReports · AD Report # 13 · PingCastle health check · adreps.com
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.
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
Stale Object : 20 /100
It is about operations related to user or computer objects
7 rules matched
Trusts : 1 /100
It is about connections between two Active Directories
1 rules matched
Privileged Accounts : 40 /100
It is about administrators of the Active Directory
4 rules matched
Anomalies : 27 /100
It is about specific security control points
10 rules matched
Left-click on the headlines in the boxes for more details
| Stale Objects | Privileged accounts | Trusts | Anomalies | |
|---|---|---|---|---|
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 |
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
Stale Objects : 20 /100
It is about operations related to user or computer objects
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:
msDS-SupportedEncryptionTypes attribute does not include AES (bits 0x8 or 0x10 are not set).HKLM\System\CurrentControlSet\services\KDC\DefaultDomainSupportedEncTypes (REG_DWORD) controls the default encryption for accounts without explicit msDS-SupportedEncryptionTypes on the domain controller.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.| Hex | Decimal | Encryption Types |
|---|---|---|
| 0x1 | 1 | DES-CBC-CRC |
| 0x2 | 2 | DES-CBC-MD5 |
| 0x4 | 4 | RC4-HMAC |
| 0x8 | 8 | AES128-CTS-HMAC-SHA1-96 |
| 0x10 | 16 | AES256-CTS-HMAC-SHA1-96 |
| 0x20 | 32 | AES256-CTS-HMAC-SHA1-96-SK (enforce AES session keys when RC4 is in use) |
| 0x18 | 24 | AES128 + AES256 (recommended, enforcement default) |
| 0x1C | 28 | RC4 + AES128 + AES256 |
| 0x38 | 56 | AES128 + AES256 + AES256-SK (AES-only with enforced AES session keys) |
| 0x3C | 60 | RC4 + AES128 + AES256 + AES256-SK (backwards compatible with enforced AES session keys) |
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}Get-ADObject -LDAPFilter "(&(!(msDS-SupportedEncryptionTypes=*))(|(objectClass=user)(objectClass=computer)(objectClass=msDS-GroupManagedServiceAccount)))" | Set-ADObject -Replace @{"msDS-SupportedEncryptionTypes" = 24}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
ktpass -princ HTTP/server.domain.com@DOMAIN.COM -mapuser serviceaccount -crypto AES256-SHA1 -ptype KRB5_NT_PRINCIPAL -pass * -out server.keytabUsing ktutil on Linux:
ktutilPoints:
addent -password -p HTTP/server.domain.com@DOMAIN.COM -k 1 -e aes256-cts-hmac-sha1-96
wkt /etc/krb5.keytab
quit
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
The detail can be found in User information and Computer information
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.
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
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
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.
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.
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
| GPO | Reason |
|---|---|
| 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 |
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.
You have to use redircmp to set the value back to normal. See documentation for more details
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
| Expected | Found |
|---|---|
| CN=Users,DC=adreps,DC=com | OU=Staging,DC=adreps,DC=com |
| CN=Computers,DC=adreps,DC=com | OU=Staging,DC=adreps,DC=com |
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
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.
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
The detail can be found in Defender ASR
| Guid | Label | Reason |
|---|---|---|
| 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 |
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.
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.
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
The detail can be found in Folder Options
| Extension | Reason |
|---|---|
| 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 |
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.
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.
Informative rule (0 point)
Documentation:https://medium.com/@cryps1s/endpoint-isolation-with-the-windows-firewall-462a795f4cfb
[MITRE]Mitre Att&ck - Mitigation - Active Directory Configuration
The detail can be found in Firewall configuration
| Program | Reason |
|---|---|
| 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 |
Privileged Accounts : 40 /100
It is about administrators of the Active Directory
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.
20 points if present
Documentation:[US]STIG V-243470 - Delegation of privileged accounts must be prohibited.
[MITRE]Mitre Att&ck - Mitigation - Active Directory Configuration
The detail can be found in Admin Groups
| DN | Reason |
|---|---|
| CN=Monty,CN=Users,DC=adreps,DC=com | Not a protected user |
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
The detail can be found in Admin Groups
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.
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
The detail can be found in Admin Groups
| User |
|---|
| Monty |
| Administrator |
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.
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.
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
The detail can be found in Delegations
| OU |
|---|
| OU=Domain Controllers,DC=adreps,DC=com |
Trusts : 1 /100
It is about links between two Active Directories
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.
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.
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
| Trust | Reason |
|---|---|
| winreps.com | Not Configured |
Anomalies : 27 /100
It is about specific security control points
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.
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.
10 points if present
Documentation:https://adsecurity.org/?p=3299
https://adsecurity.org/?p=3377
[MITRE]Mitre Att&ck - Mitigation - Audit
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.
| Type | Audit | Problem | Rationale | Domain 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 |
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
The detail can be found in Password policies
| GPO |
|---|
| Default Domain Policy |
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.
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.
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
The detail can be found in the Hardened Paths configuration section.
| GPO | Key | RequireIntegrity | RequireMutualAuthentication | RequirePrivacy |
|---|---|---|---|---|
| No GPO Found | NETLOGON | Not Set | Not Set | Not Set |
| No GPO Found | SYSVOL | Not Set | Not Set | Not Set |
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
| 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 |
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
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
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
| Setting | Position | Value |
|---|---|---|
| LDAPAddAuthZVerifications | 28th | Not Set |
| LDAPOwnerModify | 29th | Not Set |
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.
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.
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
The detail can be found in Security settings
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.
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.
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
| DNSZone |
|---|
| adreps.com |
| 10.10.in-addr.arpa |
| _msdcs.adreps.com |
| winreps.com |
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."
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
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
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.
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
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).
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
Informative rule (0 point)
Documentation:https://github.com/p0w3rsh3ll/NetCease
https://adsecurity.org/?p=3299
[MITRE]T1087.001 Account Discovery: Local Account
The detail can be found in Security settings
This section shows the main technical characteristics of the domain.
| Domain | Netbios Name | Domain Functional Level | Forest Functional Level | Creation date | DC count | Schema version | Recycle Bin enabled |
|---|---|---|---|---|---|---|---|
| adreps.com | ADR | Windows Server 2025 | Windows Server 2025 | 2026-10-12 05:54:38Z | 2 | Windows Server 2025 | TRUE |
No Entra ID configuration has been found in this domain
This section gives information about the user accounts stored in the Active Directory
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.
| Nb User Accounts | Nb 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 672 | 650 | 22 | 650 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
This feature is reserved for customers who have purchased a license
This section gives information about the computer accounts stored in the Active Directory
| Nb Computer Accounts | Nb 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 |
|---|---|---|---|---|---|---|---|---|---|---|
| 698 | 698 | 0 | 698 | 0 | 0 | 0 | 2 | 0 | 0 |
| Name | Creation | Last logon | Pwd Last Set | Domain Controller | Distinguished name |
|---|---|---|---|---|---|
| GBLON-DC01$ | 2026-10-12 05:57:51Z | 2026-10-22 13:54:53Z | 2026-10-12 12:58:19Z | Yes | CN=GBLON-DC01,OU=Domain Controllers,DC=adreps,DC=com |
| GBLON-DC02$ | 2026-10-12 07:30:52Z | 2026-10-22 15:52:31Z | 2026-10-12 14:30:52Z | Yes | CN=GBLON-DC02,OU=Domain Controllers,DC=adreps,DC=com |
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 System | Nb OS | Nb 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 24H2 | 60 | 60 | 0 | 60 | 0 | 0 | 0 | 2 | 0 | 0 | |
| Windows 11 24H2 | 401 | 401 | 0 | 401 | 0 | 0 | 0 | 0 | 0 | 0 | |
| Windows 11 23H2 | 144 | 144 | 0 | 144 | 0 | 0 | 0 | 0 | 0 | 0 | |
| Windows Server 2022 21H2 | 93 | 93 | 0 | 93 | 0 | 0 | 0 | 0 | 0 | 0 |
Here is a specific zoom related to the Active Directory servers: the domain controllers.
| Domain controller | Operating System | IsGlobalCatalog | IsReadOnly | Creation Date | Startup Time | Uptime | Owner | Null sessions | SMB v1 | Remote spooler | FSMO role | WebDAV |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| GBLON-DC01 | Windows 2025 | TRUE | FALSE | 2026-10-12 05:57:51Z | 2026-10-28 08:02:08Z | 000 days | ADR\Domain Admins | NO | NO | NO | PDC, RID pool manager, Infrastructure master, Schema master, Domain naming Master | NO |
| GBLON-DC02 | Windows 2025 | TRUE | FALSE | 2026-10-12 07:30:52Z | 2026-10-28 08:04:39Z | 000 days | ADR\Domain Admins | NO | NO | NO | NO |
This feature is reserved for customers who have purchased a license
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 Name | Nb 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 Operators | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Administrators | 2 | 2 | 0 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
| Backup Operators | 5 | 5 | 0 | 4 | 0 | 0 | 0 | 0 | 0 | 5 |
| Certificate Operators | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Certificate Publishers | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Dns Admins | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Domain Administrators | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| Enterprise Administrators | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| Enterprise Key Administrators | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Key Administrators | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Print Operators | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Replicator | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| Schema Administrators | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
| Server Operators | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 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 |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Administrator | YES | YES | YES | NO | NO | NO | YES | 2026-10-12 05:54:44Z | 2026-10-22 16:36:04Z | 2026-09-28 13:53:18Z | NO | CN=Administrator,CN=Users,DC=adreps,DC=com |
| gMSA-RMAD$ | YES | YES | NO | NO | NO | NO | YES | 2026-10-21 01:39:18Z | 2026-10-21 12:00:00Z | 2026-10-21 08:39:18Z | YES | CN=gMSA-RMAD,OU=T0-ServiceAccounts,OU=Tier0,DC=adreps,DC=com |
| Monty | YES | NO | NO | NO | NO | NO | NO | 2026-10-12 05:54:44Z | Not set | 2026-09-28 13:53:35Z | NO | CN=Monty,CN=Users,DC=adreps,DC=com |
| T0-ADBACKUP01 | YES | NO | NO | NO | NO | NO | YES | 2026-10-12 07:25:05Z | Not set | 1601-01-01 07:00:00Z | YES | CN=T0-ADBACKUP01,OU=T0-Accounts,OU=Tier0,DC=adreps,DC=com |
| T0-ADBACKUP02 | YES | NO | NO | NO | NO | NO | YES | 2026-10-12 07:25:06Z | Not set | 1601-01-01 07:00:00Z | YES | CN=T0-ADBACKUP02,OU=T0-Accounts,OU=Tier0,DC=adreps,DC=com |
| T0-ADBACKUP03 | YES | NO | NO | NO | NO | NO | YES | 2026-10-12 07:25:06Z | Not set | 1601-01-01 07:00:00Z | YES | CN=T0-ADBACKUP03,OU=T0-Accounts,OU=Tier0,DC=adreps,DC=com |
| T0-ADBACKUP04 | YES | NO | NO | NO | NO | NO | YES | 2026-10-12 07:25:06Z | Not set | 1601-01-01 07:00:00Z | YES | CN=T0-ADBACKUP04,OU=T0-Accounts,OU=Tier0,DC=adreps,DC=com |
This feature is reserved for customers who have purchased a license
Each specific rights defined for Organizational Unit (OU) are listed below.
| DistinguishedName | Account | Right |
|---|---|---|
| DC=adreps | ADR\Domain Controllers | EXT_RIGHT_REPLICATION_GET_CHANGES_ALL |
| CN=Builtin | ADR\Domain Controllers | EXT_RIGHT_REPLICATION_GET_CHANGES_ALL |
| CN=Keys | ADR\Domain Controllers | GenericAll, GenericWrite, WriteDacl, WriteOwner, CreateChild, GenericAll (All Objects), All extended right, DSSelf, Write all prop |
| CN=Keys | ADR\Enterprise Key Admins | GenericAll, GenericWrite, WriteDacl, WriteOwner, CreateChild, GenericAll (All Objects), All extended right, DSSelf, Write all prop |
| CN=Keys | ADR\Key Admins | GenericAll, GenericWrite, WriteDacl, WriteOwner, CreateChild, GenericAll (All Objects), All extended right, DSSelf, Write all prop |
| CN=MicrosoftDNS,CN=System | ADR\DnsAdmins | GenericWrite, WriteDacl, WriteOwner, CreateChild, WriteDacl (All Objects), All extended right, DSSelf, Write all prop |
| CN=Policies,CN=System | ADR\Group Policy Creator Owners | CreateChild, CreateChild (All Objects) |
| CN=RAS and IAS Servers Access Check,CN=System | ADR\RAS and IAS Servers | GenericWrite, WriteDacl, WriteOwner, CreateChild, WriteDacl (All Objects), All extended right, DSSelf, Write all prop |
| CN=WMIPolicy,CN=System | ADR\Group Policy Creator Owners | GenericWrite, CreateChild, CreateChild (All Objects), DSSelf, Write all prop |
| CN=PolicyTemplate,CN=WMIPolicy,CN=System | ADR\Group Policy Creator Owners | CreateChild, CreateChild (All Objects) |
| CN=PolicyType,CN=WMIPolicy,CN=System | ADR\Group Policy Creator Owners | CreateChild, CreateChild (All Objects) |
| CN=SOM,CN=WMIPolicy,CN=System | ADR\Group Policy Creator Owners | GenericWrite, CreateChild, CreateChild (All Objects), DSSelf, Write all prop |
| CN=WMIGPO,CN=WMIPolicy,CN=System | ADR\Group Policy Creator Owners | CreateChild, CreateChild (All Objects) |
| OU=Users,OU=ADR | ADR\T2-Admins | EXT_RIGHT_FORCE_CHANGE_PWD |
| OU=Workstations,OU=ADR | ADR\T2-Admins | GenericWrite, EXT_RIGHT_FORCE_CHANGE_PWD |
| OU=Staging | ADR\T1-Admins | GenericWrite, EXT_RIGHT_FORCE_CHANGE_PWD |
| OU=Staging | ADR\T2-Admins | GenericWrite, EXT_RIGHT_FORCE_CHANGE_PWD |
| OU=T1-PAWS,OU=Tier1 | ADR\T1-Admins | GenericWrite, EXT_RIGHT_FORCE_CHANGE_PWD |
| OU=T1-Servers,OU=Tier1 | ADR\T1-Admins | GenericWrite, EXT_RIGHT_FORCE_CHANGE_PWD |
| OU=T2-PAWS,OU=Tier2 | ADR\T2-Admins | GenericWrite, EXT_RIGHT_FORCE_CHANGE_PWD |
In particular for AD database access (DCSync, AADConnect, ...).
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.
This analysis focuses on accounts found in control path and located in other domains.
No operative link with other domains has been found.
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 |
|---|---|---|---|---|
| Critical | NO | 0 | 0 | 0 |
| High | NO | 0 | 0 | 0 |
| Medium | NO | 0 | 0 | 0 |
| Other | NO | 0 | 0 | 0 |
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 Operators | High | 0 | 0 | 0 | 0 | None | Analysis |
| Administrator | Critical | 0 | 0 | None | Analysis | ||
| Administrators | Critical | 2 (Details) | 0 | 0 | 0 | None | Analysis |
| Backup Operators | High | 5 (Details) | 0 | 0 | 0 | None | Analysis |
| Certificate Operators | Medium | 0 | 0 | 0 | 0 | None | Analysis |
| Certificate Publishers | Other | 0 | 2 (Details) | 0 | 0 | None | Analysis |
| Dns Admins | Medium | 0 | 0 | 0 | 0 | None | Analysis |
| Domain Administrators | Critical | 1 (Details) | 0 | 0 | 0 | None | Analysis |
| Enterprise Administrators | Critical | 1 (Details) | 0 | 0 | 0 | None | Analysis |
| Enterprise Key Administrators | Medium | 0 | 0 | 0 | 0 | None | Analysis |
| Key Administrators | Medium | 0 | 0 | 0 | 0 | None | Analysis |
| Print Operators | Medium | 0 | 0 | 0 | 0 | None | Analysis |
| Replicator | Medium | 0 | 0 | 0 | 0 | None | Analysis |
| Schema Administrators | Critical | 1 (Details) | 0 | 0 | 0 | None | Analysis |
| Server Operators | High | 0 | 0 | 0 | 0 | None | Analysis |
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 container | Critical | 0 | 0 | None | Analysis | ||
| Builtin OU | Medium | 0 | 0 | None | Analysis | ||
| Certificate store | Medium | 0 | 0 | None | Analysis | ||
| Computers container | Medium | 0 | 0 | None | Analysis | ||
| Domain Controllers | Critical | 0 | 2 (Details) | 0 | 0 | None | Analysis |
| Domain Root | Medium | 0 | 0 | None | Analysis | ||
| Enterprise Read Only Domain Controllers | Other | 0 | 0 | 0 | 0 | None | Analysis |
| Group Policy Creator Owners | Medium | 1 (Details) | 0 | 0 | 0 | None | Analysis |
| Krbtgt account | Medium | 0 | 0 | None | Analysis | ||
| Read Only Domain Controllers | Medium | 0 | 0 | 0 | 0 | None | Analysis |
| Users container | Medium | 0 | 0 | None | Analysis |
This section focuses on the relations that this domain has with other domains
This part displays the direct links that this domain has with other domains.
| Trust Partner | Type | Attribut | Direction | SID Filtering active | TGT Delegation | Creation | Is Active ? | Algorithm |
|---|---|---|---|---|---|---|---|---|
| winreps.com | Uplevel | Cross-Organizational, Forest Trust | Bidirectional | Yes | No | 2026-10-20 02:20:31Z | TRUE | Default (RC4) |
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 domain | Discovered using | Netbios | Creation date |
|---|
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
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
| Name | Destination | Manager approval | Enrollee can supply subject | Issuance requirements | Vulnerable ACL | Everyone can enroll | Agent template | Any purpose | For Authentication | Flag No Security |
|---|---|---|---|---|---|---|---|---|---|---|
| ADR-User | User | NO | NO | NO | NO | YES | NO | NO | YES | NO |
| ADR-Computer | Computer | NO | NO | NO | NO | YES | NO | NO | YES | NO |
| ADR-DomainController | Computer | NO | NO | NO | NO | NO | NO | NO | YES | NO |
| ADR-WebServer | Computer | NO | YES | NO | NO | NO | NO | NO | NO | NO |
| ADR-RDP | Computer | NO | NO | NO | NO | YES | NO | NO | NO | NO |
| ADR-CodeSigning | User | NO | NO | NO | NO | NO | NO | NO | NO | NO |
The delegations for certificate templates are listed below.
| DistinguishedName | Account | Right |
|---|---|---|
| CN=ADR-CodeSigning,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration | ADR\T0-PKI-Admins | Enroll |
| CN=ADR-Computer,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration | Domain Computers | Enroll |
| CN=ADR-DomainController,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration | ADR\Domain Controllers | Enroll |
| CN=ADR-DomainController,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration | ADR\Enterprise Read-only Domain Controllers | Enroll |
| CN=ADR-RDP,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration | ADR\Domain Controllers | Enroll |
| CN=ADR-RDP,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration | Domain Computers | Enroll |
| CN=ADR-User,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration | Domain Users | Enroll |
| CN=ADR-WebServer,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration | ADR\T0-PKI-Admins | Enroll |
| CN=ADR-WebServer,CN=Certificate Templates,CN=Public Key Services,CN=Services,CN=Configuration | ADR\T1-Web-Admins | Enroll |
This section lists certificates in use on Domain Controllers. They give an attacker hints about the PKI configuration.
Number of DC certificates: 1
| DC Name | Subject | SAN | EKU | Template | NotBefore | NotAfter | Module size | Signature Alg |
|---|---|---|---|---|---|---|---|---|
| GBLON-DC01 | GBLON-DC01.adreps.com | KDC 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:49Z | 2027-10-22 13:44:49Z | 2048 | sha256RSA |
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 allow workstations and servers located on the intranet to be updated. The reference documentation is here. Here are the settings found in GPO.
| Policy Name | WSUS Server | UseWUServer | ElevateNonAdmins | AUOptions | NoAutoUpdate | NoAutoRebootWithLoggedOnUsers |
|---|
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.
| Name | In service date | Version | Proxy |
|---|
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.
| Name | Version | Client operational version | AAD TenantID | AAD TenantName |
|---|
Service Connection Points are a configuration stored in the AD to expose services to all computers.
| Service | Class | DNS | Binding Info | DN |
|---|
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.
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 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 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
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
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
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
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
You can check here for backdoors or typos in the scriptPath attribute
| Script Name | Count |
|---|---|
| None | 650 |
This section display advanced information, if any has been found
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 Name | Complexity | Max Password Age | Min Password Age | Min Password Length | Password History | Reversible Encryption | Lockout Threshold | Lockout Duration | Reset account counter locker after |
|---|---|---|---|---|---|---|---|---|---|
| Default Domain Policy | True | 42 day(s) | 1 day(s) | 7 | 24 | False | 0 | Not Set | Not Set |
| PSO:PSO-TierAdmins | True | 180 day(s) | 1 day(s) | 20 | 24 | False | 10 | 30 minute(s) | 30 minute(s) |
This is the settings related to screensavers stored in Group Policies. Each non compliant setting is written in red.
| Policy Name | Screensaver enforced | Password request | Start after (seconds) | Grace Period (seconds) |
|---|
This section focuses on security settings stored in the Active Directory technical security policies.
The password in GPO are obfuscated, not encrypted. Consider any passwords listed here as compromised and change them immediately.
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 Name | User or group | Member of |
|---|---|---|
| ADR-T0-LocalAdmins | ADR\Domain Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\Domain Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\Domain Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\Domain Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\Domain Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\Domain Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\Domain Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\Domain Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\Domain Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-ADBackup-Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-ADBackup-Admins | Remote Desktop Users (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-ADFS-Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-ADFS-Admins | Remote Desktop Users (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-App-Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-App-Admins | Remote Desktop Users (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-Entra-Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-Entra-Admins | Remote Desktop Users (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-PAM-Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-PAM-Admins | Remote Desktop Users (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-PAWS-Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-PKI-Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-PKI-Admins | Remote Desktop Users (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-SCCM-Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-SCCM-Admins | Remote Desktop Users (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-SCOM-Admins | Administrators (built-in) |
| ADR-T0-LocalAdmins | ADR\T0-SCOM-Admins | Remote Desktop Users (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-App-Admins | Administrators (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-App-Admins | Remote Desktop Users (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-Backup-Admins | Administrators (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-Backup-Admins | Remote Desktop Users (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-File-Admins | Administrators (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-File-Admins | Remote Desktop Users (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-PAWS-Admins | Administrators (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-SCCM-Admins | Administrators (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-SCCM-Admins | Remote Desktop Users (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-SCOM-Admins | Administrators (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-SCOM-Admins | Remote Desktop Users (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-SQL-Admins | Administrators (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-SQL-Admins | Remote Desktop Users (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-Web-Admins | Administrators (built-in) |
| ADR-T1-LocalAdmins | ADR\T1-Web-Admins | Remote Desktop Users (built-in) |
| ADR-T2-LocalAdmins | ADR\T2-Admins | Administrators (built-in) |
| ADR-T2-LocalAdmins | ADR\T2-PAWS-Admins | Administrators (built-in) |
| ADR-T2-LocalAdmins | ADR\T2-PAWS-Admins | Remote Desktop Users (built-in) |
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 Name | Setting | Value |
|---|---|---|
| ADR-SecBaseline-DC | Network security: Restrict NTLM: Outgoing NTLM traffic to remote servers | Audit (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 logging | Enabled |
| ADR-Kerberos-Armoring | KDC support for claims compound authentication and Kerberos armoring | Enabled |
| ADR-Kerberos-Armoring | Kerberos client support for claims, compound authentication and Kerberos armoring | Enabled |
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 Name | Category | Setting | Value |
|---|---|---|---|
| ADR-SecBaseline-All | Account Logon | Credential Validation | Success and Failure |
| ADR-SecBaseline-All | Account Logon | Kerberos Authentication Service | Success and Failure |
| ADR-SecBaseline-All | Account Logon | Kerberos Service Ticket Operations | Success and Failure |
| ADR-SecBaseline-All | Account Management | Computer Account Management | Success |
| ADR-SecBaseline-All | Account Management | Other Account Management Events | Success |
| ADR-SecBaseline-All | Account Management | Security Group Management | Success |
| ADR-SecBaseline-All | Account Management | Distribution Group Management | Success |
| ADR-SecBaseline-All | Account Management | Application Group Management | Success |
| ADR-SecBaseline-All | Account Management | User Account Management | Success and Failure |
| ADR-SecBaseline-All | System | PNP Activity | Success |
| ADR-SecBaseline-All | Detailed Tracking | Process Creation | Success |
| ADR-SecBaseline-All | DS Access | Directory Service Access | Success and Failure |
| ADR-SecBaseline-All | DS Access | Directory Service Changes | Success |
| ADR-SecBaseline-All | Logon/Logoff | Account Lockout | Failure |
| ADR-SecBaseline-All | System | Group Membership | Success |
| ADR-SecBaseline-All | Logon/Logoff | Logoff | Success |
| ADR-SecBaseline-All | Logon/Logoff | Logon | Success and Failure |
| ADR-SecBaseline-All | Logon/Logoff | Other Logon/Logoff | Success and Failure |
| ADR-SecBaseline-All | Logon/Logoff | Special Logon | Success |
| ADR-SecBaseline-All | Object Access | Detailed File Share | Failure |
| ADR-SecBaseline-All | Object Access | File System | Success and Failure |
| ADR-SecBaseline-All | Object Access | File Share | Success and Failure |
| ADR-SecBaseline-All | Object Access | Other Object Access | Success and Failure |
| ADR-SecBaseline-All | System | Removable Storage | Success and Failure |
| ADR-SecBaseline-All | Policy Change | Audit Policy Change | Success |
| ADR-SecBaseline-All | Policy Change | Authentication Policy Change | Success |
| ADR-SecBaseline-All | Policy Change | Authorization Policy Change | Success |
| ADR-SecBaseline-All | Policy Change | MPSSVC Rule-Level Policy Change | Success and Failure |
| ADR-SecBaseline-All | Policy Change | Other Policy Change Events | Failure |
| ADR-SecBaseline-All | Privilege Use | Sensitive Privilege Use | Success and Failure |
| ADR-SecBaseline-All | System | IPsec Driver | Success and Failure |
| ADR-SecBaseline-All | System | Other System Events | Success and Failure |
| ADR-SecBaseline-All | System | Security State Change | Success |
| ADR-SecBaseline-All | System | Security System Extension | Success |
| ADR-SecBaseline-All | System | System Integrity | Success and Failure |
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 Name | Privilege | Members |
|---|---|---|
| Default Domain Controllers Policy | SeAssignPrimaryTokenPrivilege | NT AUTHORITY\NETWORK SERVICE |
| Default Domain Controllers Policy | SeAssignPrimaryTokenPrivilege | NT AUTHORITY\LOCAL SERVICE |
| Default Domain Controllers Policy | SeBackupPrivilege | BUILTIN\Server Operators |
| Default Domain Controllers Policy | SeBackupPrivilege | BUILTIN\Backup Operators |
| Default Domain Controllers Policy | SeBackupPrivilege | Administrators |
| Default Domain Controllers Policy | SeDebugPrivilege | Administrators |
| Default Domain Controllers Policy | SeLoadDriverPrivilege | BUILTIN\Print Operators |
| Default Domain Controllers Policy | SeLoadDriverPrivilege | Administrators |
| Default Domain Controllers Policy | SeMachineAccountPrivilege | Authenticated Users |
| Default Domain Controllers Policy | SeRestorePrivilege | BUILTIN\Server Operators |
| Default Domain Controllers Policy | SeRestorePrivilege | BUILTIN\Backup Operators |
| Default Domain Controllers Policy | SeRestorePrivilege | Administrators |
| Default Domain Controllers Policy | SeSecurityPrivilege | Administrators |
| Default Domain Controllers Policy | SeTakeOwnershipPrivilege | Administrators |
| Default Domain Controllers Policy | SeEnableDelegationPrivilege | Administrators |
| ADR-SecBaseline-Member | SeDebugPrivilege | Administrators |
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 Name | Privilege | Members |
|---|---|---|
| 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 |
A GPO login script is a way to force the execution of data on behalf of users. Only enabled users are analyzed.
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.
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 Name | Type | Action | Application |
|---|
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 Name | Rule | Description | Action |
|---|
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 Name | Name | Active | Direction | Action | Application | Remote IP |
|---|---|---|---|---|---|---|
| ADR-Server-Baseline | ADR - RDP (TCP 3389) | True | In | Allow | ||
| ADR-Server-Baseline | ADR - WinRM HTTP (TCP 5985) | True | In | Allow |