loading
loading
Attack Surface Management
Wordlist DNS brute force against root domains. Finds first-level names OSINT missed. Input is domains plus an optional custom wordlist, not known hostnames.
DNS brute force against the apex is how you find unpublished first-level subdomains. Given a list of root domains, the module resolves first-level hostname candidates (label.example.com) against a wordlist to surface names that passive OSINT never recorded, then feeds those names into permutations and recursive brute force for deeper coverage. A built-in wordlist runs by default; pin a custom one when you know the target's naming conventions.
You feed apex domains. The module wordlists first-level names against those apexes (label.example.com) and resolves them. A built-in list runs unless you pin a custom wordlist. This is first-level vs the apex, not sub-subdomains of names you already have. You nest this subgraph on a domain list; you do not run it from a shell.
A domain list from scope, an asset inventory, or extra roots you accepted from passive hostname OSINT.
First-level subdomains into DNS permutations and recursive DNS brute force as known-hostname seeds, then probe for web servers. Generate custom DNS wordlists can derive a level-1-wordlist from names you already have and feed it back here as wordlist.
Passive hostname OSINT on the same domains. That reads recorded names. This wordlists unpublished first-level labels.
Nest this beside Enumerate Hostnames via OSINT Sources on a domain list, after you have apexes and before you have a hostname seed. OSINT reads what third parties already recorded. This wordlists unpublished first-level labels. Then Enumerate Hostnames via DNS Permutations Brute Force and Enumerate Hostnames via Recursive DNS Brute Force on the names that come back. Probe for Web Servers next. Enumerate Hostnames via Crawling last, only on live URLs.
The tables this module produces. Sample rows are illustrative.
First-level hostnames resolved against the apex domains via DNS wordlist brute force.
hostnametext | domain_nametext | initial_assettext | initial_asset_typetext | discovery_methodtext | evidencetext | evidence_typetext | evidence_reproductiontext | |
|---|---|---|---|---|---|---|---|---|
| 1 | vpn.example.com | example.com | example.com | domain | dns brute force | A 203.0.113.51 resolved 2026-08-13 | dns answer | dig vpn.example.com +short |
| 2 | staging.example.com | example.com | example.com | domain | dns brute force | A 203.0.113.52 resolved 2026-08-13 | dns answer | dig staging.example.com +short |
| 3 | mail.example.com | example.com | example.com | domain | dns brute force | A 203.0.113.53 resolved 2026-08-13 | dns answer | dig mail.example.com +short |
Artifact class it owns
Names third parties already know
Upstream it needs
domains
Artifact class it owns
Names in HTML, JS, headers of live sites
Upstream it needs
live URLs after probe
Artifact class it owns
Altered spellings of known hostnames
Upstream it needs
known hostnames
Enumerate Hostnames via Root Domain DNS Brute Force
Artifact class it owns
First-level names against the apex
Upstream it needs
domains + wordlist
Artifact class it owns
Sub-subdomains of names you already have
Upstream it needs
known hostnames + level-2/3/4 wordlists
questions
Drop this module into a Trickest workflow and connect it to your upstream and downstream nodes. The face contract above is the wiring.
Get a personalized demo
A 30-minute walkthrough. We map the platform to your stack and answer pricing and deployment questions for your environment.