Development servers, staging environments, old admin panels — your subdomains are an attack surface you probably didn't know you had. Here's how to find all of them, for free.
Your main website is locked down. HTTPS, security headers, patched software, maybe a WAF. Good. Now here's what attackers see when they look at you: your primary domain — and everything else you've forgotten about.
Subdomains are everywhere. The dev environment your agency spun up two years ago and forgot about. The staging server that has the same credentials as production. The legacy admin panel at admin.yourdomain.com that nobody uses but nobody deletes. Every one of them is a potential entry point. Most small businesses have no idea how many they have.
This is the recon step attackers run first. Let's do it before them.
The main domain gets attention. Security patches, monitoring, proper configuration — it all tends to happen on the primary domain. But subdomains are often forgotten:
In 2021, a security researcher found that a Fortune 500 company's test environment at test.fortune500company.com was still connected to the same internal network as production. The subdomain had been sitting exposed for three years. This pattern is more common than you'd think.
Attackers and security researchers use three primary techniques to find subdomains at scale:
Every publicly issued SSL certificate gets logged in the Certificate Transparency (CT) system. These logs are public and searchable. An attacker can query crt.sh or similar services to find every subdomain that had a certificate issued for it — including development domains, internal-sounding names, and forgotten infrastructure. This method alone often finds 2-10x more subdomains than the company knows about.
To do this yourself: go to crt.sh and search for your domain. Sort by date and look at everything issued in the last 12 months.
Tools like Amass, Subfinder, or massdns can take common subdomain prefixes — dev, staging, test, admin, api, app, beta, uat, prod — and DNS-resolve them against your domain. If staging.yourdomain.com resolves to an IP, it's a live subdomain. This catches subdomains that were registered but never got certificates.
Wayback Machine, Censys, and SHODAN all expose subdomains that were live at some point. Sometimes you find infrastructure that no longer resolves via DNS but still exists in archived records — useful for finding long-abandoned subdomains that might still be accessible.
amass enum -passive -d yourdomain.com pulls from dozens of sources including CT logs, DNS records, and web archives. Free and runs in about 5 minutes.subfinder -d yourdomain.comassetfinder yourdomain.comOnce attackers have a list of subdomains, they run automated scans against all of them looking for:
amass enum -passive -d yourdomain.comEvery forgotten subdomain is a potential incident. Find them first.
Every forgotten subdomain is a potential entry point.
Find All Your Subdomains →