← Back to blog
Blog Detail

Subdomain Enumeration for CTEM: Certificate Transparency, DNS, and Passive Sources

Subdomain enumeration is the discovery layer of attack surface management: certificate transparency logs, passive DNS, and permutation brute force surface the hosts inventory forgot. This guide covers recon mechanics, takeover risk, telemetry that proves visibility, and how Trusteed CTEM turns hostname lists into validated, prioritized exposure.

Trusteed Team
Trusteed Editorial
Written On
Sep 30, 2026
Category
CTEM
Read Time
14 min read
  • CTEM
  • Trusteed
  • Subdomain Enumeration
  • Attack Surface Management
  • Certificate Transparency
  • DNS Security
  • Reconnaissance
  • External Attack Surface
  • Asset Discovery
Subdomain Enumeration for CTEM: Certificate Transparency, DNS, and Passive Sources

Subdomain Enumeration for CTEM: Certificate Transparency, DNS, and Passive Sources

TL;DR

  • Subdomain enumeration is the practice of discovering every hostname that resolves — or once resolved — under a domain you own, by combining passive sources like certificate transparency logs and passive DNS with active DNS brute force and permutation logic.
  • It is the discovery phase of Continuous Threat Exposure Management (CTEM). You cannot scope, prioritize, validate, or remediate an asset you never found, and a stale discovery layer poisons every downstream decision.
  • The deliverable is not a longer wordlist dump. It is an authoritative, owned, continuously refreshed inventory where every hostname has an owner, a purpose, a technology fingerprint, and a current exposure status.
  • Most subdomain takeovers, forgotten staging environments, and shadow APIs are found by enumeration long before they appear in a scanner report — because scanners only see what inventory already knows about.
  • Trusteed CTEM combines passive and active attack surface discovery with validation and exploitability context, so enumeration output becomes prioritized exposure instead of another spreadsheet.

What is subdomain enumeration?

Subdomain enumeration is the systematic discovery of hostnames that belong to a registered domain — api.example.com, staging-eu.example.com, vpn.example.com — along with the DNS records, IP addresses, TLS certificates, and services behind them. It answers a deceptively simple question: what do we actually have exposed?

A few distinctions matter in practice:

  • Enumeration vs. resolution. Enumeration produces candidate names from many sources; resolution confirms which ones are live. These are separate steps with separate failure modes. A name can be enumerated for years after it stops resolving, and a live host can exist without ever appearing in a passive dataset.
  • DNS names vs. virtual hosts. Some applications exist only as virtual hosts on a shared IP. They never appear in DNS and never appear in certificate transparency logs. Pure DNS enumeration misses them entirely; HTTP-based virtual host discovery is required.
  • Subdomains vs. related domains. A real program covers apex domains, sibling brand domains, acquisition leftovers, and third-party SaaS tenancy (yourcompany.atlassian.net) — none of which are DNS subdomains, all of which are attack surface.
  • Ownership. A hostname is only useful to a security program if someone is accountable for it. Enumeration without ownership tagging produces a bigger queue, not a smaller risk.

The output of good enumeration is a structured record set: hostname, first seen, last seen, resolving IPs, CNAME chain, certificate and issuer, technology fingerprint, owner, environment classification (prod, staging, dev), and exposure status. Everything downstream — scanning, prioritization, SOC triage — depends on that structure existing.

Why it matters now

Reconnaissance is cheap, public, and mostly automated. An attacker's first hour is your certificate transparency logs, your DNS history, your JavaScript bundles, and your public repositories. Defenders who treat enumeration as a one-off consulting deliverable are working from a map that was accurate months ago.

Four forces make this urgent right now:

  • Cloud and ephemeral infrastructure. Preview deployments, review apps, CI endpoints, and short-lived services each get a hostname. Many get a certificate. Few get deleted on schedule. Modern estates change weekly, not quarterly.
  • Mergers, acquisitions, and shadow IT. Every acquisition brings domains, legacy portals, and mail infrastructure that nobody added to the asset register. Enumeration is often the first honest look at what came with the deal.
  • Subdomain takeover is unsophisticated and effective. A dangling CNAME pointing at a deprovisioned SaaS tenant or cloud bucket is a low-effort, high-credibility phishing and malware host wearing your brand and your certificate.
  • Audit expectations. PCI DSS, ISO 27001, SOC 2, and the NIST Cybersecurity Framework all assume a defensible asset inventory. "We think we know" is not an answer that survives a walkthrough.

In CTEM terms, enumeration is the second phase of the loop — scoping, discovery, prioritization, validation, mobilization. Weak discovery breaks the entire chain. Strong discovery without validation just relocates the noise.

How Subdomain Enumeration Works

Dark CTEM insight card: a single parent domain feeds three discovery sources — certificate transparency logs, passive DNS history and permutation brute force — which merge into a unified hostname inventory showing 1,284 discovered hostnames, 412 live hosts and 7 dangling CNAMEs flagged for takeover review.

1. Certificate transparency logs

Certificate Transparency (RFC 6962) requires publicly trusted certificate authorities to submit precertificates to append-only, cryptographically verifiable logs before issuance. Those logs are public and permanent. If a certificate was ever issued for payments-dev.example.com, that hostname is a matter of record forever — even after the host is decommissioned and the DNS record deleted.

That permanence is exactly why CT logs are the highest-yield passive source in existence. Operators query CT aggregators, stream new entries in near real time, and pivot on organization names and SAN lists to find sibling brands. Two caveats: wildcard certificates (*.example.com) hide the exact hostnames they cover, and shared hosting certificates can contain dozens of unrelated names that belong to someone else.

2. Passive DNS and historical resolution

Passive DNS aggregates resolver observations over time, which means it reveals what resolved last year but not today — the historical view that active queries can never produce. It is also how you pivot from a single hostname into infrastructure: reverse DNS records, netblocks, and ASN/BGP data let you walk from app.example.com to a /24 you did not know you owned.

Defensively, passive DNS for your own netblocks is one of the few reliable ways to spot infrastructure you have lost track of. If a hostname resolves into your address space and you cannot name its owner, that is a finding.

3. Public data, code, and configuration leaks

Real-world enumeration combines many weak signals into one strong conclusion:

  • JavaScript bundles and source maps that reference internal hostnames and API base URLs.
  • Public code repositories, where developers commit environment files, Postman collections, and CI configuration.
  • Web archives and crawler datasets that preserve URLs from pages that no longer exist.
  • robots.txt, sitemap.xml, security.txt, and .well-known paths.
  • TLS SAN fields, CSP report-uri directives, and mail posture records: SPF, DMARC, DKIM, and MX hosts.
  • Mobile application binaries, which frequently embed production API endpoints.

4. Active resolution: brute force, permutations, and wildcards

Passive sources give breadth; active techniques give depth. The standard pattern is wordlist-driven resolution using curated name lists, followed by permutation engines that mutate known names — dev-api, api-dev, api1, api-old — to catch naming conventions that wordlists never anticipate.

Two operational rules matter. First, detect wildcard DNS before you resolve anything. A wildcard record turns every guess into a false positive, and false positives poison the inventory you are trying to build. Second, respect rate limits. Hammering public resolvers gets you throttled or blocked, and it generates exactly the kind of DNS noise that a competent defender notices.

5. Validation and enrichment

Resolution is not the finish line. Each live hostname needs fingerprinting (HTTP headers, favicon hashes, TLS characteristics), certificate validation (issuer, expiry, hostname match), and CNAME chain inspection for takeover conditions — a record pointing at an unclaimed bucket, page host, or SaaS tenant. Hostnames that only exist as virtual hosts behind a shared IP need HTTP-level probing rather than DNS.

A hostname you cannot classify is a hostname you cannot prioritize.

6. What breaks enumeration — and how to notice

  • Wildcard poisoning. Infinite false positives that mask real hosts in the noise.
  • CDN and shared hosting. Thousands of unrelated names share addresses; reverse DNS becomes meaningless.
  • Stale passive data. Datasets lag by days or weeks. Always re-resolve before acting.
  • Rate limiting and blocking. Heavy recon from one source gets throttled, and the failure is silent if you are not watching error rates.
  • Scope creep. Enumerating a domain you do not own is not reconnaissance, it is a legal problem.

Detection and Visibility: Enumeration From the Defender's Side

Enumeration is a two-way mirror. The same signals that describe your surface also tell you when someone is mapping it. Telemetry worth wiring up:

  • Certificate issuance monitoring for apex domains and brand variants. A new certificate for a lookalike domain, or for a hostname you do not recognize in your own zone, is a first-class alert.
  • Authoritative DNS query logs. Volume spikes, NXDOMAIN storms, query-type distributions, and high-entropy names are strong enumeration indicators when you are watching your own resolvers.
  • Edge and access logs. Sequential 404s, requests for paths that only exist in wordlists, and unusual user agents.
  • TLS/SNI telemetry. Connection attempts carrying SNI values for hostnames that do not exist on your edge.
  • Cloud DNS and inventory APIs. Route 53, Cloudflare, Azure DNS, and Google Cloud DNS exported into one place, so record drift and dangling entries surface as exceptions rather than surprises.
  • Freshness metrics. Days since last discovery run, percentage of hostnames with an assigned owner, and the count of hostnames with no recent scan data. These four numbers tell you more about program health than any single tool output.

Good visibility means you can answer, on demand: how many hostnames do we have, who owns each one, which ones are exposed, and how has that changed in the last thirty days.

Reduce Risk: Subdomain Enumeration Best Practices

  1. Enumerate your own surface on a schedule, not on a hunch. Monthly full passes with continuous incremental discovery catches ephemeral infrastructure that quarterly runs miss entirely.
  2. Keep passive and active sources in one pipeline. CT logs and passive DNS provide breadth and history; brute force and permutations provide depth. Neither alone is sufficient, and neither is trustworthy without wildcard detection.
  3. Attach ownership at discovery time. A hostname with no owner is a permanently unowned risk. Route new discoveries to a responsible team within days, not quarters.
  4. Monitor your own certificate transparency footprint. Alert on issuance you did not request, on brand-lookalike domains, and on certificates covering hostnames that are not in your inventory.
  5. Hunt dangling DNS continuously. Check CNAME targets against live resources before deprovisioning cloud services, and re-check existing records on a recurring basis.
  6. Restrict zone transfers and harden DNS. Disable AXFR to untrusted networks, consider NSEC3 to blunt zone walking, and separate internal and external resolution.
  7. Get scope in writing. Authorization, not technique, determines legality. Rate-limit your own active queries out of professional courtesy and self-interest.
  8. Feed discovery directly into scanning and validation. A hostname list that never becomes a scan target is documentation, not security. Enrichment and validation are what convert enumeration into remediation.
  9. Watch for reconnaissance against you. Treat NXDOMAIN spikes and edge scan patterns as detection opportunities, not background noise.
  10. Measure the program, not the run. Track percentage of hostnames with owners, median asset age, time to decommission, and remediation velocity on validated findings.

How Trusteed CTEM helps

Dark Trusteed CTEM insight card: 11,942 hostnames from certificate transparency, passive DNS, permutation brute force and scanner telemetry flow through a should_alarm() validation gate, where 11,900 are filtered and 42 pass, into a prioritized SOC queue of three items (jenkins-eu.acme.io P1, auth-staging.acme.io P2, s3-legacy-eu.acme.io P2), each carrying asset owner and EPSS, KEV or takeover context.

  • Continuous attack surface and asset inventory. Trusteed CTEM discovers domains, IPs, services, and technologies using passive and active techniques, then maintains them in an ongoing inventory with recurring scan plans — so enumeration output stays current instead of expiring the day it is generated.
  • Findings enriched with real exploitability context. Scanner-driven detection is correlated with catalog CVE data and supplemented with EPSS/KEV signals and exploit references where available, turning a bare hostname into a risk statement.
  • A validation gate before the SOC queue. Not every scanner hit becomes an alarm. Trusteed CTEM validates exploitability and business context so dashboards and analyst queues surface actionable exposure (should_alarm) rather than raw tool output.
  • Surface-specific testing workers. A dedicated API surface worker covers exposed API endpoints that generic web scanning under-tests, and a deep DAST worker goes further on critical applications.
  • Compliance-oriented views and reporting. Framework-aligned reporting helps teams evidence asset inventory and remediation progress without rebuilding spreadsheets by hand.
  • Vulnerability intelligence. Trusteed's public vulnerability intelligence and in-product catalog narratives — including KEV and emergent threat coverage — give operators context on what is being exploited right now.

