~/blog / find-every-subdomain

How to find every subdomain of any domain (CT log method)

// published 2026-04-17

Need to know every subdomain a company has? Forget brute-forcing wordlists. The fastest reliable method is querying Certificate Transparency logs — every TLS certificate ever issued is publicly logged, and certificates name their hosts. So every subdomain that ever got a cert is discoverable.

Why CT logs work

Since 2018, Chrome (and now every other major browser) requires that all publicly-trusted TLS certificates be logged in append-only Certificate Transparency logs. CAs submit each cert; logs publish them; researchers and tools index them.

The result: a global database of every (domain, certificate, issued-at) tuple. Searching for %.example.com returns every cert ever issued for any subdomain of example.com — and therefore every subdomain anyone ever bothered to put behind HTTPS.

How to query it

The simplest interface is crt.sh. Direct URL:

https://crt.sh/?q=%25.example.com&output=json&exclude=expired

Returns a JSON array of certificate entries. Each entry has name_value (the SAN list, one host per line) and not_before (issuance date). Deduplicate, filter wildcards, sort.

Or paste any domain into our CT Log Subdomain Finder — it does this for you.

What it catches that wordlists miss

What it misses

CT logs only see hosts with publicly-trusted certificates. They miss:

For a complete picture combine CT + DNS brute-force + passive DNS (e.g., SecurityTrails, RiskIQ).

Practical use cases

Security audits

Find shadow IT before attackers do. Every forgotten dev environment with credentials in env vars is a breach waiting to happen. CT enumeration is one of the first steps a red team runs.

Asset inventory

"What does my company actually have on the internet?" — corporate IT teams ask this constantly. CT enumeration gives a baseline that's hard to argue with: certs were issued at these hosts, here are the dates.

Competitive intelligence

A new app-eu.competitor.com appearing in CT logs is a strong signal of an EU launch. New enterprise.competitor.com = enterprise tier coming. Watch CT logs to see infrastructure decisions before press releases.

Phishing investigation

When a phish targets your brand, CT logs reveal whether the attacker registered cousin domains: example-login.com, secure-example.com, etc. Take them down faster.

Don't be the source

If you don't want a host enumerated this way: don't put a publicly-trusted cert on it. Use a private CA for internal services. Or use name-redacted certs (some CAs support precertificates with hidden hostnames, though browsers may not honor them).

The best assumption: anything you HTTPS-protect publicly is permanently logged. Use our tool to see what's already logged about your own domain.


check_your_own_domain
Run the free CT Log Subdomain Finder to diagnose this on any domain.
[ Open CT Log Subdomain Finder ]
// related_reading