This interactive script builds desired images, creating local volumes as needed:
- The
burp_share
volume holds the JAR file as well as project and user configuration options. - The
novnc_share
volume holds TLS certificates for thenovnc_client
andnovnc_server
machines. - The
x11_socket
volume links/tmp/.X11-unix
between theburp
andnovnc_server
containers for GUI display.
This interactive script runs desired images according to supplied parameters.
Note: to display
docker run
commands without executing them, issuerun.sh --print
Runs Burp Suite.
- If the docker host is your local machine, this image is all you need. You'll be able to access files through the local
burp_share
volume. - If the docker host is a remote machine, you will need the
sshd
image in order to access files. Theburp_share
volume will be mounted to~/burp_share
on thesshd
image.
- If the docker host is your local machine, and your local machine is running the X server with a unix socket at
/tmp/.X11-unix/X0
, this image is all you need. Userun.sh
to run the image, and the script will set up the necessary mounts. - If the docker host is your local machine, but your local machine is not running the X server, you will need the
novnc_client
andnovnc_server
images. Files can be accessed through theburp_share
andnovnc_share
volumes. - If the docker host is a remote machine, you will need all other images. The
burp_share
andnovnc_share
volumes will be mounted to~/burp_share
and~/novnc_share
on thesshd
image, respectively.
Note: when using the
novnc_client
andnovnc_server
images, you must establish the VNC connection prior to running theburp
image. Otherwise, the required X socket will not be available and Burp will fail to start.
Runs an SSH service with volume mounts for remote file management.
Building this image requires an authorized_keys
file containing allowed public keys for SSH connections.
The burp_share
and novnc_share
volumes will be mounted to ~/burp_share
and ~/novnc_share
on this image, respectively.
Runs an Apache web server to provide a noVNC client.
By default, it will generate a self-signed certificate. To supply your own certificate and keys, use the novnc_share
volume.
- Visit the address where
novnc_client
is running; e.g.,https://127.0.0.1:4433
. - Click on the settings icon (the little gear).
- Click Advanced to expand that section.
- Click WebSocket to expand that section.
- Enter the address where
novnc_server
is running; e.g.,https://127.0.0.1:6080
. - Finally, click the Connect button in the middle of the page.
When using a self-signed certificate for the novnc_server
image, you must first configure your browser to accept the certificate and proceed with the connection.
To do so, simply visit https://127.0.0.1:6080
, replacing 127.0.0.1
and 6080
as appropriate, if your novnc_server
instance is running remotely, or on a different socket.
Your browser will then display a warning, and provide the option to accept the self-signed certificate and proceed with the connection.
Upon doing so, you will receive an HTTP 405 response with the following content:
Error response
Error code 405.
Message: Method Not Allowed.
Error code explanation: 405 = Specified method is invalid for this resource..
This is expected and can be ignored. You can now follow the connection steps above.
Runs x11vnc
and websockify
to provide a VNC connection over WebSockets.
By default, it will generate a self-signed certificate for websockify
. To supply your own certificate and keys, use the novnc_share
volume.
To aid in troubleshooting, the entrypoint.sh
scripts for the burp
and novnc_server
images accept a --shell
parameter which causes the image to drop into bash
upon execution.
While this repository is MIT-Licensed, additional licensing considerations apply for the novnc_client
image. See its included LICENSE.txt
file for details.