Skip to content

Advanced web fuzzer with machine learning capabilities, stealth features, and intelligent pattern generation.

Notifications You must be signed in to change notification settings

ghostsec420/PhantomFuzzer

Repository files navigation

PhantomFuzzer

⣿⣿⣿⣿⣿⣿⣿⣿⡿⣿⣿⣿⣿⣿⡿⢿⡿⠃⠀⡐⠀⠘⡻⠿⠋⠛⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⡏⠈⣤⡝⠛⢻⣷⡆⠀⠀⠀⠀⠀⣤⣧⠀⠀⠀⠀⠚⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣿⡇⡀⠀⢴⣮⡀⠉⠁⠀⠀⠀⠀⠁⣹⠛⠋⠉⣰⢄⣠⣿⣿⣿⣿⣿⡿⡿⠿⢿⡿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⡿⠿⢇⣗⠀⢈⠙⣷⠀⡐⢀⠀⡀⠀⢀⣴⣦⡄⢂⢀⣺⣿⣿⣿⣿⠏⠁⣠⣤⣤⣤⣭⣕⡲⣌⡋⠻⠿⠿⠿⠛⠛⣛ ⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠾⢯⡙⢇⠀⢃⢀⣀⠢⡿⠋⢐⠶⠇⣿⣿⣿⣿⠟⠁⣺⣿⣿⣿⣿⣿⣿⣿⣷⣵⡛⣃⣀⣠⣀⣠⣾⣿ ⣿⣿⣿⣿⣿⣷⠀⠀⢸⣦⠀⠀⠉⠂⠁⢆⣌⠆⡆⢷⡍⠹⠷⠸⠿⠿⠏⠁⣤⡌⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⣿⣆⠀⠀⠻⣷⣦⡀⠀⢠⠂⢾⠀⠀⠀⠀⢀⠂⠀⣤⣶⣾⣿⣿⣿⣶⣤⣤⣤⣨⡙⢿⣿⣿⣿⣿⣿⢿⣿⣿⣿⣿⣿ ⣿⣿⣿⣿⣿⠟⠁⠀⠀⠀⠚⠋⢠⣾⣿⡼⣹⣮⣤⣰⡶⠏⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⣼⣿⣻⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⡿⢡⣏⡇⠀⠀⠀⢀⢰⣰⢿⡛⠣⠆⢿⣿⣿⠇⠀⠀⠈⠻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⡇⣸⡇⠿⠀⠀⠀⡀⠸⡀⠘⠃⠀⠀⢾⢿⠇⠀⠀⠀⢀⢰⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⢃⣿⡻⡀⣣⠀⠀⠀⠂⠁⠈⠈⠀⠘⠀⠄⣽⠐⠃⠀⠈⡈⢀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣿⣿⠸⣿⣷⢄⠀⠱⡄⠀⠀⠀⢿⣷⣷⠀⠔⠈⠁⠀⠀⠀⣘⠁⠘⠻⠿⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⠋⠴⣬⣨⠣⣾⣷⣥⡽⠆⠀⠀⠁⠉⠀⠀⠀⠀⢀⠀⠀⣼⠁⠀⢀⣄⡦⠭⠤⠶⠤⣬⣍⣻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⣧⣤⣿⡟⢄⡙⠛⠉⠁⢃⠐⠀⠀⠀⠀⠀⠜⠀⠈⣀⡿⠋⠀⣸⡿⠛⠁⠀⠀⠘⠀⢉⠉⠹⢿⢟⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ ⡿⣿⣿⣿⣎⠀⠀⠀⠀⠘⠀⠁⠀⠀⠀⠀⠀⠀⠀⠟⠑⠀⠀⠈⠀⠀⠀⠀⠠⢤⠤⣨⣷⡀⠀⣚⡋⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿

PhantomFuzzer is an advanced security testing toolkit that combines traditional fuzzing techniques with machine learning capabilities to detect vulnerabilities in web applications, APIs, protocols, and files.

Features

  • Comprehensive Fuzzing: Multiple fuzzer types for API, protocol, and input fuzzing
  • Advanced Scanning: Web application, API, and file scanning capabilities
  • Payload Generation: Extensive library of attack payloads for various vulnerability types
  • Machine Learning Integration: Enhanced detection using ML algorithms (in development)
  • Extensible Architecture: Modular design for easy extension with new capabilities

Installation

Prerequisites

  • Docker (version 19.03 or higher)
  • Git (for cloning the repository)
  • Bash shell

Setup

  1. Clone the repository:

    git clone https://github.com/ghostsec420/PhantomFuzzer.git
    cd PhantomFuzzer
  2. Run the installation script:

    ./install.sh

    This script will:

    • Build the Docker image with all dependencies
    • Create a wrapper script that allows you to use the phantomfuzzer command
    • Set appropriate permissions
  3. Verify the installation:

    phantomfuzzer --help

Usage Guide

PhantomFuzzer has three main command groups:

  • scanner: Run various types of scanners against targets
  • fuzzer: Test applications for vulnerabilities by sending unexpected inputs
  • payload: Generate attack payloads for security testing

Global Options

PhantomFuzzer provides several global options to control output verbosity and formatting:

# Show minimal output (only critical messages and results)
phantomfuzzer --quiet [command]

