Skip to content
This repository was archived by the owner on May 1, 2025. It is now read-only.
/ reconthing Public archive

An automated web reconnaissance tool that delivers your essential tools directly through Discord for effortless access.

License

Notifications You must be signed in to change notification settings

caffeinedoom/reconthing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ReconThing

The tool is currently in development. For any questions or ideas, feel free to contact me at [email protected].

Docker Python Discord FastAPI PostgreSQL Ubuntu

An automated web reconnaissance tool that delivers your essential tools directly through Discord for effortless access.

Demo

ReconThing Demo

Current Tooling Support (on-development):


Table of Contents

  1. Features

  2. Tested Environment

  3. Prerequisites

  4. Installation

  5. Usage

  6. Environment Variables

  7. Contact


Features

Core Capabilities

  • Automated subdomain enumeration using subfinder
  • DNS resolution with dnsx integration
  • HTTP/HTTPS service probing using httpx
  • Comprehensive reconnaissance workflow

Interfaces

  • Discord bot for easy command execution
  • RESTful API for programmatic access
  • Interactive command-line interface

Data Management

  • PostgreSQL database for result persistence
  • CSV export capabilities
  • Efficient data retrieval system

Deployment

  • Docker Compose support
  • Easy configuration via environment variables
  • Scalable architecture

Tested Environment

Ubuntu

Prerequisites

Before you begin, ensure you have:

  • Python 3.11 or higher installed
  • PostgreSQL 15 or higher installed
  • Docker and Docker Compose installed
  • Discord Bot Token (Create one here)
  • Git installed (for cloning the repository)

For Ubuntu installation of prerequisites:

# Update system
sudo apt update && sudo apt upgrade -y

# Install Python
sudo apt install python3.11 python3.11-venv python3-pip -y

# Install PostgreSQL
sudo apt install postgresql postgresql-contrib -y

# Install Docker
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USER

# Install Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

Installation

Initial Setup

  1. Clone the Repository

    git clone https://github.com/yourusername/reconthing.git
    cd reconthing
  2. Choose Your Environment File

    # For Docker deployment
    cp .env.docker.example .env.docker
    # For local deployment
    cp .env.local.example .env.local
  3. Configure Your Environment Variables Edit your chosen .env file and fill in the required values:

    DB_USER=your_db_user
    DB_PASSWORD=your_secure_password
    DB_HOST=db             # Use 'db' for Docker, 'localhost' for local
    DB_NAME=your_db_name
    API_HOST=api          # Use 'api' for Docker, 'localhost' for local
    API_PORT=8000
    DISCORD_BOT_TOKEN=your_discord_bot_token

Choose Your Deployment Method

🐋 Docker Deployment
  1. Start the Services

    docker-compose up -d
  2. Verify All Services are Running

    docker-compose ps
  3. Check the Logs

    # View all logs
    docker-compose logs -f
    
    # View specific service logs
    docker-compose logs -f api        # For API logs
    docker-compose logs -f discord_bot # For Discord bot logs
    docker-compose logs -f db         # For Database logs
  4. Stopping the Services

    docker-compose down
💻 Local Environment
  1. Set up Python Virtual Environment

    python -m venv .venv
    source .venv/bin/activate  # Linux/Mac
    # or
    .venv\Scripts\activate    # Windows
  2. Install Python Dependencies

    pip install -r requirements.txt
  3. Install Required Tools

    # Install Go
    wget https://golang.org/dl/go1.21.6.linux-amd64.tar.gz
    sudo tar -C /usr/local -xzf go1.21.6.linux-amd64.tar.gz
    export PATH=$PATH:/usr/local/go/bin
    
    # Install reconnaissance tools
    go install -v github.com/projectdiscovery/subfinder/v2/cmd/subfinder@latest
    go install -v github.com/projectdiscovery/dnsx/cmd/dnsx@latest
    go install -v github.com/projectdiscovery/httpx/cmd/httpx@latest
  4. Configure PostgreSQL

    # Start PostgreSQL service
    sudo systemctl start postgresql
    sudo systemctl enable postgresql
    
    # Create database and user
    sudo -u postgres psql -c "CREATE DATABASE your_db_name;"
    sudo -u postgres psql -c "CREATE USER your_db_user WITH PASSWORD 'your_password';"
    sudo -u postgres psql -c "GRANT ALL PRIVILEGES ON DATABASE your_db_name TO your_db_user;"
  5. Start the Services

    # Terminal 1: Start the API
    uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
    
    # Terminal 2: Start the Discord Bot
    python -m bot.bot
  6. Verify Installation

    • API should be accessible at: http://localhost:8000
    • Discord bot should show as online in your Discord server
    • Check the logs in the logs directory

Verification

After either deployment method, verify your installation:

  1. API Health Check

    curl http://localhost:8000
    # Should return: {"message":"Welcome to Reconthing API"}
  2. Discord Bot

    • Send !help in your Discord server
    • Bot should respond with available commands
  3. Check Logs

    • Look for any errors in the logs/bbrf.log file
    • All services should be running without errors

If you encounter any issues during installation, please check the Troubleshooting section or open an issue on GitHub.


Usage

Discord Bot Commands

Command Description Example
!help Show available commands !help
!basicrecon Full reconnaissance !basicrecon example.com
!subdomain Enumerate subdomains !subdomain example.com
!getsubdomain Retrieve subdomains !getsubdomain example.com
!dns DNS resolution !dns example.com
!getdns Get DNS results !getdns example.com
!http HTTP probing !http example.com
!gethttp Get HTTP results !gethttp example.com

Command Flags

Flag Description
-csv Export results in CSV format
-all Include all available data (DNS queries)

Environment Variables

Details
Variable Description Default
DB_USER Database username -
DB_PASSWORD Database password -
DB_HOST Database host localhost
DB_NAME Database name -
API_HOST API host localhost
API_PORT API port 8000
DISCORD_BOT_TOKEN Discord bot token -

Contact

Sam Paredes - @caffeinedoom

Project Link - Pluckware - ReconThing


Made with passion by Sam Paredes

About

An automated web reconnaissance tool that delivers your essential tools directly through Discord for effortless access.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages