Burp Bounty Go

Burp Bounty Go - Documentation

Official Documentation

Comprehensive guide for the deployment, configuration, and advanced usage of the distributed vulnerability scanner by Bounty Security.


1. Introduction

Burp Bounty Go represents the evolution of web security scanning. Designed to seamlessly integrate into Burp Suite, this tool breaks traditional performance limitations by delegating scanning logic to a powerful engine written in Golang.

This architecture allows security researchers and Red Teaming teams to automate complex attacks, perform large-scale vulnerability discovery, and detect blind vulnerabilities without compromising their main workstation resources.

1.1 Overview & Key Features

Why Choose Burp Bounty Go?

  • Extreme Performance: Golang engine capable of processing over 10,000 requests/second.
  • Horizontal Scalability: Run multiple scanning servers locally or on remote VPSs from a single interface.
  • Multi-Step Profiles: Define complex attack chains to reduce false positives.
  • Integrated Blind Host: Native detection of OOB (Out-Of-Band) vulnerabilities without external services.
  • Total Control: Granular customization of payloads, encoding, and injection points.

2. Quick Start Guide

Follow these steps to configure and start scanning in minutes.

Step 1: Load the Extension

In Burp Suite, navigate to the Extensions tab and load the burp-bounty-go.jar file.

Burp Bounty Go in main menu
You will see the "Burp Bounty Go" tab in the main menu once loaded.

Step 2: Configure Profiles Directory

  1. Go to Burp Bounty > Options.
  2. In the "Burp Bounty Data" section, click Directory.
  3. Select the folder containing your profiles (`BurpBountyData`) and click Reload.
Burp Bounty Go Options
Ensure you click "Reload" to load profiles into memory.

Step 3: Configure License (Pro Only)

Before starting the server, you must export your license key as an environment variable.

Linux / macOS:
export GBOUNTY_LICENSE_KEY="YOUR_LICENSE_KEY"
Windows (PowerShell):
$env:GBOUNTY_LICENSE_KEY="YOUR_LICENSE_KEY"

3. GBounty Server Execution

The server can run locally or on a remote VPS. Use the following commands depending on your scenario (default port is 8321).

Scenario A: Local Server (Localhost)

Ideal for quick testing or development.

./gbounty-server -ip 127.0.0.1 -port 8321

Output: INFO Server listening at... 127.0.0.1:8321

Scenario B: Remote Server (VPS)

For scanning from an external IP or distributing load.

./gbounty-server -ip 0.0.0.0 -port 8321
Note: Ensure port 8321 is open in your VPS firewall.

Server Options Reference

Complete list of flags available via gbounty-server -h:

Flag Description Default
-ip Server address to listen on. localhost
-port Server port. 8081
-scan-logs-dir Re-define the temporary directory where the scans' logs will be written. System Temp
-scan-logs-save If specified, the scans' logs directory will be persisted even when the server is shut down. false
-server-logs-fmt Re-define the format for the server (HTTP) logs. Values: console, json. console
-server-logs-lvl Re-define the level for the server logs. Values: error, info, verbose, debug. info
-server-logs-out Define an output (file) for the server logs. /dev/stdout
-update Update the server to the latest version. N/A
-v If specified, the scans' logger will write warning and error log messages. false
-vv If specified, the scan's logger will write info, warning and error log messages. false
-vvv If specified, the scan's logger will write debug, info, warning and error log messages. false

Final Step: Connect Extension

  1. Go to Options > GBounty Servers in Burp.
  2. Click Add.
  3. Enter IP (e.g., 127.0.0.1) and Port (e.g., 8321).
  4. Verify status is ✅ Healthy.

4. Active Profiles

Active profiles perform intrusive scanning by injecting payloads. They support multi-step logic.

1. Request & Insertion Points

Define the base request structure and where payloads will be injected.

  • Request Type: Original Request (modifies intercepted) or Raw Request (custom static).
  • Insertion Point (Multi-Step):
    • Same: Attacks only the parameter vulnerable in the previous step.
    • Any: Tests all defined points.

2. Payloads

Configure the attack vectors.

Payloads Tab Configuration
Payload list and position configuration.
  • Position: Replace (Fuzzing), Append (Injection), Insert.
  • Encoder: Automatically encode payloads (URL, HTML, Base64) before sending.

4. Grep (Detection)

Rules to determine if an attack was successful.

Match Type Description
Simple String Exact text match in response body.
Regex Complex pattern matching (e.g., emails).
Status Code HTTP Code match (200, 500, 403).
Time Delay Slow response detection (Time-Based SQLi).
Blind Host Interaction with internal collaborator {BH}.

5. Passive Profiles

Analyze traffic without sending new requests. Ideal for information gathering.

Passive Profile Editor
Example of Regex rule in a passive profile.
  • Passive Request: Analyzes outgoing requests (e.g., missing headers, secrets in URL). Configured via 'Insertion Point Type' in Grep.
  • Passive Response: Analyzes incoming responses (e.g., software version disclosure). Configured via 'Match Type' in Grep.

6. Operations

Running Scans

Right-click on any request in Burp Suite (Proxy, Repeater, Site Map).

Context Menu
Launch scans grouped by Tags.

Select Extensions > Burp Bounty > Active/Passive Scan and choose the desired Tag.

Blind Host ({BH}) & Variables

Blind Host System

Use the {BH} token in your payloads. The system generates a unique OOB interaction domain. Any DNS/HTTP interaction with this domain is automatically reported as a vulnerability.

Global Variables

Define dynamic tokens in the Variables tab:

  • {RANDOM}: Unique random string per request.
  • {CURRENT_HOST}: The current target hostname.
  • {CUSTOM}: User-defined variables.

8. Troubleshooting

Status "Unreachable":
The Go server is not running, or the port/IP in Options is incorrect. Verify the terminal output.
Status "Unauthorized":
License error. Ensure GBOUNTY_LICENSE_KEY was exported correctly before starting the server.

Documentación Oficial

Guía completa para el despliegue y uso del escáner distribuido de Bounty Security.


1. Introducción

Burp Bounty Go representa la evolución del escaneo de seguridad web. Diseñado para integrarse perfectamente en Burp Suite, esta herramienta rompe las limitaciones de rendimiento tradicionales al delegar la lógica de escaneo a un potente motor escrito en Golang.

Esta arquitectura permite a los investigadores de seguridad automatizar ataques complejos y realizar descubrimiento a gran escala sin comprometer los recursos de su equipo.

1.1 Características Clave

¿Qué hace único a Burp Bounty Go?

  • Rendimiento Extremo: Procesamiento de más de 10,000 peticiones/segundo.
  • Escalabilidad: Ejecuta múltiples servidores locales o remotos (VPS).
  • Perfiles Multi-Step: Cadenas de ataque complejas para reducir falsos positivos.
  • Blind Host Integrado: Detección nativa de OOB (Out-Of-Band).
  • Control Total: Personalización granular de payloads y codificación.

2. Guía de Inicio Rápido

Siga estos pasos para configurar y empezar a escanear en cuestión de minutos.

Paso 1: Cargar la Extensión

En Burp Suite, navegue a la pestaña Extensions y cargue el archivo burp-bounty-go.jar.

Burp Bounty Go en el menú principal
Verás la pestaña "Burp Bounty Go" en el menú principal una vez cargada.

Paso 2: Configurar Directorio de Perfiles

  1. Vaya a Burp Bounty > Options.
  2. En la sección "Burp Bounty Data", haga clic en Directory.
  3. Seleccione la carpeta BurpBountyData y pulse Reload.
Burp Bounty Go Options
Pulse "Reload" para cargar las reglas.

Paso 3: Configurar Licencia (Solo Pro)

Antes de iniciar el servidor, exporte su clave de licencia.

Linux / macOS:
export GBOUNTY_LICENSE_KEY="SU_CLAVE_DE_LICENCIA"
Windows (PowerShell):
$env:GBOUNTY_LICENSE_KEY="SU_CLAVE_DE_LICENCIA"

3. Ejecución del Servidor (GBounty Server)

El servidor puede ejecutarse localmente o en un VPS. Use el puerto 8321 según la guía rápida.

Escenario A: Servidor Local

Ideal para pruebas rápidas.

./gbounty-server -ip 127.0.0.1 -port 8321

Escenario B: Servidor Remoto (VPS)

Para escanear desde una IP externa.

./gbounty-server -ip 0.0.0.0 -port 8321
Nota: Abra el puerto 8321 en el firewall del VPS.

Referencia de Opciones del Servidor

Lista completa de opciones de gbounty-server -h:

Flag Descripción Default
-ip Dirección IP de escucha localhost
-port Puerto de escucha 8081
-scan-logs-dir Directorio de logs temporales System Temp
-scan-logs-save Persistir logs tras cierre false
-server-logs-fmt Formato de logs (console, json) console
-server-logs-lvl Nivel de detalle (error, info, debug) info
-server-logs-out Archivo de salida de logs /dev/stdout
-update Actualizar servidor N/A
-v Log warnings y errores false
-vv Log info, warnings y errores false
-vvv Log debug, info, warnings y errores false

Paso Final: Conectar Extensión

  1. Vaya a Options > GBounty Servers.
  2. Pulse Add.
  3. Ingrese la IP (ej. 127.0.0.1) y el Puerto (ej. 8321).
  4. Verifique el estado ✅ Healthy.

4. Active Profiles

Realizan ataques intrusivos enviando payloads. Soportan múltiples pasos (Steps).

1. Request & Puntos de Inserción

  • Request Type: Original Request o Raw Request.
  • Insertion Point (Multi-Step):
    • Same: Ataca solo el parámetro vulnerado en el paso previo.
    • Any: Prueba todos los puntos.

2. Payloads

Configuración de Payloads
Lista de payloads y configuración de posición.
  • Position: Replace, Append, Insert.
  • Encoder: Codificación automática (URL, HTML, Base64).

4. Grep (Detección)

Tipo Descripción
Simple String Texto exacto en respuesta.
Regex Patrones complejos.
Status Code Código HTTP (200, 500).
Time Delay Respuesta lenta (SQLi).
Blind Host Interacción con colaborador {BH}.

5. Passive Profiles

Analizan el tráfico sin enviar nuevas peticiones.

Editor Perfil Pasivo
Ejemplo de regla Regex en perfil pasivo.
  • Passive Request: Analiza peticiones salientes (ej. leaks de info).
  • Passive Response: Analiza respuestas entrantes (ej. versiones).

6. Operaciones

Ejecutar Escaneos

Clic derecho en cualquier petición en Burp.

Menú Contextual
Lanzamiento de escaneos por Tag.

Seleccione Extensions > Burp Bounty > Active/Passive Scan y elija el Tag.

Blind Host ({BH}) & Variables

Blind Host System

Detecta vulnerabilidades OOB. Inserta {BH} en tus payloads (ej. ping {BH}). El sistema generará un dominio único y alertará si recibe interacciones DNS/HTTP.

Variables Globales

Tokens dinámicos:

  • {RANDOM}: Cadena aleatoria única.
  • {CURRENT_HOST}: Hostname actual.
  • {CUSTOM}: Variables de usuario.

8. Solución de Problemas

Estado "Unreachable":
El servidor Go no corre o el puerto es incorrecto. Verifique la terminal.
Estado "Unauthorized":
Error de licencia. Exporta GBOUNTY_LICENSE_KEY antes de iniciar el servidor.