Skip to content
Back to Blog
·11 min read·technology

Subdomain Enumeration: Mapping Your Real Attack Surface

Learn how attackers and defenders enumerate subdomains via CT logs, brute-forcing, and live-host probing to map real attack surface and stop takeovers.

BR

Bachao.AI Research Team

Cybersecurity Research

Map Your Attack Surface

Security exposure this creates

Unpatched vulnerabilities in your tech stack are the #1 entry point for breaches targeting Indian businesses. Here's what to watch.

Subdomain enumeration is the process of discovering every subdomain tied to a root domain — app., staging., vpn., old-crm. — using passive sources like Certificate Transparency logs and DNS aggregators, active brute-forcing against wordlists, DNS resolution, and live-host probing. For most Indian organisations, the subdomain list a security team can name from memory covers less than half of what actually resolves and serves traffic. The rest — forgotten staging environments, marketing microsites, dev boxes someone spun up two years ago — is exactly where attackers start, because it's exactly where defenders stop looking.

Why Attack Surface Starts With Subdomains

Every subdomain is a potential entry point: a login form, an API, an admin panel, a file upload endpoint. Security teams tend to think in terms of the "main" application and one or two known integrations. Attackers think in terms of the entire DNS tree under a company's root domain, because tooling makes enumerating it trivial and cheap. A subdomain running an old CMS, a test instance with default credentials, or a decommissioned app still pointing at a live cloud resource is rarely on anyone's patch schedule — precisely why it becomes the path of least resistance.

This is asset inventory, not just reconnaissance. You cannot secure, patch, or monitor an asset your team doesn't know exists. Subdomain enumeration is how both attackers and defenders answer the same first question: what is actually out there?

🛡️
SECURITY
Enumerating and actively probing subdomains you do not own or lack written authorisation to test can breach India's IT Act, 2000, Sections 43 and 66. Passive enumeration of publicly logged data (like CT logs) about your own domain is generally safe self-audit practice; active brute-forcing and live probing of third-party infrastructure is not.

Passive Subdomain Enumeration: Reading What's Already Public

Passive techniques discover subdomains without sending a single packet to the target — they mine data sources that already exist.

Certificate Transparency (CT) logs are the single richest passive source. Every publicly trusted TLS certificate is logged in a public, append-only ledger, and it almost always lists the exact hostname it was issued for. A site like crt.sh lets you query these logs by domain and instantly surface every subdomain ever issued a certificate — including short-lived staging certs nobody remembered to revoke.

Other passive sources feed the same pool:

    1. DNS aggregators and historical resolvers — continuously crawl and archive DNS records, surfacing hostnames seen in the past even if they no longer resolve today.
    2. Search engine dorkingsite: operators and cached results occasionally reveal subdomains indexed before being taken offline.
    3. Public code repositories — CI/CD configs and .env examples committed publicly routinely leak internal hostnames.
    4. Passive DNS databases — third-party datasets logging DNS answers observed across the wider internet.
Generic open-source tools like amass and subfinder automate querying dozens of these sources in a single run, aggregating and deduplicating results far faster than manual lookups.
💡
TIP
Run a passive-only pass first, before any active scanning. It's the fastest way to build a baseline subdomain list, it never touches the target directly, and it frequently surfaces the forgotten assets that active brute-forcing alone would miss entirely.

Active Brute-Forcing: Filling the Gaps

Passive sources only reveal subdomains that left a public trace — a certificate, an indexed page, a leaked config. Subdomains never issued a public cert and never indexed simply won't show up. Active brute-forcing closes that gap by systematically testing candidate hostnames (dev., test., internal., api-v2.) against a wordlist and checking which ones resolve in DNS.

This works because organisations reuse naming conventions across teams and time — staging, uat, qa, preprod, admin, vpn — and wordlists built from real-world corpora capture that pattern reliably. Combined with resolution at scale, brute-forcing can surface subdomains kept off any public certificate or search index because someone assumed obscurity was protection.

TechniqueData sourceFinds hidden assetsSpeedDetectable
CT log lookupCertificate logsOnly issued certsInstantNo
DNS aggregator queryPassive DNSPreviously observed hostsFastNo
Wordlist brute-forceDNS resolutionAnything matching wordlistModerateYes
Permutation scanningKnown-name variantsVariants of known subdomainsModerateYes

Know your vulnerabilities before attackers do

Run a free VAPT scan — takes 5 minutes, no signup required.

Book Your Free Scan

Resolution and Live-Host Probing

A raw subdomain list is a starting point, not an attack surface map. The next step is DNS resolution — confirming which candidate hostnames actually have an A, AAAA, or CNAME record — followed by live-host probing, which checks whether something is actually listening and responding on HTTP or HTTPS.

