R-CRT
crt.sh
Searchable certificate transparency log for discovering subdomains issued under a domain.
OVERVIEW
crt.sh is a searchable web front end over the public certificate transparency (CT) logs that browsers now require CAs to publish every certificate into. Every TLS certificate issued for a domain — including those covering subdomains via the Subject Alternative Name (SAN) field — shows up here, which makes the log a very effective passive inventory of hosts an organization has stood up over time.
The UI takes a domain and renders the matching certificates in a table; the same data can also be queried directly with the percent operator against the API to drop results into a recon pipeline.
USE CASES
Practical use cases
- 01
Getting a first subdomain list at the very start of a domain-scoped engagement, before any active probing.
- 02
Finding forgotten or staging subdomains that DNS enumeration misses but were once covered by a cert.
- 03
Cross-checking results from brute-force and recursive DNS tools to expand coverage.
- 04
Pulling CA, issuer, and validity-period metadata for findings that need to cite the issuing authority.
QUICK START
At the very start of a domain-scoped engagement, as a passive way to enumerate subdomains before any active DNS or HTTP probing.
- Open crt.sh and search for the in-scope domain (e.g. target.com) using the percent operator to match subdomains.
- Scrape the returned certificate table, or call the JSON endpoint with the same query to feed a script.
- Filter out duplicates, wildcards, and any subdomains that clearly fall outside scope before passing the list on.
- Hand the cleaned list to a live-host check or to an active tool like Amass for confirmation.
curl -s "https://crt.sh/?q=%25target.com&output=json" | jq -r ".[].name_value" | sort -uBEFORE YOU RUN IT
What to check before running it
Results include every certificate ever issued — including expired ones, duplicates, and wildcards — so the raw output must be filtered before use.
Not every subdomain in the log is still live or under the client’s control: an issued cert is not proof of current ownership.
crt.sh queries the public CT logs; very recent certificates may not yet be visible depending on CA submission latency.