Skip to content


Repository files navigation

Twitter - Telegram - thewhiteh4t's Blog

FinalRecon is an all in one automatic web reconnaissance tool written in python. Goal of FinalRecon is to provide an overview of the target in a short amount of time while maintaining the accuracy of results. Instead of executing several tools one after another it can provide similar results keeping dependencies small and simple.

Available In

kali linux finalrecon blackarch finalrecon secbsd finalrecon

Featured On

Python For OSINT




FinalRecon provides detailed information such as :

  • Header Information

  • Whois

  • SSL Certificate Information

  • Crawler

    • html
      • CSS
      • Javascripts
      • Internal Links
      • External Links
      • Images
    • robots
    • sitemaps
    • Links inside Javascripts
    • Links from Wayback Machine from Last 1 Year
  • DNS Enumeration

    • Over 40 types of Records are queried
    • DMARC Records
  • Subdomain Enumeration

    • Over 10 reliable data sources
  • Directory Enumeration

    • Support for File Extensions
  • Wayback Machine

    • URLs from Last 5 Years
  • Port Scan

    • Fast
    • Top 1000 Ports
  • Export

    • Formats
      • txt
      • json [Coming Soon]


API Keys

Some Modules Use API Keys to fetch data from different resources, these are optional, if you are not using an API key, they will be simply skipped.

Environment Variables

Keys are read from environment variables if they are set otherwise they are loaded from the config directory


# Example :

export FR_SHODAN_KEY="kl32lcdqwcdfv"

Saved Keys

You can use -k to add the keys which will be saved in config directory automatically

# Usage
python3 -k '<API NAME>@<API KEY>'

Valid Keys : 'bevigil', 'binedge', 'facebook', 'hunter', 'netlas','shodan', 'virustotal', 'zoomeye'

# Example :
python3 -k 'shodan@kl32lcdqwcdfv'

Path = $HOME/.config/finalrecon/keys.json

Source Module Link
Facebook Sub Domain Enum
VirusTotal Sub Domain Enum
Shodan Sub Domain Enum
BeVigil Sub Domain Enum
BinaryEdge Sub Domain Enum
Netlas Sub Domain Enum
ZoomEye Sub Domain Enum
Hunter Sub Domain Enum

JSON Config File

Default config file is available at ~/.config/finalrecon/config.json

    "common": {
        "timeout": 30,
        "dns_servers": ",,,"
    "ssl_cert": {
        "ssl_port": 443
    "port_scan": {
        "threads": 50
    "dir_enum": {
        "threads": 50,
        "redirect": false,
        "verify_ssl": false,
        "extension": ""
    "export": {
        "format": "txt"

Tested on

  • Kali Linux
  • BlackArch Linux

FinalRecon is a tool for Pentesters and it's designed for Linux based Operating Systems, other platforms like Windows and Termux are NOT supported.


Kali Linux

sudo apt install finalrecon

BlackArch Linux

sudo pacman -S finalrecon


doas pkg_add finalrecon

Other Linux

git clone
cd FinalRecon
pip3 install -r requirements.txt


docker pull thewhiteh4t/finalrecon
docker run -it --entrypoint /bin/sh thewhiteh4t/finalrecon

Also docker user can use this alias to run the finalrecon as the normal CLI user.

alias finalrecon="docker run -it --rm --name finalrecon  --entrypoint 'python3' thewhiteh4t/finalrecon"

And then use finalrecon to start your scan.


If you have any api keys you can easily commit that image in your local machine.

This docker usage needs root to run docker command.


FinalRecon - All in One Web Recon | v1.1.6

  -h, --help  show this help message and exit
  --url URL   Target URL
  --headers   Header Information
  --sslinfo   SSL Certificate Information
  --whois     Whois Lookup
  --crawl     Crawl Target
  --dns       DNS Enumeration
  --sub       Sub-Domain Enumeration
  --dir       Directory Search
  --wayback   Wayback URLs
  --ps        Fast Port Scan
  --full      Full Recon

Extra Options:
  -nb         Hide Banner
  -dt DT      Number of threads for directory enum [ Default : 30 ]
  -pt PT      Number of threads for port scan [ Default : 50 ]
  -T T        Request Timeout [ Default : 30.0 ]
  -w W        Path to Wordlist [ Default : wordlists/dirb_common.txt
  -r          Allow Redirect [ Default : False ]
  -s          Toggle SSL Verification [ Default : True ]
  -sp SP      Specify SSL Port [ Default : 443 ]
  -d D        Custom DNS Servers [ Default : ]
  -e E        File Extensions [ Example : txt, xml, php ]
  -o O        Export Format [ Default : txt ]
  -cd CD      Change export directory [ Default :
              ~/.local/share/finalrecon ]
  -k K        Add API key [ Example : shodan@key ]
# Check headers

python3 --headers --url

# Check ssl Certificate

python3 --sslinfo --url

# Check whois Information

python3 --whois --url

# Crawl Target

python3 --crawl --url

# Directory Searching

python3 --dir --url -e txt,php -w /path/to/wordlist

# full scan

python3 --full --url