Introduction
On July 24, 2026, researchers H0j3n and Aniq Fakhrul disclosed a critical security issue in Active Directory Certificate Services (ADCS) codenamed Certighost. This vulnerability is a significant escalation in the threat landscape because it democratizes domain takeover: it allows a standard, low-privileged user to obtain a certificate authenticating as a Domain Controller (DC).
In identity security, the DC account is the "crown jewel." Possessing credentials for a DC account grants an attacker the directory replication rights necessary to perform a DCSync attack, dumping the NTDS.dit database and extracting the krbtgt hash. This effectively allows the attacker to create golden tickets and persist indefinitely in the environment.
Defenders must act immediately. This is not a theoretical risk; the mechanics of certificate enrollment and Kerberos authentication make this a viable pathway for privilege escalation if ADCS is not strictly hardened.
Technical Analysis
Affected Component: Active Directory Certificate Services (ADCS) on Windows Server environments.
The Vulnerability Mechanism: Certighost exploits a logical flaw or misconfiguration in the certificate enrollment process. By leveraging the Public Key Cryptography Initial User (PKINIT) standard, an attacker can use a certificate to authenticate to Kerberos. The specific flaw disclosed allows a low-privileged user to request a certificate where the Subject or Subject Alternative Name (SAN) matches the Service Principal Name (SPN) of a Domain Controller.
Attack Chain:
- Enumeration: An attacker identifies a certificate template that allows user-supplied SANs or is vulnerable to the Certighost logic.
- Enrollment: The low-privileged user requests a certificate from the CA, specifying the DC's identity in the certificate request.
- Authentication: The attacker uses this certificate to request a Kerberos Ticket Granting Ticket (TGT) as the Domain Controller account.
- Privilege Escalation (DCSync): With the DC context, the attacker utilizes standard Directory Replication APIs (DRSGetNCChanges) to synchronize credentials (DCSync), exfiltrating the
krbtgthash and all user hashes.
Exploitation Status: Proof-of-concept (PoC) code has been published by the researchers. While no CVE has been assigned at the time of this writing, the technique relies on standard protocols and is detectable through robust logging.
Detection & Response
Given the severity of Certighost, security teams must hunt for suspicious certificate enrollment activities and subsequent DCSync behaviors.
SIGMA Rules
The following Sigma rules target the anomalous enrollment patterns and the subsequent use of replication rights by non-standard accounts.
---
title: Potential Certighost ADCS DC Impersonation
id: 8a4b3c1d-5e6f-4a2b-9c8d-1e2f3a4b5c6d
status: experimental
description: Detects potential Certighost activity where a certificate request contains a Subject Name resembling a Domain Controller, initiated by a low-privileged user.
references:
- https://thehackernews.com/2026/07/certighost-exploit-lets-low-privileged.html
author: Security Arsenal
date: 2026/07/25
tags:
- attack.credential_access
- attack.t1649
logsource:
product: windows
service: security
detection:
selection:
Message|contains:
- 'Certificate Services'
- 'Request'
Subject|contains:
- 'DC$'
- 'Domain Controller'
filter:
SubjectUserName|contains:
- 'Administrator'
- 'SYSTEM'
- 'Enterprise Admins'
- 'Domain Admins'
condition: selection and not filter
falsepositives:
- Legitimate administrative certificate management for DCs (rare for low-priv users)
level: high
---
title: DCSync Activity via Directory Replication Services
id: 9c5d4e2f-6f7a-4b3c-0d1e-2f3a4b5c6d7e
status: experimental
description: Detects DCSync replication requests indicative of krbtgt hash dumping, often the follow-on to Certighost exploitation.
references:
- https://attack.mitre.org/techniques/T1003/006/
author: Security Arsenal
date: 2026/07/25
tags:
- attack.credential_access
- attack.t1003.006
logsource:
product: windows
service: security
detection:
selection:
Operation|contains: 'Directory Replication'
AccessMask|contains: '0x100'
SubjectUserName|contains:
- '$'
filter:
SubjectUserName|contains:
- 'DOMAIN DC$'
condition: selection and not filter
falsepositives:
- Legitimate backup software or DC-to-DC replication (Ensure source is a known DC)
level: critical
KQL (Microsoft Sentinel / Defender)
Use this query to hunt for suspicious certificate requests that might indicate an attempt to impersonate a DC.
SecurityEvent
| where TimeGenerated > ago(7d)
| where EventID in (4887, 4888) // Certificate Request and Issuance
| extend RequesterName = ColumnIfExists("RequesterName", ""),
CertificateTemplateName = ColumnIfExists("CertificateTemplateName", ""),
Subject = ColumnIfExists("Subject", "")
| where Subject contains "DC$" or Subject contains "Domain Controller"
| where not(RequesterName has @"Domain Admins" or RequesterName has @"Enterprise Admins" or RequesterName == "SYSTEM")
| project TimeGenerated, Computer, Account, AccountType, Subject, CertificateTemplateName, RequesterName, Message
| order by TimeGenerated desc
Velociraptor VQL
This artifact hunts for the execution of known offensive tooling often used to exploit ADCS (like Certipy or Certify) or attempts to parse recent certificate logs for anomalies.
-- Hunt for ADCS exploitation tools and suspicious certificate logs
SELECT
Pid,
Name,
CommandLine,
Exe,
Username
FROM pslist()
WHERE Name =~ 'certipy'
OR Name =~ 'certify'
OR CommandLine =~ 'template'
OR CommandLine =~ 'DC$'
OR CommandLine =~ 'get证书'
OR CommandLine =~ 'request'
-- Additionally, search for recent certificate logs (optional artifact collection)
-- SELECT * FROM glob(globs='C:\\Windows\\System32\\winevt\\Logs\\Microsoft-Windows-CertificateServicesClient-Lifecycle-System%4Operational.evtx')
Remediation Script (PowerShell)
This script assists in identifying certificate templates that might be vulnerable to the Certighost logic by checking for templates that allow user-supplied Subject names or have dangerous EKUs.
<#
.SYNOPSIS
Audit Active Directory Certificate Templates for Certighost risk indicators.
.DESCRIPTION
Identifies templates with 'MS-PKI-Certificate-Name-Flag' set to allow subject
name request or templates with 'Client Authentication' EKU that might be
abused for impersonation.
#>
Import-Module ActiveDirectory
Write-Host "[+] Starting ADCS Template Audit for Certighost susceptibility..." -ForegroundColor Cyan
try {
$Templates = Get-ADObject -LDAPFilter "(objectClass=pkicertificatetemplate)" -Properties *
$RiskCount = 0
foreach ($Template in $Templates) {
$TemplateName = $Template.Name
$Flags = $Template.'msPKI-Certificate-Name-Flag'
$EKU = $Template.'msPKI-Template-Schema-Version'
$EnrollRights = $Template | Get-ACL | Select-Object -ExpandProperty Access |
Where-Object { $_.IdentityReference -notmatch "BUILTIN|NT AUTHORITY" -and $_.AccessControlType -eq "Allow" }
# Check for Enroll flag or subject name flag (CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT = 0x00000001)
# and check if low-privileged users have enroll rights.
$EnrolleeSuppliesSubject = ($Flags -band 1) -eq 1
# Determine if template has 'Client Authentication' EKU (OID: 1.3.6.1.5.5.7.3.2)
$HasClientAuthEKU = $Template.'msPKI-Certificate-Application-Policy' -match "1.3.6.1.5.5.7.3.2"
if ($EnrolleeSuppliesSubject -and $HasClientAuthEKU) {
Write-Host "[!] RISK FOUND: $TemplateName" -ForegroundColor Red
Write-Host " - Allows Enrollee Supplies Subject"
Write-Host " - Has Client Authentication EKU"
Write-Host " - Check Enrollment Rights (Run 'Get-ACL' manually for details)"
$RiskCount++
}
}
if ($RiskCount -eq 0) {
Write-Host "[+] No high-risk templates found matching Certighost criteria." -ForegroundColor Green
} else {
Write-Host "[!] Audit complete. $RiskCount high-risk templates identified." -ForegroundColor Yellow
}
}
catch {
Write-Error "[-] Error running audit: $_"
}
Remediation
To mitigate the Certighost vulnerability and protect against ADCS abuse:
-
Restrict Certificate Template ACLs: Immediately review the "Enroll" and "Auto-Enroll" permissions on all certificate templates. Ensure that low-privileged users do not have enrollment rights to templates that allow for the "Subject Name" to be supplied by the request or templates with high-privilege EKUs (like Smartcard Logon or Client Authentication) if not strictly necessary.
-
Disable Vulnerable Templates: If a template is found to allow user-supplied SANs (Subject Alternative Names) or Subjects, and is not required for business operations, disable it entirely via the Certificate Templates management console.
-
Implement ESC8 / ESC9 / ESC10 Hardening: Ensure that ADCS security controls are aligned with the "Golden Certificate" attack mitigations. This includes monitoring for any certificate issuance to DC accounts that were not requested by the DC computer account itself.
-
Least Privilege Enforcement: Verify that standard users do not have write permissions on AD objects that could be used to spoof identity (e.g.,
msDS-KeyCredentialLink). -
Enable Advanced Logging: Ensure "Object Access" auditing is enabled on Domain Controllers to capture Event ID 4662 (Directory Service Access) specifically for the
DS-Replication-Get-Changes-AllGUID. This is the definitive alert for DCSync attempts.
Related Resources
Security Arsenal Penetration Testing Services AlertMonitor Platform Book a SOC Assessment vulnerability-management Intel Hub
Is your security operations ready?
Get a free SOC assessment or see how AlertMonitor cuts through alert noise with automated triage.