reconftw

0

Описание

reconFTW is a tool designed to perform automated recon on a target domain by running the best set of tools to perform scanning and finding out vulnerabilities

Языки

  • Shell97,5%
  • Dockerfile1,6%
  • HCL0,5%
  • Makefile0,4%
README.md


reconftw
reconFTW

Summary

reconFTW automates the entire process of reconnaissance for you. It outperforms the work of subdomain enumeration along with various vulnerability checks and obtaining maximum information about your target.

reconFTW uses a lot of techniques (passive, bruteforce, permutations, certificate transparency, source code scraping, analytics, DNS records...) for subdomain enumeration which helps you to get the maximum and the most interesting subdomains so that you be ahead of the competition.

It also performs various vulnerability checks like XSS, Open Redirects, SSRF, CRLF, LFI, SQLi, SSL tests, SSTI, DNS zone transfers, and much more. Along with these, it performs OSINT techniques, directory fuzzing, dorking, ports scanning, screenshots, nuclei scan on your target.

So, what are you waiting for? Go! Go! Go! 💥

📔 Table of Contents



💿 Installation

a) Using a PC/VPS/VM

You can check out our wiki for the installation guide Installation Guide 📖

  • Requires Golang > 1.15.0+ installed and paths correctly set (GOPATH,GOPATH**, **GOROOT)

Important: if you are not running reconftw as root, run

sudo echo "${USERNAME} ALL=(ALL:ALL) NOPASSWD: ALL" | sudo tee -a /etc/sudoers.d/reconFTW
, to make sure no sudo prompts are required to run the tool and to avoid any permission issues.

b) Docker Image 🐳 (3 options)

  • Pull the image
  • Run the container
  • View results (they're NOT in the Docker container)

    • As the folder you cloned earlier (named
      reconftw
      ) is being renamed to
      OutputFolder
      , you'll have to go to that folder to view results.

If you wish to:

  1. Dynamically modify the behaviour & function of the image
  2. Build your own container
  3. Build an Axiom Controller on top of the official image

Please refer to the Docker documentation.

c) Terraform + Ansible

Yes! reconFTW can also be easily deployed with Terraform and Ansible to AWS, if you want to know how to do it, you can check the guide here

⚙️ Config file

You can find a detailed explanation of the configuration file here 📖

  • Through
    reconftw.cfg
    file the whole execution of the tool can be controlled.
  • Hunters can set various scanning modes, execution preferences, tools, config files, APIs/TOKENS, personalized wordlists and much more.


:point_right: Click here to view default config file :point_left:

Usage

Check out the wiki section to know which flag performs what all steps/attacks Usage Guide 📖

TARGET OPTIONS

FlagDescription
-dSingle Target domain (example.com)
-lList of targets (one per line)
-mMultiple domain target (companyName)
-xExclude subdomains list (Out Of Scope)
-iInclude subdomains list (In Scope)

MODE OPTIONS

FlagDescription
-rRecon - Full recon process (without attacks like sqli,ssrf,xss,ssti,lfi etc.)
-sSubdomains - Perform only subdomain enumeration, web probing, subdomain takeovers
-pPassive - Perform only passive steps
-aAll - Perform whole recon and all active attacks
-wWeb - Perform only vulnerability checks/attacks on particular target
-nOSINT - Performs an OSINT scan (no subdomain enumeration and attacks)
-zZen - Performs a recon process covering the basics and some vulns
-cCustom - Launches specific function against target
-hHelp - Show this help menu

GENERAL OPTIONS

FlagDescription
--deepDeep scan (Enable some slow options for deeper scan, vps intended mode)
-fCustom config file path
-oOutput directory
-vAxiom distributed VPS
-qRate limit in requests per second
--check-toolsExit if one of the tools is missing

Example Usage

NOTE: this is applicable when you've installed reconFTW on the host (e.g. VM/VPS/cloud) and not in a Docker container.

To perform a full recon on single target

To perform a full recon on a list of targets

Perform full recon with more time intense tasks (VPS intended only)

Perform recon in a multi domain target

Perform recon with axiom integration

Perform all steps (whole recon + all attacks) a.k.a. YOLO mode

Show help section

Axiom Support ☁️

Check out the wiki section for more info Axiom Support

  • As reconFTW actively hits the target with a lot of web traffic, hence there was a need to move to Axiom distributing the work load among various instances leading to reduction of execution time.
  • During the configuration of axiom you need to select
    reconftw
    as provisoner.
  • You can create your own axiom's fleet before running reconFTW or let reconFTW to create and destroy it automatically just modifying reconftw.cfg file.

Faraday Support 💻

  • For Faraday community support, you need to install Faraday by yourself, authenticate in faraday-cli and set the workspace both in the config file and in the faraday-cli.

Sample video

Video

🔥 Features 🔥

Osint

Subdomains

Hosts

  • IP info (ipinfo)
  • CDN checker (ipcdn)
  • WAF checker (wafw00f)
  • Port Scanner (Active with nmap and passive with smap)
  • Port services vulnerability checks (vulners)
  • Password spraying (brutespray)
  • Geolocalization info (ipinfo.io)

Webs

Vulnerability checks

Extras

  • Multithreading (Interlace)
  • Custom resolvers generated list (dnsvalidator)
  • Docker container included and DockerHub integration
  • Ansible + Terraform deployment over AWS
  • Allows IP/CIDR as target
  • Resume the scan from last performed step
  • Custom output folder option
  • All in one installer/updater script compatible with most distros
  • Diff support for continuous running (cron mode)
  • Support for targets with multiple domains
  • Raspberry Pi/ARM support
  • 7 modes (recon, passive, subdomains, web, osint, zen and all)
  • Integration with FaradaySec for webUI and reporting
  • Out of Scope Support + optional inscope support
  • Notification system with Slack, Discord and Telegram (notify) and sending zipped results support

Mindmap/Workflow

Mindmap

Data Keep

Follow these simple steps to end up with a private repository with your

API Keys
and
/Recon
data.

Makefile

A

Makefile
is provided to quickly bootstrap a private repo. To use it, you'll need the Github CLI installed.

Once done, just run:

To sync your private repo with upstream:

To upload juicy recon data:

Manual

  • Create a private blank repository on

    Git(Hub|Lab)
    (Take into account size limits regarding Recon data upload)

  • Clone your project:

    git clone https://gitlab.com/example/reconftw-data

  • Get inside the cloned repository:

    cd reconftw-data

  • Create a new branch with an empty commit:

    git commit --allow-empty -m "Empty commit"

  • Add the official repo as a new remote:

    git remote add upstream https://github.com/six2dez/reconftw
    (
    upstream
    is an example)

  • Update upstream's repo:

    git fetch upstream

  • Rebase current branch with the official one:

    git rebase upstream/main master

Main commands

  • Upload changes to your personal repo:
    git add . && git commit -m "Data upload" && git push origin master
  • Update tool anytime:
    git fetch upstream && git rebase upstream/main master

How to contribute

If you want to contribute to this project, you can do it in multiple ways:

  • Submitting an issue because you have found a bug or you have any suggestion or request.
  • Making a Pull Request from dev branch because you want to improve the code or add something to the script.

Need help? ℹ️

Support this project

Buymeacoffee

DigitalOcean Referral Badge

GitHub sponsorship

Sponsor

Thanks 🙏

Disclaimer

Usage of this program for attacking targets without consent is illegal. It is the user's responsibility to obey all applicable laws. The developer assumes no liability and is not responsible for any misuse or damage caused by this program. Please use responsibly.

The material contained in this repository is licensed under MIT.

Star History