T1588.004 Splunk · SPL

Detect Digital Certificates in Splunk

Adversaries may buy and/or steal SSL/TLS certificates that can be used during targeting. SSL/TLS certificates are designed to instill trust. They include information about the key, information about its owner's identity, and the digital signature of an entity that has verified the certificate's contents are correct. Adversaries may purchase or steal SSL/TLS certificates to further their operations, such as encrypting C2 traffic or enabling Adversary-in-the-Middle attacks if the certificate is trusted or added to the root of trust. Free certificate authorities (e.g., Let's Encrypt) enable adversaries to acquire certificates at no cost. Compromised certificate authority infrastructure (e.g., DigiNotar) allows issuance of fraudulent certificates for any domain. After obtaining a digital certificate, an adversary may install it on infrastructure under their control to legitimize malicious communications.

MITRE ATT&CK

Tactic
Resource Development
Technique
T1588 Obtain Capabilities
Sub-technique
T1588.004 Digital Certificates
Canonical reference
https://attack.mitre.org/techniques/T1588/004/

SPL Detection Query

Splunk (SPL)
spl
index=wineventlog sourcetype="XmlWinEventLog:Microsoft-Windows-Sysmon/Operational" (EventCode=12 OR EventCode=13)
  (
    TargetObject="*\\SOFTWARE\\Microsoft\\SystemCertificates\\Root\\Certificates*"
    OR TargetObject="*\\SOFTWARE\\Microsoft\\SystemCertificates\\CA\\Certificates*"
    OR TargetObject="*\\SOFTWARE\\Policies\\Microsoft\\SystemCertificates\\Root*"
    OR TargetObject="*\\SOFTWARE\\Policies\\Microsoft\\SystemCertificates\\CA*"
  )
| where NOT (
    match(Image, "(?i)(svchost\.exe|lsass\.exe|wuauclt\.exe|TrustedInstaller\.exe|MicrosoftEdgeUpdate\.exe|MsMpEng\.exe|SgrmBroker\.exe)$")
  )
| eval StoreType=case(
    match(TargetObject, "Root\\Certificates"), "Trusted Root CA",
    match(TargetObject, "CA\\Certificates"), "Intermediate CA",
    true(), "Other"
  )
| rex field=TargetObject "Certificates\\(?<cert_thumbprint>[A-F0-9]{40})" max_match=1
| eval EventType=case(EventCode="12", "RegistryKeyCreate", EventCode="13", "RegistryValueSet", true(), "Unknown")
| table _time, host, User, EventType, StoreType, cert_thumbprint, TargetObject, Image, CommandLine, ParentImage
| sort - _time
high severity medium confidence

Detects certificate store modifications using Sysmon Event ID 12 (Registry Key Create/Delete) and 13 (Registry Value Set) targeting Windows certificate trust store registry paths. Extracts the certificate thumbprint from the registry object path for use in downstream threat intelligence lookups. Excludes known-legitimate OS and security processes. Focuses on unexpected processes (PowerShell, cmd.exe, scripting engines, unsigned installers) modifying the Root or CA certificate stores.

Data Sources

Windows Registry: Registry Key ModificationSysmon Event ID 12 (Registry Key Create)Sysmon Event ID 13 (Registry Value Set)

Required Sourcetypes

XmlWinEventLog:Microsoft-Windows-Sysmon/Operational

False Positives & Tuning

  • Enterprise software deployments pushing corporate root CA certificates via SCCM, Intune, or GPO
  • Browser auto-updates refreshing bundled root certificate stores via their own update binaries
  • VPN or SSL inspection proxy agents installing TLS inspection root certificates during endpoint enrollment
  • Security tool deployments (EDR, DLP) that add their own CA certificates for local inspection
Download portable Sigma rule (.yml)

Other platforms for T1588.004


Testing Methodology

Validate this detection against 4 adversary techniques from Atomic Red Team. Each test below lists the behaviour to exercise and the telemetry you should expect to see. Executable commands and cleanup steps are available with Pro.

  1. Test 1Install Self-Signed Root Certificate via certutil

    Expected signal: Sysmon Event ID 13 (RegistryValueSet) with TargetObject = HKLM\SOFTWARE\Microsoft\SystemCertificates\Root\Certificates\<thumbprint>. Sysmon Event ID 1 for certutil.exe with CommandLine containing '-addstore Root'. Sysmon Event ID 1 for powershell.exe with CommandLine containing 'New-SelfSignedCertificate' and 'Export-Certificate'. DeviceRegistryEvents (MDE) showing ActionType=RegistryValueSet on the Root certificate store path with InitiatingProcessFileName=certutil.exe.

  2. Test 2Install Certificate via PowerShell Import-Certificate

    Expected signal: Sysmon Event ID 13 (RegistryValueSet) with TargetObject containing Root\Certificates\<thumbprint> and initiating process powershell.exe. PowerShell ScriptBlock Log Event ID 4104 capturing the full script including 'Import-Certificate' targeting 'Cert:\LocalMachine\Root'. Sysmon Event ID 11 (FileCreate) for the temporary .cer file in %TEMP%.

  3. Test 3Enumerate Certificate Stores for Pre-Attack Reconnaissance

    Expected signal: Sysmon Event ID 1 for certutil.exe with CommandLine containing '-store Root' and '-store CA'. Sysmon Event ID 1 for powershell.exe with CommandLine containing 'Get-ChildItem Cert:' and 'HasPrivateKey'. PowerShell ScriptBlock Log Event ID 4104 capturing full certificate enumeration script.

  4. Test 4Download and Install Certificate from Remote URL via certutil URLCache

    Expected signal: Sysmon Event ID 1 for certutil.exe with CommandLine containing '-urlcache -split -f http://'. Sysmon Event ID 3 (NetworkConnection) for certutil.exe connecting to 127.0.0.1:8080 (or external IP in real attacks). DeviceProcessEvents CommandLine field captures the URL attempted. Download attempt generates telemetry regardless of server availability.

Unlock Pro Content

Get the full detection package for T1588.004 including response playbook, investigation guide, and atomic red team tests.

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections