Your PKI is the foundation of trust in your network. We make sure it holds.
CoreEncryption audits, deploys and rescues enterprise PKI — with specialist depth in Microsoft ADCS, hardware security modules and certificate automation.
The situation
It was set up years ago
by someone who left.
Most enterprise PKI is undocumented, unreviewed, and carrying a template misconfiguration that turns an ordinary user account into a domain administrator. Here is the shortest version of it.
It is an attack path
Certificate templates were configured for enrolment, not for adversaries. Most were last reviewed before the escalation research existed.
It is an outage waiting
One expired certificate, one unreachable CRL, one broken chain — and production stops at 03:00 on a Sunday, because the renewal was somebody's calendar reminder.
Evidence before access
You can verify how the engagement works before we touch your estate.
- Evidence
- Read-only collection, with scripts supplied for review first.
- Production
- No writes, service restarts or certificate enrolments.
- Output
- A risk-ranked report and remediation roadmap your engineers can use.
- Independence
- Vendor-neutral recommendations with no reseller quota.
Flagship engagement
The PKI / ADCS Health Check & Security Audit
We assess your CA hierarchy, certificate templates, permissions, revocation infrastructure and key protection against known attack paths and operational failure modes — then hand you a risk-ranked remediation roadmap your engineers can work straight from.
- Price
- Fixed, $6,000–$12,000 by environment size
- Access
- Read-only preferred. No changes to production.
- Output
- Risk-ranked report + remediation walkthrough
- CRITICAL ESC1 Requester-supplied SAN permitted on a client-auth template Any authenticated user can enrol a certificate naming a Domain Admin.
- HIGH ESC4 Write permission on four templates granted to Authenticated Users A low-privilege account can rewrite one into ESC1, then enrol.
- HIGH KEY-01 Issuing CA private key held in software No HSM, no quorum. Key theft is a trust compromise, not an incident.
- HIGH REV-02 CDP and AIA URLs unreachable from outside the corporate network Revocation fails open or fails shut. Both answers are wrong.
- MEDIUM ALG-03 SHA-1 signatures still issued by two subordinate CAs Modern clients are already refusing them. The deadline has passed.
- LOW BKP-05 CA database and key backup untested in 18 months An untested restore is a plan, not a capability.
Who can exploit ESC1?
- 01 Domain Users Every account in the domain. No privilege, no local admin, no special access required.
- 02 Enrol against the template Enroll is granted to Domain Users, and no manager approval is configured.
-
03
Supply
SAN = AdministratorENROLLEE_SUPPLIES_SUBJECT lets the requester name any principal in the certificate. - 04 Authenticate as Domain Admin Kerberos PKINIT accepts the certificate. No password is ever needed, and none is changed.
Elapsed: minutes · The only trace left behind is an issued certificate
Findings shown are representative of a real ADCS assessment. Yours will be your own.
The deliverable
You don't leave with findings. You leave with a plan.
18 findings
- Critical
- 03
- High
- 04
- Medium
- 06
- Low
- 05
- ["Impact, exploitability and a specific fix, per finding","Evidence appendix with the raw collection output","A verification script for every remediation"]
Remediation roadmap
- Now ESC1 and ESC8 Two template flags and one endpoint binding. Both critical escalation paths gone in an afternoon.
- 7 days Template ACLs and revocation reachability Strip write permissions from Authenticated Users. Publish CDP and AIA where clients can actually reach them.
- 30 days CA keys into hardware, SHA-1 retired Key ceremony, quorum design, re-signing plan — sequenced so no issued certificate breaks.
- 90 days Lifecycle automation and a tested restore Autoenrolment renewal, expiry monitoring, and a CA recovery you have actually rehearsed.
Ordered by risk removed per hour of engineering time, not by severity label. The first afternoon takes out more than the following three months.
Three pillars
Specialists, not a generalist security shop.
-
01 ADCS Services Find dangerous configurations before attackers or outages find them.
- ["Expose template and permission paths that can lead to domain compromise","Identify revocation, expiry and recovery weaknesses before they become outages","Leave your engineers with a ranked, actionable remediation plan"]
Discuss an ADCS engagementSee technical scope
- Health Check & Security Audit Fixed price · risk-ranked report
- Net-New Design & Deployment Offline root, issuing tier, CP/CPS, scripted ceremonies
- Migration & Upgrade OS upgrades, SHA-1 remediation, re-architecture — without breaking issued certificates
- Troubleshooting & Incident Support Autoenrolment, CRL/OCSP, chain building, suspected CA compromise
-
02 HSM Services Secure private keys in hardware without breaking the chain of trust.
- ["Keep CA private keys non-exportable and under quorum control","Make key custody, ceremonies and recovery evidence audit-ready","Migrate software-held keys into hardware with an operational handover"]
Discuss an HSM engagementSee technical scope
- Selection & sizing Network HSM vs cloud HSM, vendor-neutral
- ADCS integration CSP/KSP configuration, partitions, firmware
- Key ceremony facilitation Scripted, witnessed, quorum design, audit-ready record
- Migration & operational handover Software keys into hardware, runbooks for your team
-
03 PKI & Encryption Services Prevent certificate outages, modernise trust and prepare the cryptographic estate for what comes next.
- ["Automate discovery, enrolment, renewal and revocation health","Modernise cloud and hybrid trust without fragmenting operations","Build a practical post-quantum migration roadmap from a real inventory"]
Discuss a PKI engagementSee technical scope
How a health check runs
Five steps. Two weeks.
No changes to production.
-
01
Scoping call
Thirty minutes. Hierarchy, scale, constraints, and whether an audit is even the right first move. If it is not, we will say so. No credentials change hands on this call.
-
02
Read-only evidence collection
Scripted and non-intrusive. Run by your team, or by us with your team watching. Nothing is written, nothing is restarted, nothing is enrolled — and the script is yours to read first.
-
03
Analysis
Templates and permissions tested against the known escalation paths. Revocation, key protection, algorithm and validity hygiene tested against operational failure modes.
-
04
Risk-ranked report
Every finding with impact, exploitability and a specific remediation — ordered so that the first week of work removes the most risk.
-
05
Remediation walkthrough
A working session with your engineers. You can fix it yourselves, or we can. Either way you keep the documentation and the verification scripts.
PS> Get-CAHierarchy -Summary
Forest : corp.example.com
Enterprise CAs : 3
ROOT-CA-01 Offline SHA256 RSA4096 exp 2039
ISSUING-CA-01 Online SHA256 RSA2048 exp 2031
ISSUING-CA-02 Online SHA1 RSA2048 exp 2029
Published templates : 41
Endpoints (est.) : 5,000 – 15,000
# scope agreed. no credentials exchanged.
PS> .\Collect-AdcsEvidence.ps1 -ReadOnly -Out .\evidence
[ok] enumerating CAs ................ 3
[ok] exporting template ACLs ........ 41
[ok] reading CA registry ............ 6
[ok] probing CDP / AIA endpoints .... 14
[ok] sampling issued certificates ... 500
[--] write operations attempted .... 0
[--] services restarted ............. 0
evidence written · SHA256 manifest signed
PS> certutil -v -dstemplate WorkstationAuth
msPKI-Certificate-Name-Flag = 1 (0x1)
CT_FLAG_ENROLLEE_SUPPLIES_SUBJECT
pKIExtendedKeyUsage = "1.3.6.1.5.5.7.3.2"
Client Authentication
msPKI-Enrollment-Flag = 0 (0x0)
manager approval not required
>> supplied SAN + client auth + no approval
>> matches ESC1 — flag CRITICAL
PS> Get-Content .\report\index.md
# Findings — ordered by risk removed
1 CRITICAL ESC1 WorkstationAuth
2 CRITICAL ESC8 web enrolment over HTTP
3 HIGH ESC4 ACL: Authenticated Users
4 HIGH KEY-01 issuing CA key in software
5 HIGH REV-02 CDP unreachable externally
… 13 further findings
# each finding: impact · exploitability · fix
PS> .\Verify-Remediation.ps1 -Finding ESC1
before ENROLLEE_SUPPLIES_SUBJECT = 1
after ENROLLEE_SUPPLIES_SUBJECT = 0
after msPKI-Enrollment-Flag = PEND_ALL_REQUESTS
[ok] re-test: SAN injection refused
[ok] re-test: issued certificates unaffected
# your engineers ran this. we watched.
Representative output. Collection scripts are supplied for your review before anything runs.
- What access do you need?
- Read-only. A domain-joined workstation and a low-privilege account is usually enough to collect everything the assessment needs.
- Will the audit disrupt production?
- No. Collection performs no writes, no service restarts and no enrolments — and you can run it yourself if you would rather we never touched the estate.
- Can you fix what you find?
- Yes. The walkthrough is included; the remediation work itself is scoped separately, so you are never obliged to buy it.
Priority path
Autoenrolment broken? CRL outage?
Suspected CA compromise?
Describe the symptom, not just the system. The more specific you are, the faster we can tell you whether this is a template issue, a revocation issue, or something worse.
Revocation monitor — ISSUING-CA-01
- CRL status
- Expired
- Next update
- overdue 6h 12m
- Chain build
- Failed
Cache expired · EAP-TLS, VPN and code signing now refusing to validate
Source: CertificateServicesClient-AutoEnrollment
Event ID: 13
Level: Error
Certificate enrollment for Local system failed
to enroll for a Machine certificate with request
ID N/A from corp.example.com\ISSUING-CA-01
The RPC server is unavailable. 0x800706ba
>> 1,412 machines in 40 minutes
Why us
Specialist. Vendor-neutral.
Documentation-obsessed.
We do not resell CLM platforms or HSMs, and we do not carry a partner quota. Tooling gets recommended where it is justified and nowhere else. Every engagement leaves you with procedures your own engineers can run.
Microsoft ADCS
- ["Offline root CA","Issuing CA tier","Certificate templates","Enrolment permissions","AIA / CDP","OCSP responders","NDES / SCEP","Autoenrolment","CA migration \u0026 upgrade","CP / CPS"]
HSM & key custody
- ["Key ceremony","Quorum design, M of N","Partition administration","CSP / KSP integration","Software-to-hardware key migration","Backup \u0026 restore","Recovery rehearsal","Network and cloud HSM"]
Certificate-based access
- ["802.1X","EAP-TLS","NPS","Windows Hello for Business","Smart cards","Intune SCEP \u0026 PKCS","ACME","Code signing"]
How we handle your access
- ["Read-only access preferred and sufficient for assessment","NDA by default, signed before evidence collection","Evidence encrypted at rest, deleted on a stated retention schedule","Collection scripts supplied for review before they are run"]
Independent by design
- ["No CLM or HSM reseller quota","Tooling recommended only where the evidence justifies it","Procedures and verification scripts handed over to your engineers"]
The capability list above describes working familiarity. No partnership or endorsement is implied.
Chain complete
Certificates shouldn't
be a crisis.
Know what you have. Know where it's vulnerable.
Know exactly what to fix next.