T1596.003

Digital Certificates

Adversaries may search public digital certificate data for information about victims that can be used during targeting. Digital certificates are issued by certificate authorities (CAs) to cryptographically verify the origin of signed content. Certificates used for encrypted web traffic (HTTPS/TLS) contain registered organization details including name, location, and infrastructure hostnames. Threat actors leverage certificate transparency (CT) logs, public databases (crt.sh, Censys, Shodan), and active TLS probing to enumerate an organization's certificate inventory — revealing subdomains, internal hostnames leaked via Subject Alternative Name (SAN) entries, certificate expiry windows for timing attacks, CA relationships, and organizational unit naming conventions. This reconnaissance informs subsequent targeting through subdomain discovery, phishing infrastructure construction mimicking legitimate certificates, and identification of expired or misconfigured certificates as initial access vectors. Because this technique primarily occurs on adversary-controlled infrastructure outside the victim network, detection is constrained to identifying the activity when performed from monitored endpoints (insider threat, post-compromise recon, or authorized red team).

Microsoft Sentinel / Defender
kusto
let CertTransparencyServices = dynamic([
    "crt.sh", "censys.io", "shodan.io", "certspotter.com",
    "sslshopper.com", "certificatedetails.com", "ct.googleapis.com",
    "transparencyreport.google.com", "ctsearch.entrust.com",
    "search.censys.io", "api.certspotter.com", "certdb.com",
    "ssltools.com", "sslmate.com"
]);
let CertEnumToolNames = dynamic([
    "sslyze", "sslscan", "testssl", "tlsx", "certgraph",
    "tlsprobe", "zgrab", "zgrab2", "ctfr"
]);
DeviceProcessEvents
| where Timestamp > ago(24h)
| where (
    // Dedicated SSL/TLS certificate enumeration tools
    FileName has_any (CertEnumToolNames)
    or ProcessCommandLine has_any (CertEnumToolNames)
    // curl/wget querying CT log services
    or (FileName in~ ("curl.exe", "curl", "wget", "wget.exe")
        and ProcessCommandLine has_any (CertTransparencyServices))
    // PowerShell querying CT log APIs
    or (FileName in~ ("powershell.exe", "pwsh.exe")
        and ProcessCommandLine has_any (CertTransparencyServices))
    // Python scripts targeting CT services
    or (FileName in~ ("python.exe", "python3", "python3.exe", "python")
        and ProcessCommandLine has_any (CertTransparencyServices))
    // OpenSSL active certificate inspection via s_client
    or (FileName in~ ("openssl", "openssl.exe")
        and ProcessCommandLine has_any ("s_client", "x509", "-connect", "verify"))
    // certutil certificate enumeration operations
    or (FileName =~ "certutil.exe"
        and ProcessCommandLine has_any ("-dump", "-verify", "-store", "-URL", "-urlcache"))
)
| extend ToolCategory = case(
    FileName has_any (CertEnumToolNames) or ProcessCommandLine has_any (CertEnumToolNames), "CertEnumTool",
    ProcessCommandLine has_any (CertTransparencyServices), "CTLogQuery",
    FileName in~ ("openssl", "openssl.exe"), "OpenSSLProbe",
    FileName =~ "certutil.exe", "CertutilEnum",
    "Other"
)
| project Timestamp, DeviceName, AccountName, FileName, ProcessCommandLine,
          InitiatingProcessFileName, InitiatingProcessCommandLine,
          FolderPath, SHA256, ToolCategory
| sort by Timestamp desc
medium severity low confidence

Data Sources

Process: Process Creation Command: Command Execution Microsoft Defender for Endpoint

Required Tables

DeviceProcessEvents

False Positives

  • Security team running TLS vulnerability assessments or certificate audits using sslyze, sslscan, or testssl.sh against internal or external infrastructure
  • DevSecOps pipelines querying crt.sh or CertSpotter APIs to monitor the organization's own certificate inventory for expiring, unauthorized, or mis-issued certificates
  • Network engineers using openssl s_client for TLS debugging, cipher suite negotiation verification, or certificate chain validation during incident response
  • Automated certificate monitoring or renewal tools (Certbot, ACME clients, internal PKI management scripts) performing certificate transparency checks or CA API queries
  • Penetration testers on authorized engagements performing external attack surface mapping that includes certificate reconnaissance

Unlock Pro Content

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

Response PlaybookInvestigation GuideHunting QueriesAtomic Red Team TestsTuning Guidance

Related Detections