Skip to content
Sponsor
3.0 preview2.3.0 stable

These docs describe the preview. Pick the version you run and every page marks what it doesn't have yet. Get the preview →
Maester 2.x docs (archived) →

User SPN total count should be investigated

AD-SPN-06InfoActive DirectoryService principal names

Part of Active Directory · Active Directory · Service principal names · All checks

Run this check
Invoke-Maester -TestId AD-SPN-06

User accounts with Service Principal Names (SPNs) are high-value targets for attackers because:

  • Kerberoasting: Attackers can request service tickets for these SPNs and attempt to crack them offline
  • Service account exposure: User accounts with SPNs often have elevated privileges
  • Password policy gaps: Service accounts may have weaker password policies than expected
  • Shadow service accounts: Unknown user accounts with SPNs may indicate unauthorized services

Understanding the scope of user SPNs helps assess your Kerberoasting attack surface.

Operational

Minimize user accounts with SPNs:

  • Use Group Managed Service Accounts (gMSAs) instead of user accounts for services
  • Regularly audit user accounts with SPNs
  • Ensure service accounts have strong, regularly rotated passwords
  • Consider using Managed Service Accounts (MSAs) where possible
  • Remove SPNs from accounts that no longer need them

This test retrieves all user objects from Active Directory, extracts their SPNs, and counts the total number of SPNs configured on user accounts.

  • Test-MtAdUserSpnServiceClassCount - Counts distinct service classes on users
  • Test-MtAdUserSpnDomainAdminCount - Identifies SPNs on domain admin accounts
  • Test-MtAdComputerSpnTotalCount - Counts computer account SPNs
Every attribute of this check
FieldValue
Test IDAD-SPN-06
SeverityInfo
SuiteActive Directory
ProductActive Directory
FeatureService principal names
AreaAuthentication
Resource typeUser
MITRE ATT&CKT1558.003 Kerberoasting
PowerShell testTest-MtAdUserSpnTotalCount
ServicesActiveDirectory
PermissionsActiveDirectory:Ldap:user:ReadProperty