Deploying a private Burp Collaborator server

Follow the steps on this page to set up your own private instance of the Collaborator server. This may be useful in the following situations:

General setup

To launch a Collaborator server instance that supports all Collaborator functionality, you need to:

Once you have completed these steps, we recommend that you run the Collaborator health check.

Setting up the domain and DNS records

To access full Collaborator-related functionality, you need to obtain a domain and configure Collaborator to use the domain. The Collaborator server then runs a DNS service for your domain.

Note

Alternatively, you can configure the Collaborator server to use an IP address instead of a domain. However, this is less effective at detecting vulnerabilities, as any Collaborator-related functionality that relies on DNS resolution is not available.

To obtain the domain or subdomain for the Collaborator server to use, you could:

To configure the Collaborator server to use the domain, you need to:

You can generally set the Collaborator server as authoritative on your domain registrar's web interface. Speak to your domain provider for assistance. You also need to:

Note

You can't edit the host file of the target server to avoid the use of the Collaborator DNS service. Host files do not support wildcards and so can't be used to route queries with randomly generated subdomains.

Setting up the ports and firewall

By default, Burp Collaborator server listens on the following ports:

To make sure the server operates correctly, you need to:

Changing the ports

You may wish to change the ports from their defaults if you're using a different server, or if you are on a Unix-based system and want to run the Collaborator server as a non-root user.

To change the ports, edit the ports value in the eventCapture and dns fields of your configuration file. You can enter a single port value or multiple values. You can also do this in the polling field if you've configured a separate polling interface.

You also need to:

Setting up your server resources

You need to make two key decisions when you set up the Collaborator server:

Controlling memory usage

To control how much memory your computer assigns to the Collaborator server, you can configure the JVM's memory handling and garbage collection. To do this, add the --collaborator-server argument to the command line when you launch the Burp Suite JAR. For example:

Related pages

Setting up the configuration file

You need to write a configuration file to set up the Collaborator server. This file enables you to configure all options for the server.

Generally, you need to save the file under the name collaborator.config in the current working directory. By default, the Collaborator server looks for this file. To override this, amend the --collaborator-config argument in the command line. For example:

sudo java -jar /path/to/file.jar --collaborator-server --collaborator-config=myconfig.config

Related pages

Launching the Collaborator server

To launch a Collaborator server with a custom configuration file, add the following argument to the command line:

--collaborator-config=myconfig.config

You don't need a license key to run your own instance of the server. The Collaborator server is included in the same executable file as Burp Suite Professional itself.

Once you've launched your server, you need to tell Burp where to find it:

Related pages

Health check and troubleshooting

Before you start using your server, run the Collaborator health check to determine whether Burp is likely to be able to make use of Collaborator's features. You can find this under Project > Collaborator in the Settings dialog.

Our troubleshooting guide may help you address any issues raised in the health check.

Related pages

Collaborator settings.

Basic setup

You can launch a basic Collaborator server instance without a configuration file and dedicated domain. This enables you to use basic Collaborator features to detect issues like external HTTP interactions. This setup may be useful for an individual or small team working on a closed network with no internet access.

Note

This setup doesn't support custom DNS resolution or valid trusted HTTPS connections.

To launch a basic Collaborator setup:

  1. Add the --collaborator-server argument to the command line. For example: sudo java -jar /path/to/file.jar --collaborator-server
  2. Configure Burp to use your machine's IP address as its Collaborator server:

Related pages