BugRecon is an automated bug-hunting tool designed to streamline the reconnaissance phase of bug bounty hunting and penetration testing. It automates essential tasks like subdomain enumeration, port scanning, directory brute-forcing, vulnerability scanning, and screenshot capturing. This allows security researchers to focus on deeper analysis and exploitation, increasing both efficiency and effectiveness in identifying vulnerabilities.
- Target Input: Prompts the user to enter the target domain.
- Reconnaissance Depth: Allows you to choose between shallow, medium, or deep scanning levels.
- Subdomain Enumeration: Retrieves subdomains using crt.sh.
- Port Scanning: Identifies open ports with
nmap. - Directory Brute-Forcing: Discovers hidden directories using
ffuf. - Vulnerability Scanning: Detects common vulnerabilities like SQL Injection (SQLi) and Cross-Site Scripting (XSS).
- Screenshot Capturing: Captures screenshots of discovered web applications using
EyeWitness. - Report Generation: Compiles all findings into a comprehensive, easy-to-read report.
- Modular Design: Structured for easy expansion, allowing for the integration of additional features as needed.
Ensure that the following dependencies are installed on your system before using BugRecon:
-
Python 3.6+
-
Nmap
- Installation:
sudo apt-get install nmap
- Installation:
-
ffuf (Fuzz Faster U Fool)
- Installation:
go install github.com/ffuf/ffuf@latest
- Installation:
-
EyeWitness
- Installation:
git clone https://github.com/FortyNorthSecurity/EyeWitness.git cd EyeWitness/Python/setup python setup.py install
- Installation:
Install the required Python packages by running:
pip install -r requirements.txt-
Clone the Repository
Clone the BugRecon repository to your local machine:git clone https://github.com/freyxfi/BugRecon cd BugRecon -
Install Python Dependencies
Usepipto install all necessary Python dependencies:pip install -r requirements.txt
-
Ensure External Tools are Installed
Make sure thatnmap,ffuf, andEyeWitnessare installed and added to your system's PATH.
To run BugRecon, execute the following:
python bug_recon.pyYou will be prompted to enter the target domain and select the reconnaissance depth (shallow, medium, deep).
Detailed explanation on what each recon depth level (shallow, medium, deep) covers and how it customizes your scans.
An example of BugRecon in action:
BugRecon Report for example.com
Subdomains Found:
- subdomain1.example.com
- subdomain2.example.com
Open Ports:
- 80
- 443
Vulnerabilities:
- subdomain1.example.com (Port 80)
- Possible SQL Injection
- Possible XSSA detailed report will be generated after the scan in the following format:
Bug Recon Report for example.com
Subdomains Found:
- subdomain1.example.com
- subdomain2.example.com
Open Ports:
- 80
- 443
- 8080
Vulnerabilities:
- subdomain1.example.com (Port 80)
- Possible SQL Injection
- Possible XSS
- subdomain3.example.com (Port 443)
- Possible XSS
Contributions are welcome! Feel free to submit pull requests to enhance BugRecon. Follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Make your changes.
- Push to the branch (
git push origin feature-branch). - Submit a pull request.
This project is licensed under the MIT License.
Special thanks to all the contributors who have helped improve BugRecon!