🔎Bring Your Own Provisioner

Ax comes with several Packer Provisioners (JSON or HCL), to help you get up and running quickly. However, once you become comfortable with the system, it is highly recommended to build your own Provisioner. This reduces the risk of a successful supply chain attack against the Default (and other) Provisioners.

To that point, its highly recommenced to create your own Provisioner. To quickly create your own Provisioner, we recommend using the Barebones Provisioner as a template. This Provisioner installs the following tools via apt get.

fail2ban ufw net-tools zsh zsh-syntax-highlighting zsh-autosuggestions jq build-essential python3-pip unzip git p7zip libpcap-dev rubygems ruby-dev grc

Oh My Zsh is also installed, followed by Golang, Docker, Interlace (required for One-Shot Modules) and nmap.

We are confident that this approach substantially reduces the risk, although this Provisioner (Barebones) doesn't come with many pre-installed tools.

Custom Provisioners:

JSON Provisioners need to be stored in ~/.axiom/images/json/provisioners/ and needs to end with .json

HCL Provisioners need to be stored in ~/.axiom/images/pkr.hcl/provisioners/ and needs to end with .pkr.hcl

One easy way to add extra tools is to copy and paste select lines from the Default or Extras Provisioners and add them to a copy of the Barebones Provisioner. It is recommended to add them to any line after the Optimizing SSH Connections section.

cp barebones.json new.json
nano new.json

Now that we have a new Provisioner with some our of favorite tools, SecList and Trickest DNS resolvers, we can run ax build --setup , select custom and enter the name of your new Provisioner.

ax build --setup

Or my personal preference just type ax build $name-of-new-Provisioner

ax build new

Last updated