Active Directory accumulates risk quietly, through stale accounts, weak protocols left enabled for one legacy system, over-delegated service accounts and trusts nobody remembers creating, and most organisations only see the full picture when an attacker or an auditor shows it to them. PingCastle is an assessment tool that collects Active Directory configuration with ordinary read access, scores the risk across four categories and produces a report with findings and remediation guidance. This guide explains what PingCastle checks, how its scoring works, how to run it safely and repeatably, how to turn findings into a hardening programme, and how it compares with attack path tools. It complements the BloodHound and Active Directory Attack Path Guide and is written for identity engineers, AD administrators and security teams. Features were checked against the Netwrix PingCastle 4.0 documentation, the PingCastle rules list and the project repository on 27 October 2026.
Key takeaways
- A standard user is enough. A health check usually needs only a domain user account with no special privileges, which is why attackers can gather the same view and why defenders should run it first.
- The score is the worst category, not the average. Each of the four categories (Stale Objects, Privileged Accounts, Trusts, Anomalies) scores up to 100 and the overall score is the highest of the four, so one weak area defines the domain's risk.
- Rules carry points and references. Each rule shows its points and maps to MITRE ATT&CK techniques or mitigations and ANSSI checks, which helps prioritise and justify fixes.
- Licensing depends on use. The open source edition is under the Non-Profit Open Software License 3.0: free for internal use, including by contracted IT providers, but a commercial licence is needed to sell PingCastle-based services.
- Trend it, do not run it once. The methodology suggests a weekly health check and a target for reducing the score; consolidation reports track many domains over time.
What the tool does
PingCastle was created as a free AD assessment tool and was acquired by Netwrix in 2024; it now covers Active Directory and, since version 3.4 added Microsoft Graph components, Entra ID. The repository banner showed version 4.0.0.27 on the check date. It is a Windows C# application run from the command line or an interactive menu.
| Mode | Purpose | Typical use |
|---|---|---|
| Healthcheck | Score the risk of a domain | PingCastle.exe --healthcheck --server domain.local --level Full |
| EntraID | Score the risk of an Entra ID tenant | Cloud identity posture alongside AD |
| Conso | Aggregate several health check reports | Multi-domain and business unit dashboards (ad_hc_summary.html) |
| Carto | Map interconnected domains | Trust maps (full and simplified node map outputs) |
| Scanner | Run specific security checks against workstations | Targeted checks on member systems |
| Export | Export users or computers | Inventory and clean-up lists |
- Targets:
--serveraccepts a domain controller name, a domain, a forest wildcard such as*.domain.local, or*for all reachable domains; reports for other domains can be generated over existing trusts. - Detail level:
--leveltakesFull,Normal(default) orLight;Fullkeeps every finding in the XML, which you want for remediation tracking. - Privileged mode:
--privilegedimproves accuracy for a few rules, for example reading certificate authority enrolment ACLs for the AD CS template rules A-CertTempCustomSubject (ESC1) and A-CertTempAnyPurpose (ESC2), and checking domain controller hotfixes for S-Vuln-MS14-068 and S-Vuln-MS17_010. - Outputs: an HTML report for people, with findings and remediation guidance, and an XML report for consolidation and automation; a Hilbert map shows the IP address space.
The risk model
| Category | Areas covered (per the rules list) | Example rules confirmed on the rules list |
|---|---|---|
| Stale Objects | Inactive users and computers, network topography, obsolete operating systems, old authentication protocols, provisioning, replication, vulnerability management | S-Inactive (inactive user accounts), S-C-Inactive (inactive computers), S-OldNtlm (NTLMv1 and LM not banned, 15 points), S-NoPreAuth (Kerberos pre-authentication not required), S-Reversible (reversible password storage), S-DC-SubnetMissing, S-WSUS-HTTP |
| Privileged Accounts | Account takeover, ACL checks, admin control, control paths, delegation, privilege control, read-only DCs | Rules on admin group size, delegation and control paths |
| Trusts | Old trust protocols, SID filtering, SIDHistory, trust impermeability, inactive trusts, trusts with Azure | Rules on SID filtering and inactive trusts |
| Anomalies | Audit, backup, certificate takeover, golden ticket, local group vulnerability, network sniffing, pass-the-credential, password retrieval, reconnaissance, temporary admins, weak passwords | A-CertTempCustomSubject, A-CertTempAnyPurpose |
Rule points take several forms: a flat value if present (for example 5 or 15), a value per discovery, tiers by count (S-C-Inactive scores 30, 20 or 5 depending on how many inactive computers exist) and informative rules worth 0. Read your own report's rule text rather than memorising IDs, because rules are added and revised between releases.
Defender use cases
| Use case | What PingCastle provides | Related ATT&CK |
|---|---|---|
| Baseline and board reporting | One score per domain and category, consolidated across domains and business units | Not technique specific |
| Kerberos weaknesses | Accounts without pre-authentication, weak delegation settings | T1558.004 AS-REP Roasting, T1558.003 Kerberoasting |
| Legacy protocol removal | NTLMv1 and LM findings, old trust protocols | T1557.001 Name Resolution Poisoning and SMB Relay |
| Weak credential storage | Reversible encryption, old passwords on computer and DC accounts | T1110.002 Password Cracking |
| AD CS misconfiguration | Certificate template findings (ESC1, ESC2) | T1649 Steal or Forge Authentication Certificates |
| Trust hygiene | SID filtering, SIDHistory, inactive trusts, Carto maps | T1134.005 SID-History Injection, T1482 Domain Trust Discovery |
| Mergers and acquisitions | Fast assessment of an acquired forest before connecting trusts | All of the above |
For the fixes themselves, see the Active Directory and Entra ID Hardening Guide, the AD CS Security Guide, the Active Directory Trusts and SID Filtering Guide and the NTLM Deprecation and Elimination Guide.
Where identity fits
PingCastle is an identity posture tool at heart, and many of its highest-value findings concern non-human identities: service accounts in privileged groups, accounts with Kerberos delegation, computer and domain controller accounts whose passwords have not changed, and accounts with old passwords that never expire. Use the export mode and the findings to build an inventory of service and computer accounts with privilege, assign an owner to each, and move suitable ones to group managed service accounts. See the Service Account Security Guide, the Group Managed Service Accounts (gMSA) Guide and the Kerberos Delegation Security Guide.
Deployment and safe use
- Get authorisation: record approval from the AD owner and security leadership, and the scope (domains, forests, tenant). Running it on domains you do not own, or as a paid service under the open source licence, is not permitted.
- Tell the SOC: a health check performs broad LDAP and other queries that resemble attacker reconnaissance (T1087.002 Domain Account discovery); notify the SOC with the host, account and time window so it is not escalated, and so genuine reconnaissance from elsewhere is not dismissed.
- Use a named account: run from a managed admin workstation with a dedicated, named low-privilege account; use
--privilegedonly when you need the AD CS and hotfix checks and with an approved privileged session. - Verify the binary: download from the official site or repository, verify its signature or hash, and record the version in the report archive.
- Protect the reports: HTML and XML reports list privileged accounts, weak configurations and trust paths; they are an attacker's map. Store them in an access-controlled location and share summaries rather than full reports.
- Schedule and trend: run weekly or after major changes with
--level Full, keep the XML, and consolidate with Conso to show trends. - Pilot remediation: test each fix (for example banning NTLMv1 or enforcing pre-authentication) in audit or on a pilot OU first, and document how to roll back.
Detection and hardening value
Turning findings into a programme
- Fix the category that sets the score: because the overall score is the highest category, start there.
- Prioritise by attack path: rules on privileged accounts, delegation, AD CS and Kerberos weaknesses usually come before cosmetic stale-object findings.
- Remove dead weight: disable and then delete inactive users and computers after an agreed grace period.
- Retire legacy protocols: plan NTLMv1, LM and old trust protocol removal with application owners.
- Re-run and record: the rule disappearing from the next report is the evidence of closure.
Framework mapping
| Framework | Reference | Relevance |
|---|---|---|
| NIST SP 800-53 Rev. 5 | CA-7, RA-5, CM-6, AC-2 | Continuous monitoring, vulnerability scanning, configuration settings, account management |
| NIST CSF 2.0 | ID.RA-01, ID.AM-02, PR.AA-05 | Identify vulnerabilities, maintain inventories, manage and review access permissions |
| CIS Controls v8.1 | Control 4 (secure configuration), Control 5 (account management), Control 6 (access control management) | Hardening and account hygiene |
| ANSSI AD checks | Rule references such as vuln1, vuln2 and vuln3 identifiers in the rules list | Cross-reference with the French national AD assessment checks |
| MITRE ATT&CK v20 | T1558.003, T1558.004, T1557.001, T1110.002, T1649, T1134.005, T1482 | Techniques the findings make easier |
Measuring the capability
- Overall and category scores: per domain, trended weekly, with a reduction target agreed with leadership.
- Critical findings open: count of findings in privileged accounts and anomalies older than 30 days.
- Stale object count: inactive users and computers, trending down.
- Coverage: percentage of domains and forests assessed in the last 30 days (the methodology's level 1 scope).
- Privileged non-human accounts: number of service accounts in privileged groups, with owners assigned.
Common failure patterns
- Chasing the number: teams fix easy, low-point findings to move the score while a delegation or AD CS path to domain admin stays open.
- One-off assessments: the report is produced for an audit and never re-run, so drift returns.
- Reports left on file shares: a detailed map of weaknesses is readable by every user.
- Unannounced scans: the SOC raises an incident, or worse, learns to ignore AD reconnaissance alerts.
- Breaking applications: NTLMv1 or pre-authentication changes made domain-wide without a pilot cause outages and get rolled back permanently.
Alternatives
| Option | Choose it when | Trade-off |
|---|---|---|
| PingCastle | Fast configuration health check and score with remediation text | Configuration view; less detail on multi-hop attack paths |
| BloodHound | Mapping attack paths through ACLs, group membership and sessions | Needs analysis skill; see the BloodHound and Active Directory Attack Path Guide |
| Microsoft Defender for Identity posture assessments | Continuous assessments in a Microsoft security stack | Licence dependent |
| Purple Knight and similar free assessors | A second opinion on AD and Entra ID indicators | Different rule sets; compare rather than combine scores |
| Commercial ITDR and AD security platforms | Continuous monitoring, change tracking and recovery | Cost and agent deployment |
A small organisation with one domain can run the open source edition monthly and work through the report; large organisations with many forests benefit from consolidation and scheduled runs, and should pair PingCastle with attack path analysis and continuous monitoring. See the Active Directory Security Monitoring and Event IDs Guide.
Practitioner checklist
- Obtain written authorisation and confirm the open source licence fits your use.
- Notify the SOC before each run with source host, account and time window.
- Run
--healthcheck --level Fullagainst every domain in scope and keep the XML. - Use
--privilegedonly when AD CS and hotfix checks are needed. - Store reports in an access-controlled location.
- Prioritise the highest-scoring category and attack-path findings first.
- Pilot each remediation and record rollback steps.
- Inventory privileged service and computer accounts from the findings and assign owners.
- Re-run weekly and trend scores with Conso.
Standards and references
- Netwrix: PingCastle 4.0 User Guide
- PingCastle: Health check rules list
- PingCastle: Methodology
- GitHub: netwrix/pingcastle repository
- PingCastle: Project site
- MITRE ATT&CK: AS-REP Roasting
- NIST: SP 800-53 Rev. 5
Related NHI Mgmt Group resources: BloodHound and Active Directory Attack Path Guide · Active Directory and Entra ID Hardening Guide · Top 10 Active Directory Security Risks · Service Account Security Guide