Need help with pwn-machine?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

148 Stars 16 Forks GNU General Public License v3.0 16 Commits 6 Opened issues


The Pwning Machine

Services available


Need anything else?

Contributors list

No Data


PwnMachine is a self hosting solution based on docker aiming to provide an easy to use pwning station for bughunters.

The basic install include a DNS server, a reverse proxy and a webserver.


On your home computer

  • docker-machine
  • sshfs (optional)
  • python3
  • docker-compose

You need to create a docker-machine for your server.

docker-machine create \ 
 --driver generic \
 --generic-ip-address= \
 --generic-ssh-user=root \
 --generic-ssh-key=/home/user/.ssh/id_rsa \

For more information:

On your server

required available port: * tcp:

* udp:

On a fresh Ubuntu server installation systemd listen on port 53 you will need to shut the service down and change your dns.

systemctl disable --now systemd-resolved.service
echo "nameserver" > /etc/resolv.conf #opendns servers


You must set your host as your authoritative nameserver. You must wait for the DNS propagation or the domain verification by let's encrypt will fail.


First install the pm client.

pip install pwn-machine

or for a cutting edge build:

git clone
cd pwn-machine
pip install .

On your first run you need to setup PwnMachine with

pm setup

This will start an interactive installer. The installer will create the configuration directory and add the required environment variable and autocompletion to your shell init file.

Then you can build and start all your services.

pm service build
pm service start
You can check that everything is running with
pm ps

Check the wiki for more informations.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.