root@thehacksparrow:~/writeups$ SYSTEM ONLINE
root@sparrow:~/writeups$ cat crt-sh.md
// tools

crt.sh

22 Jul 2026 · 2 min read

What it is — crt.sh is a search tool over Certificate Transparency (CT) logs: a public system where every certificate authority is required to log every TLS certificate it issues. Since any domain/subdomain with HTTPS needs a certificate, searching these logs reveals subdomains that might never show up in a normal DNS scan.

TypeFree web service
CostFree, no signup
URLcrt.sh

How to use it

Search by domain directly on the site, or via the JSON API:

https://crt.sh/?q=%25.target.com&output=json

The %25. wildcard (URL-encoded %.) captures any subdomain. With jq you can filter and clean up the results easily:

curl -s "https://crt.sh/?q=%25.target.com&output=json" | \
  jq -r '.[].name_value' | sed 's/\*\.//g' | sort -u

Why it works: many dev, staging, or internal subdomains that are never linked from the public site still need a valid TLS certificate to function — and that certificate gets publicly logged in the CT logs, whether the team likes it or not.

What I use it for

  • First step in bug bounty recon: before any subdomain brute-forcing, I check crt.sh — it's instant and generates zero traffic against the target.
  • Finding dev/staging subdomains that often have weaker protections than production (looser auth, debug mode on, unpatched versions).
  • Spotting wildcards and shared certificates that sometimes reveal a relationship between seemingly unrelated organisations' domains (vendors, subsidiaries) sharing infrastructure.

Link

crt.sh →