This is where the list shrinks and gets interesting. An enumeration pass might return a thousand candidate hostnames; resolution might confirm two hundred actually exist; live-host probing, using a generic HTTP toolkit like httpx, might show only sixty serving an active response. Those sixty are your real, present-tense attack surface. The rest are either dead, or — more concerning — resolving to infrastructure with no maintained application behind it.

Screenshotting live hosts at scale is the standard next move: automated tools capture a visual snapshot of every responding subdomain, letting a team triage hundreds of hosts in minutes instead of opening each manually. A login page, a default splash screen, an exposed admin dashboard, or an unauthenticated build tool all look immediately different in a screenshot grid — which is the point.

graph TD A[Passive sources CT logs] --> D[Candidate subdomain list] B[DNS aggregators] --> D C[Brute force wordlists] --> D D --> E[DNS resolution] E --> F[Live host probing] F --> G[Screenshot triage] G --> H[Asset inventory update] style A fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0 style B fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0 style C fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0 style D fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0 style E fill:#1e3a5f,stroke:#3B82F6,color:#e2e8f0 style F fill:#5f1e1e,stroke:#EF4444,color:#e2e8f0 style G fill:#1e3d2f,stroke:#10B981,color:#e2e8f0 style H fill:#1e3d2f,stroke:#10B981,color:#e2e8f0

Forgotten Assets and the Subdomain Takeover Risk

The most dangerous finding in an enumeration exercise isn't a live, well-defended app — it's a subdomain whose DNS record still points at a cloud resource (a CDN endpoint, a storage bucket, a PaaS app) that was deleted without anyone removing the DNS entry. Anyone who claims that same resource name on the provider's side can now serve content under your organisation's trusted subdomain, complete with a valid TLS certificate. This is a subdomain takeover — one of the most common real-world findings, precisely because deprovisioning a service and cleaning up its DNS record are two separate, easily-forgotten steps.

⚠️
WARNING
Any CNAME pointing at a third-party service you've since decommissioned — a hosting platform trial, a page builder, an old CDN distribution — is a candidate for takeover. If the target service returns a "not found" or "no such app" style error instead of your content, treat that DNS record as high priority to remove or reclaim immediately.

Beyond takeover risk, forgotten subdomains commonly represent:

    1. Shadow IT — a marketing team's landing-page builder, spun up outside normal provisioning and never inventoried centrally.
    2. Stale test environments — staging or QA instances left internet-facing with weaker authentication than production.
    3. M&A leftovers — subdomains from an acquired brand or legacy product line nobody formally decommissioned.
    4. Third-party integrations — vendor-managed subdomains that fall outside the primary team's patch cadence.
73%Indian organisations unaware whether they'd ever been breached (DSCI India Cyber Threat Report 2025)
29+ lakhCyber incidents handled nationally by CERT-In in 2025 (CERT-In)

Building Enumeration Into Ongoing Asset Inventory

Enumeration done once, during an annual audit, is a snapshot that starts going stale the moment a new subdomain is provisioned. DevOps teams create subdomains constantly — feature branches, client demos, short-lived campaigns — and each one is a new attack surface entry security may never hear about. Treating enumeration as continuous (weekly or monthly passive re-scans, diffed against the last known list) turns a one-time exercise into an actual asset inventory control.

That inventory should feed directly into patch management, certificate tracking, and access review — because an asset that isn't inventoried is, by definition, an asset that isn't governed. This is also foundational under India's DPDP Act, 2023, enacted under the framework maintained by MeitY — you cannot show you've secured data processing systems you haven't identified as existing.

ℹ️
INFO
A professional VAPT engagement typically opens with exactly this exercise — full-scope subdomain and asset enumeration — before any vulnerability scanning begins, because scope defined from memory is almost always incomplete.
pie title Typical Attack Surface Asset Breakdown "Production Applications" : 30 "Staging Dev Environments" : 25 "Marketing Microsites" : 15 "Third Party Integrations" : 15 "Forgotten Legacy Assets" : 15
🎯Key Takeaway
Your attack surface is not the list of subdomains your team remembers — it's the full DNS tree an attacker can enumerate with free, generic tooling in under an hour. Passive discovery (CT logs, DNS aggregators) plus active brute-forcing, resolution, and live-host probing turns that invisible tree into an inventoried, monitorable asset list, and it's the single fastest way to find the forgotten staging box or dangling CNAME that becomes a subdomain takeover.

Turning Enumeration Into Action

A subdomain list, even a complete one, is only useful if it drives action: decommissioned assets get DNS records removed, unpatched hosts get added to the patch cycle, and shadow IT gets brought under governance. Structure the output as a living register, not a report that sits in a shared drive:

Finding typeImmediate actionOwner
Live host, known and patchedConfirm in asset inventory, no actionSecurity/IT
Live host, unknown to teamInvestigate ownership, bring under governanceSecurity + relevant BU
Dangling CNAME, service deprovisionedRemove DNS record or reclaim resource immediatelyDevOps/Platform
Live host, outdated software or default credsEscalate for patching or decommissionSecurity/IT
Certificate issued, host no longer resolvesVerify decommission is complete, revoke cert if activeSecurity/IT
Automated, continuous VAPT platforms add the most value over a one-off audit here: they re-run enumeration on a schedule and flag drift — new subdomains, newly-dangling DNS records, newly-exposed live hosts — instead of requiring a team to remember to check manually. Bachao.AI, built by Dhisattva AI Pvt Ltd, takes this continuous-discovery approach for Indian SMBs without a dedicated security team, and for organisations that need a formal empanelled audit trail, that scanning pairs with a CERT-In empanelled partner for the compliance-grade reporting layer.

Getting Started Without Overreach

If you're running this for the first time, start narrow and passive: query CT logs and a DNS aggregator for your own root domain, build the candidate list, resolve it, and probe for live hosts before attempting any active brute-forcing. Brute-forcing domains you don't fully control — including cloud-hosted subdomains shared with a provider's other tenants — carries operational and, without proper scoping, legal risk. Keep the exercise to assets your organisation directly owns.

Passive sources give speed and safety; brute-forcing and resolution fill the gaps; live-host probing and screenshotting turn a raw list into a triageable inventory. Treating the whole process as continuous, not annual, is what prevents the next forgotten staging box from becoming next quarter's breach headline.

Want a full-scope view of your organisation's real attack surface, subdomains included? Book a free VAPT scan or read more security engineering breakdowns on the Bachao.AI blog.

Frequently Asked Questions

What is subdomain enumeration in cybersecurity?
Subdomain enumeration is the process of discovering all subdomains associated with a root domain, using passive sources like Certificate Transparency logs and DNS aggregators, plus active techniques like wordlist-based brute-forcing and DNS resolution. It's a foundational step in mapping an organisation's real, present-tense attack surface.
What's the difference between passive and active subdomain enumeration?
Passive enumeration mines data that's already public, like Certificate Transparency logs and historical DNS records, without contacting the target directly. Active enumeration sends real DNS queries or requests, such as brute-forcing a wordlist of candidate hostnames, which is faster at finding hidden assets but is detectable and carries more legal and operational risk if done against systems you don't control.
How do Certificate Transparency logs help find subdomains?
Every publicly trusted TLS certificate issued in recent years is logged in a public, append-only ledger. Since certificates list the exact hostname they were issued for, querying CT log data (via a service like crt.sh) instantly reveals subdomains that were ever issued a certificate, including old staging environments.
What is a subdomain takeover and why is it dangerous?
A subdomain takeover happens when a DNS record still points at a third-party cloud resource (like a CDN endpoint or hosting platform app) that has since been deleted, allowing an attacker to claim that resource and serve content under your trusted subdomain and its valid TLS certificate. It's dangerous because it inherits your domain's trust and can be used for phishing, credential theft, or brand damage.
How often should Indian SMBs run subdomain enumeration?
Enumeration should be continuous, not a one-time or annual exercise, because DevOps teams create new subdomains regularly for staging, demos, and campaigns. A weekly or monthly passive re-scan, diffed against the last known asset list, catches new exposure and dangling DNS records before they're exploited.
Is subdomain brute-forcing legal in India?
Passive enumeration of your own domain using public data sources is generally safe self-audit practice. Active brute-forcing or probing of infrastructure you don't own or lack written authorisation to test can violate Sections 43 and 66 of India's IT Act, 2000, so always scope active testing to assets under your organisation's direct control.
BR

Bachao.AI Research Team

Cybersecurity Research

AI-powered security research and threat intelligence from the Bachao.AI team. Covering the latest vulnerabilities, CVEs, and cybersecurity developments affecting Indian businesses.

Get cybersecurity insights for Indian SMBs

Weekly vulnerability alerts, DPDP compliance tips, and security guides. No spam — unsubscribe anytime.

We respect your privacy. Your email is never shared.

Discover what of yours is exposed to the internet

Free automated scan — risk score in under 2 hours. No credit card required.

Map Your Attack Surface
Find your vulnerabilitiesStart free scan →