{"id":13510785,"url":"https://github.com/thewhiteh4t/FinalRecon","last_synced_at":"2025-03-30T17:31:23.962Z","repository":{"id":35471492,"uuid":"178234622","full_name":"thewhiteh4t/FinalRecon","owner":"thewhiteh4t","description":"All In One Web Recon","archived":false,"fork":false,"pushed_at":"2024-10-24T05:10:48.000Z","size":356,"stargazers_count":2263,"open_issues_count":5,"forks_count":428,"subscribers_count":58,"default_branch":"master","last_synced_at":"2024-10-24T23:00:18.231Z","etag":null,"topics":["crawler","directory-search","dns-enumeration","headers","javascript-crawler","pentest-tool","pentesting","pentesting-tools","port-scanning","python3","reconnaissance","ssl-certificate","subdomain-enumeration","traceroute","web-penetration-testing","web-reconnaissance","webpentest","whois"],"latest_commit_sha":null,"homepage":"https://www.kali.org/tools/finalrecon/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/thewhiteh4t.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":"thewhiteh4t"}},"created_at":"2019-03-28T15:45:08.000Z","updated_at":"2024-10-24T20:36:11.000Z","dependencies_parsed_at":"2023-10-02T19:52:43.324Z","dependency_job_id":"7856fef6-aef6-46a9-8aae-507d46cb43e4","html_url":"https://github.com/thewhiteh4t/FinalRecon","commit_stats":null,"previous_names":[],"tags_count":17,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thewhiteh4t%2FFinalRecon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thewhiteh4t%2FFinalRecon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thewhiteh4t%2FFinalRecon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/thewhiteh4t%2FFinalRecon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/thewhiteh4t","download_url":"https://codeload.github.com/thewhiteh4t/FinalRecon/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246355384,"owners_count":20763990,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["crawler","directory-search","dns-enumeration","headers","javascript-crawler","pentest-tool","pentesting","pentesting-tools","port-scanning","python3","reconnaissance","ssl-certificate","subdomain-enumeration","traceroute","web-penetration-testing","web-reconnaissance","webpentest","whois"],"created_at":"2024-08-01T02:01:53.920Z","updated_at":"2025-03-30T17:31:23.954Z","avatar_url":"https://github.com/thewhiteh4t.png","language":"Python","funding_links":["https://github.com/sponsors/thewhiteh4t"],"categories":["Python","Python (1887)","reconnaissance","🛠️ Developer Tools"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\u003cimg src=\"https://i.imgur.com/rLENhCp.jpg\"\u003e\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Python-3-brightgreen.svg?style=plastic\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/All In One-red.svg?style=plastic\"\u003e\n\u003cimg src=\"https://img.shields.io/badge/Web Recon-red.svg?style=plastic\"\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://twitter.com/thewhiteh4t\"\u003e\u003cb\u003eTwitter\u003c/b\u003e\u003c/a\u003e\n  \u003cspan\u003e - \u003c/span\u003e\n  \u003ca href=\"https://t.me/thewhiteh4t\"\u003e\u003cb\u003eTelegram\u003c/b\u003e\u003c/a\u003e\n  \u003cspan\u003e - \u003c/span\u003e\n  \u003ca href=\"https://thewhiteh4t.github.io\"\u003e\u003cb\u003ethewhiteh4t's Blog\u003c/b\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nFinalRecon 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**.\n\n## Available In\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://www.kali.org/news/kali-linux-2020-4-release/\"\u003e\n    \u003cimg width=\"150px\" hspace=\"10px\" src=\"https://i.imgur.com/teSiL4p.png\" alt=\"kali linux finalrecon\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://blackarch.org/\"\u003e\n    \u003cimg width=\"150px\" hspace=\"10px\" src=\"https://i.imgur.com/YZ5KDL1.png\" alt=\"blackarch finalrecon\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://secbsd.org/\"\u003e\n    \u003cimg width=\"150px\" hspace=\"10px\" src=\"https://i.imgur.com/z36xL8c.png\" alt=\"secbsd finalrecon\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n## Featured On\n\n### Python For OSINT\n* Hakin9 April 2020\n* https://hakin9.org/product/python-for-osint-tooling/\n\n### NullByte\n* https://null-byte.wonderhowto.com/how-to/conduct-recon-web-target-with-python-tools-0198114/\n* https://www.youtube.com/watch?v=F9lwzMPGIgo\n\n### Hakin9\n* https://hakin9.org/final-recon-osint-tool-for-all-in-one-web-reconnaissance/\n\n## Features\n\nFinalRecon provides detailed information such as :\n\n* Header Information\n\n* Whois\n\n* SSL Certificate Information\n\n* Crawler\n  * html\n    * CSS\n    * Javascripts\n    * Internal Links\n    * External Links\n    * Images\n  * robots\n  * sitemaps\n  * Links inside Javascripts\n  * Links from Wayback Machine from Last 1 Year\n\n* DNS Enumeration\n  * Over 40 types of Records are queried\n  * DMARC Records\n\n* Subdomain Enumeration\n  * Over 10 reliable data sources\n\n* Directory Enumeration\n  * Support for File Extensions\n\n* Wayback Machine\n    * URLs from Last 5 Years\n\n* Port Scan\n  * Fast\n  * Top 1000 Ports\n\n* Export\n  * Formats\n    * txt\n    * json [Coming Soon]\n\n## Configuration\n\n### API Keys\n\nSome 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.\n\n#### Environment Variables\n\nKeys are read from environment variables if they are set otherwise they are loaded from the config directory\n\n```bash\nFR_BEVIGIL_KEY, FR_BINEDGE_KEY, FR_FB_KEY, FR_HUNTER_KEY,\nFR_NETLAS_KEY, FR_SHODAN_KEY, FR_VT_KEY, FR_ZOOMEYE_KEY\n\n# Example :\n\nexport FR_SHODAN_KEY=\"kl32lcdqwcdfv\"\n```\n\n#### Saved Keys\n\nYou can use **`-k`** to add the keys which will be saved in config directory automatically\n\n```bash\n# Usage\npython3 finalrecon.py -k '\u003cAPI NAME\u003e@\u003cAPI KEY\u003e'\n\nValid Keys : 'bevigil', 'binedge', 'facebook', 'hunter', 'netlas','shodan', 'virustotal', 'zoomeye'\n\n# Example :\npython3 finalrecon.py -k 'shodan@kl32lcdqwcdfv'\n```\n\n`Path = $HOME/.config/finalrecon/keys.json`\n\n| Source | Module | Link |\n|--------|--------|------|\n| Facebook | Sub Domain Enum | https://developers.facebook.com/docs/facebook-login/access-tokens |\n| VirusTotal | Sub Domain Enum | https://www.virustotal.com/gui/my-apikey |\n| Shodan | Sub Domain Enum | https://developer.shodan.io/api/requirements |\n| BeVigil | Sub Domain Enum | https://bevigil.com/osint-api |\n| BinaryEdge | Sub Domain Enum | https://app.binaryedge.io/ |\n| Netlas | Sub Domain Enum | https://docs.netlas.io/getting_started/ |\n| ZoomEye | Sub Domain Enum | https://www.zoomeye.hk/ |\n| Hunter | Sub Domain Enum | https://hunter.how/search-api |\n\n### JSON Config File\n\nDefault config file is available at `~/.config/finalrecon/config.json`\n\n```json\n{\n    \"common\": {\n        \"timeout\": 30,\n        \"dns_servers\": \"8.8.8.8, 8.8.4.4, 1.1.1.1, 1.0.0.1\"\n    },\n    \"ssl_cert\": {\n        \"ssl_port\": 443\n    },\n    \"port_scan\": {\n        \"threads\": 50\n    },\n    \"dir_enum\": {\n        \"threads\": 50,\n        \"redirect\": false,\n        \"verify_ssl\": false,\n        \"extension\": \"\"\n    },\n    \"export\": {\n        \"format\": \"txt\"\n    }\n}\n```\n\n## Tested on\n\n* Kali Linux\n* BlackArch Linux\n\n\u003e FinalRecon is a tool for **Pentesters** and it's designed for **Linux** based Operating Systems, other platforms like **Windows** and **Termux** are **NOT** supported.\n\n## Installation\n\n### Kali Linux\n\n```\nsudo apt install finalrecon\n```\n\n### BlackArch Linux\n\n```\nsudo pacman -S finalrecon\n```\n\n### SecBSD\n\n```bash\ndoas pkg_add finalrecon\n```\n\n### Other Linux\n\n```bash\ngit clone https://github.com/thewhiteh4t/FinalRecon.git\ncd FinalRecon\npip3 install -r requirements.txt\n```\n\n### Docker\n\n``` bash\ndocker pull thewhiteh4t/finalrecon\ndocker run -it --entrypoint /bin/sh thewhiteh4t/finalrecon\n```\n\nAlso docker user can use this alias to run the finalrecon as the normal CLI user.\n\n``` bash\nalias finalrecon=\"docker run -it --rm --name finalrecon  --entrypoint 'python3' thewhiteh4t/finalrecon finalrecon.py\"\n```\n\nAnd then use `finalrecon` to start your scan.\n\n\u003e remark\n\u003e\n\u003e If you have any api keys you can easily commit that image in your local machine.\n\u003e\n\u003e This docker usage needs root to run docker command.\n\n## Usage\n\n```bash\nFinalRecon - All in One Web Recon | v1.1.6\n\noptions:\n  -h, --help  show this help message and exit\n  --url URL   Target URL\n  --headers   Header Information\n  --sslinfo   SSL Certificate Information\n  --whois     Whois Lookup\n  --crawl     Crawl Target\n  --dns       DNS Enumeration\n  --sub       Sub-Domain Enumeration\n  --dir       Directory Search\n  --wayback   Wayback URLs\n  --ps        Fast Port Scan\n  --full      Full Recon\n\nExtra Options:\n  -nb         Hide Banner\n  -dt DT      Number of threads for directory enum [ Default : 30 ]\n  -pt PT      Number of threads for port scan [ Default : 50 ]\n  -T T        Request Timeout [ Default : 30.0 ]\n  -w W        Path to Wordlist [ Default : wordlists/dirb_common.txt\n              ]\n  -r          Allow Redirect [ Default : False ]\n  -s          Toggle SSL Verification [ Default : True ]\n  -sp SP      Specify SSL Port [ Default : 443 ]\n  -d D        Custom DNS Servers [ Default : 1.1.1.1 ]\n  -e E        File Extensions [ Example : txt, xml, php ]\n  -o O        Export Format [ Default : txt ]\n  -cd CD      Change export directory [ Default :\n              ~/.local/share/finalrecon ]\n  -k K        Add API key [ Example : shodan@key ]\n```\n\n```bash\n# Check headers\n\npython3 finalrecon.py --headers --url https://example.com\n\n# Check ssl Certificate\n\npython3 finalrecon.py --sslinfo --url https://example.com\n\n# Check whois Information\n\npython3 finalrecon.py --whois --url https://example.com\n\n# Crawl Target\n\npython3 finalrecon.py --crawl --url https://example.com\n\n# Directory Searching\n\npython3 finalrecon.py --dir --url https://example.com -e txt,php -w /path/to/wordlist\n\n# full scan\n\npython3 finalrecon.py --full --url https://example.com\n```\n\n## Demo\n[![Odysee](https://i.imgur.com/IQpZ67e.png)](https://odysee.com/@thewhiteh4t:2/what%27s-new-in-finalrecon-v1.0.2-osint:c)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthewhiteh4t%2FFinalRecon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthewhiteh4t%2FFinalRecon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthewhiteh4t%2FFinalRecon/lists"}