Skip to main content

A DNS reconnaissance tool for locating non-contiguous IP space.

Project description

Fierce

CI Python Versions PyPI Version

Fierce is a DNS reconnaissance tool for locating non-contiguous IP space.

Useful links:

Overview

First, credit where credit is due, fierce was originally written by RSnake along with others at http://ha.ckers.org/. Then it was maintained by mschwager until 2024, and this repository is a slightly modernized version of that codebase.

The original description was very apt:

Fierce is a semi-lightweight scanner that helps locate non-contiguous IP space and hostnames against specified domains. It's really meant as a pre-cursor to nmap, unicornscan, nessus, nikto, etc, since all of those require that you already know what IP space you are looking for. This does not perform exploitation and does not scan the whole internet indiscriminately. It is meant specifically to locate likely targets both inside and outside a corporate network. Because it uses DNS primarily you will often find mis-configured networks that leak internal address space. That's especially useful in targeted malware.

Installing

python -m pip install fierce3
fierce3 -h

OR

git clone https://github.com/meese-enterprises/fierce3.git
cd fierce3
poetry install
python3 fierce3/fierce3.py -h

Using

Let's start with something basic:

fierce3 --domain google.com --subdomains accounts admin ads

Traverse IPs near discovered domains to search for contiguous blocks with the --traverse flag:

fierce3 --domain facebook.com --subdomains admin --traverse 10

Limit nearby IP traversal to certain domains with the --search flag:

fierce3 --domain facebook.com --subdomains admin --search fb.com fb.net

Attempt an HTTP connection on domains discovered with the --connect flag:

fierce3 --domain stackoverflow.com --subdomains mail --connect

Exchange speed for breadth with the --wide flag, which looks for nearby domains on all IPs of the /24 of a discovered domain:

fierce3 --domain facebook.com --wide

Zone transfers are rare these days, but they give us the keys to the DNS castle. zonetransfer.me is a very useful service for testing for and learning about zone transfers:

fierce3 --domain zonetransfer.me

To save the results to a file for later use we can simply redirect output:

fierce3 --domain zonetransfer.me > output.txt

Internal networks will often have large blocks of contiguous IP space assigned. We can scan those as well:

fierce3 --dns-servers 10.0.0.1 --range 10.0.0.0/24

Check out --help for further information:

fierce3 --help

Developing

First, create a virtual environment and install poetry and development packages:

git clone https://github.com/meese-enterprises/fierce3.git
python3 -m venv venv
source venv/bin/activate
poetry install --with dev

Testing

poetry run pytest

Linting

poetry run flake8

Coverage

poetry run pytest --cov

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fierce3-1.0.0.tar.gz (111.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fierce3-1.0.0-py3-none-any.whl (111.1 kB view details)

Uploaded Python 3

File details

Details for the file fierce3-1.0.0.tar.gz.

File metadata

  • Download URL: fierce3-1.0.0.tar.gz
  • Upload date:
  • Size: 111.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.7 Linux/6.14.0-33-generic

File hashes

Hashes for fierce3-1.0.0.tar.gz
Algorithm Hash digest
SHA256 e876d8ab4f172fe858c588db9a6ed53687594b397f491eb955592bb7b492f4ad
MD5 11aac0239104f3a0b4f95413e6b9aa91
BLAKE2b-256 9a47caee18e5a203c5124b2c87bf7c7b8d280c7b8552bbcf3304acac25f80bc0

See more details on using hashes here.

File details

Details for the file fierce3-1.0.0-py3-none-any.whl.

File metadata

  • Download URL: fierce3-1.0.0-py3-none-any.whl
  • Upload date:
  • Size: 111.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.2.1 CPython/3.12.7 Linux/6.14.0-33-generic

File hashes

Hashes for fierce3-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a8fb97a175e6d4f7375ab8e2eb7d347c45fa29331ecf4ab2078f8ab98aa50c20
MD5 890e3ebcb16727d1e3b4860da6c65a0a
BLAKE2b-256 50d0e766f109d9266fb349d7e10c3150234766d62df6d24a590b209308eeb96c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page