Start at trusteed.io and run the operational queue at app.trusteed.io.

Trusteed CTEM vs Point Tools

A single recon CLI or template scanner is genuinely good at what it does. The gap is the workflow around it: inventory, validation, prioritization, and continuous operation.

Capability Typical point tool (recon CLI, scanner, template engine) Trusteed CTEM
Discovery model Point-in-time run triggered by an operator or CI job Continuous discovery with ongoing scan plans across external and internal surface
Asset inventory Output file of hostnames you must reconcile yourself Domains, IPs, services, and technologies kept in one inventory
DNS and CT coverage Depends on the modules you wire together manually Passive and active discovery techniques combined in one workflow
Validation Raw findings returned as-is Findings validated for exploitability and business context; only actionable items raise alarms
Exploitability context CVE severity only, if anything CVE catalog enrichment plus EPSS/KEV and exploit references where available
API and application depth Generic DAST or template checks Dedicated API surface worker plus deep DAST worker for critical apps
SOC workflow JSON or CSV handed to analysts Prioritized queues and dashboards in app.trusteed.io
Compliance reporting Out of scope Framework-oriented views and customer reporting

The practical takeaway: keep the CLIs you like for targeted work, but do not confuse a signal generator with an exposure management program. Signals without inventory, validation, and prioritization are exactly how SOC teams end up drowning while the real risk sits untouched.

FAQ

What is subdomain enumeration in one sentence?

Subdomain enumeration is the process of discovering all hostnames associated with a domain by combining passive sources such as certificate transparency logs and passive DNS with active DNS resolution, wordlist brute force, and permutation techniques.

Is subdomain enumeration legal?

Against domains you own or have written authorization to test, it is standard security practice. Certificate transparency logs, passive DNS datasets, and web archives are public data. Aggressive brute force against third-party infrastructure at high volume can violate computer misuse laws, terms of service, or contracts regardless of intent. In practice, authorization — not technique — determines legality. Document scope, rate limits, and rules of engagement before you start, consistent with frameworks like NIST SP 800-115.

Why are certificate transparency logs so effective for enumeration?

Because certificate issuance is public, mandatory for publicly trusted CAs, and permanent. A certificate logged for a hostname creates a durable record even after the DNS entry is deleted. That gives defenders a historical view that live DNS queries cannot reproduce, and it means your own forgotten hostnames are already public whether or not you know about them.

What is subdomain takeover, and how does enumeration expose it?

Subdomain takeover occurs when a DNS record — usually a CNAME — points to a resource that no longer exists or is unclaimed: a deleted cloud bucket, an abandoned page host, a cancelled SaaS tenant. An attacker claims the resource and serves content under your domain. Enumeration exposes it because validating CNAME targets forces you to check whether each destination is still controlled by you.

How is subdomain enumeration different from port scanning?

Enumeration maps names; port scanning maps services listening on IP addresses. Enumeration answers what exists; port scanning answers what is reachable and running. They are complementary discovery techniques feeding the same inventory. A hidden virtual host can be invisible to DNS yet trivially visible to a port scan followed by HTTP host-header probing.

How does CTEM differ from a scanner?

A scanner produces a point-in-time signal set. CTEM is the operating loop around those signals — scoping, discovery, prioritization, validation, and mobilization — with continuous coverage instead of one-off runs. Trusteed CTEM supplies the platform layer: a living asset inventory, findings validated for exploitability and business context, and a prioritized queue that analysts can actually work. The scanner is an input; CTEM is the program.

How often should a CTEM program re-enumerate?

Run a full enumeration at least monthly to catch coverage gaps, and continuous incremental discovery on certificate issuance and DNS change signals in between. The right cadence is the one that keeps time-to-discovery shorter than your infrastructure's rate of change. If your median asset age is measured in weeks, monthly-only discovery is already too slow.

Do I need brute force if passive sources work well?

Usually, yes. Passive sources miss hostnames that were never publicly certificated — internal-sounding names on private zones, virtual hosts on shared IPs, and recently created records. Brute force and permutations fill that gap. What you should never skip is wildcard detection: without it, active resolution produces a flood of false positives that makes the inventory worse, not better.

Related resources

Join Our Newsletter

Trusteed keeps you informed: emerging risks, platform updates, and practical guides for faster defense.