# Show more detailed output
phantomfuzzer --verbose [command]

# Show all debug information
phantomfuzzer --debug [command]

# Disable colored output
phantomfuzzer --no-color [command]

You can combine these options as needed:

phantomfuzzer --verbose --no-color scanner web --url https://example.com

Scanning Operations

Web Application Scanning

PhantomFuzzer allows you to scan web applications for vulnerabilities:

Basic Web Scanning
phantomfuzzer scanner web --url https://example.com
Scan with Authentication
phantomfuzzer scanner web --url https://example.com --auth '{"username":"user","password":"pass"}'
Control Scan Depth
phantomfuzzer scanner web --url https://example.com --depth 2
Save Results to a File
phantomfuzzer scanner web --url https://example.com --output web_results.json --format json

API Scanning

Scan your APIs for potential vulnerabilities:

phantomfuzzer scanner api --url https://api.example.com
With OpenAPI/Swagger Specification
phantomfuzzer scanner api --url https://api.example.com --spec openapi.json
With Authentication
phantomfuzzer scanner api --url https://api.example.com --auth '{"token":"your-api-token"}'
Save Results to a File
phantomfuzzer scanner api --url https://api.example.com --output api_results.json --format json

File Scanning

Scan files and directories for vulnerabilities:

Scan a Single File
phantomfuzzer scanner file --path ./target/file.php
Recursive Directory Scan
phantomfuzzer scanner file --path ./target --recursive
Scan with File Pattern Matching
phantomfuzzer scanner file --path ./target --recursive --pattern "*.php"
Enable Machine Learning Enhanced Detection
phantomfuzzer scanner file --path ./target --ml-enhanced
Save Results to a File
phantomfuzzer scanner file --path ./target --output file_results.json --format json

Fuzzing Operations

API Fuzzing

PhantomFuzzer provides the ability to fuzz APIs by sending crafted requests. Here's how to perform API fuzzing:

Basic API Fuzzing
phantomfuzzer fuzzer api --target https://api.example.com/v1/users --method GET
POST Request Fuzzing
phantomfuzzer fuzzer api --target https://api.example.com/v1/users --method POST --data '{"username":"test"}'
Fuzz with Custom Headers
phantomfuzzer fuzzer api --target https://api.example.com/v1/users --headers '{"Authorization":"Bearer token"}'
With Authentication
phantomfuzzer fuzzer api --target https://api.example.com/v1/users --auth '{"username":"user","password":"pass"}'
Control Fuzzing Intensity
phantomfuzzer fuzzer api --target https://api.example.com/v1/users --iterations 200 --delay 0.2 --timeout 10
Save Results to a File
phantomfuzzer fuzzer api --target https://api.example.com/v1/users --output results.json --format json

Protocol Fuzzing

You can fuzz different protocols like TCP, SSH, and FTP. Below are examples:

TCP Protocol Fuzzing
phantomfuzzer fuzzer protocol --target example.com --port 80 --protocol tcp
SSH Protocol Fuzzing
phantomfuzzer fuzzer protocol --target example.com --port 22 --protocol ssh
FTP Protocol Fuzzing
phantomfuzzer fuzzer protocol --target example.com --port 21 --protocol ftp
Control Protocol Fuzzing Intensity
phantomfuzzer fuzzer protocol --target example.com --port 80 --protocol http --iterations 100 --delay 0.5 --timeout 15

Input Fuzzing

You can fuzz various types of inputs, including files, stdin, and command-line arguments.

File Input Fuzzing
phantomfuzzer fuzzer input --target ./target/application --input-type file
Command-Line Argument Fuzzing
phantomfuzzer fuzzer input --target ./target/application --input-type argument
Save Results to a File
phantomfuzzer fuzzer input --target ./target/application --input-type file --output input_results.json --output-format json

Payload Generation

PhantomFuzzer allows you to generate different types of attack payloads for various categories. Here's how you can use it:

List Available Payload Categories

phantomfuzzer payload list

Generate Specific Payloads

SQL Injection (Basic)
phantomfuzzer payload generate --category sql_injection --subcategory basic
Generate Multiple XSS Payloads
phantomfuzzer payload generate --category xss --count 5 --output xss_payloads.txt
Generate Command Injection Payloads in JSON Format
phantomfuzzer payload generate --category command_injection --format json

Generate Random Payloads

phantomfuzzer payload random --count 3

Advanced Usage

Combining Operations

You can chain multiple operations for more comprehensive testing:

# Generate payloads and use them for API fuzzing
phantomfuzzer payload generate --category sql_injection --output sql_payloads.txt
phantomfuzzer fuzzer api --target https://api.example.com/query --method POST --data @sql_payloads.txt

# Scan and then fuzz discovered endpoints
phantomfuzzer scanner api --url https://api.example.com --output discovered_apis.json
phantomfuzzer fuzzer api --target https://api.example.com/query --method POST --data @discovered_apis.json

Debug Mode

Enable debug logging for more detailed output:

phantomfuzzer --debug scanner web --url https://example.com

Debug Mode

Enable debug logging for more detailed output:

phantomfuzzer --debug scanner web --url https://example.com

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

Advanced web fuzzer with machine learning capabilities, stealth features, and intelligent pattern generation.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages