Information Gatheringdnsreconnaissancedomainscannerbrute-forcezone-transfer

Fierce

Fierce is a DNS reconnaissance tool that locates non-contiguous IP space and hostnames against specified domains. It serves as a precursor to tools like nmap by identifying likely targets inside and outside corporate networks.

Description

Fierce is a semi-lightweight DNS scanner designed to help locate non-contiguous IP space and hostnames for specified domains. It's particularly useful as a pre-cursor to scanning tools like nmap, unicornscan, nessus, or nikto, which require prior knowledge of the target IP space. The tool does not perform exploitation or indiscriminate internet scanning but focuses on pinpointing likely targets both within and outside corporate networks.

Because it primarily uses DNS queries, Fierce often reveals misconfigured networks that leak internal address space, making it valuable for targeted reconnaissance and malware development. It first attempts zone transfers and falls back to brute-force techniques when necessary. Originally developed by RSnake and contributors at ha.ckers.org, this version has been modernized with a Python 3 conversion for improved compatibility and maintenance.

Fierce is especially effective against networks with poor DNS configurations, enabling the discovery of hidden subdomains and IP ranges that might otherwise go unnoticed.

How It Works

Fierce operates primarily through DNS queries, starting with attempts at zone transfers from the domain's nameservers (e.g., testing servers like b.iana-servers.net). If zone transfers fail or are blocked, it resorts to brute-force enumeration of 2280 potential subdomains. It also checks for wildcard DNS records before proceeding with tests. Additional techniques include scanning internal IP ranges in CIDR notation, expanding lookups with search domains, and optionally attempting HTTP connections or TCP checks on discovered non-RFC 1918 hosts. The tool respects Class C boundaries in traversal modes and can widen scans to entire Class C subnets.

Installation

bash
sudo apt install fierce

Flags

--domain DOMAINdomain name to test
--connectattempt HTTP connection to non-RFC 1918 hosts
--widescan entire class c of discovered records
--traverse TRAVERSEscan NUMBER IPs before and after discovered records. This respects Class C boundaries and won't enter adjacent subnets.
--search SEARCH [SEARCH ...]filter on these domains when expanding lookup
--range RANGEscan an internal IP range, use cidr notation
--delay DELAYset delay between DNS lookups
--subdomains SUBDOMAINS [SUBDOMAINS ...]specify subdomains to test
--subdomain-file SUBDOMAIN_FILEfile containing subdomains to test
--dns-servers DNS_SERVERS [DNS_SERVERS ...]specify DNS servers to query
--dns-file DNS_FILEfile containing DNS servers
--tcpperform TCP checks

Examples

Run a default scan against the target domain, attempting zone transfer first then brute force if unsuccessful.
fierce --domain example.com
Show the help message and usage information for all available options.
fierce -h
Scan the domain and attempt HTTP connections to any discovered non-RFC 1918 hosts.
fierce --domain example.com --connect
Perform a wide scan, expanding to the entire Class C range of any discovered records.
fierce --domain example.com --wide
Scan 50 IPs before and after discovered records while respecting Class C boundaries.
fierce --domain example.com --traverse 50
Filter expansions using specified search domains during lookup.
fierce --domain example.com --search sub1 sub2
Scan the specified internal IP range in CIDR notation alongside domain enumeration.
fierce --domain example.com --range 192.168.1.0/24
Updated 2026-04-16kali.org ↗