This guide will help you deploy the Metalware firmware fuzzer as a Docker container locally or in the cloud.
1. Pre-Deployment Requirements
Before you run the Docker container, ensure that you have completed the following steps:
Minimum System Requirements:
- Memory: At least 8GB RAM
- CPU: At least 2 CPU cores (performance scales vertically)
Operating System:
- Linux distribution (e.g., Ubuntu, Amazon Linux 2) with Docker installed
Docker Installation:
- Ensure Docker is installed and running. Example (Ubuntu):
bashsudo apt-get update sudo apt-get install -y docker.io sudo systemctl start docker sudo systemctl enable docker
Networking:
- Ensure that your firewall or security groups allow traffic on the port you plan to use (default 8080 or your chosen alternative).
2. Load the Docker Image
Load the Metalware image (e.g.,
havoc-2.x.x.tar
) into your local Docker environment:bashdocker load -i havoc-2.x.x.tar
3. Running the Docker Container
The application runs on port 8080 by default, so we are going to have to forward it to make it accessible from the host. We are also going to create a volume called
havoc
to persist our data across image updates. This is also the step you pass in your license key:bashdocker run -p 0.0.0.0:8080:8080 -v havoc:/app/user-data -e HAVOC_LICENSE_KEY=<insert> havoc-v2:latest
You can alternatively forward it to a different port on the host:
bashdocker run -p 0.0.0.0:8082:8080 -v havoc:/app/user-data -e HAVOC_LICENSE_KEY=<insert> havoc-v2:latest
4. Verify That Metalware is Running
Open a browser and navigate to:
plain texthttp://<host ip>:<host port>
You should now see the home screen: