wiki
  • 👋Welcome to the Ax Framework Wiki
  • Overview
    • ✅Existing Users
    • 💿Installation Guide
    • 💻Ax Controller
    • 💡How it Works
    • ▶️QuickStart Guide
      • Configure Ax Controller
      • Build a Base Image
      • Deploy Instances
      • List Instances
      • Run Scans
      • Teardown Instances
  • Fundamentals
    • 🛠️Ax Utility Scripts
    • 🔎Bring Your Own Provisioner
    • ⚔️Fleets
    • 🚀Scans
      • 🤖Modules
        • 📤Adding Simple Modules
        • 🎯Adding One-Shot Modules
        • 📎Merging and Module Extensions
      • ⚙️Horizontal vs Vertical Scaling
    • 🤝Responsibility
    • 📖Terminology
Powered by GitBook
On this page
  • axiom-build
  • Example Usage
  • Usage
  • Provisoners
  • Custom Images
  1. Overview
  2. QuickStart Guide

Build a Base Image

axiom-build

Pick a Packer provisioner 🐣

Running this may not be necessary if axiom-configure --run completed successfully.

Example Usage

# axiom-build default

Usage

# axiom-build -h

 █████╗ ██╗  ██╗    ██████╗ ██╗   ██╗██╗██╗     ██████╗
██╔══██╗╚██╗██╔╝    ██╔══██╗██║   ██║██║██║     ██╔══██╗
███████║ ╚███╔╝     ██████╔╝██║   ██║██║██║     ██║  ██║
██╔══██║ ██╔██╗     ██╔══██╗██║   ██║██║██║     ██║  ██║
██║  ██║██╔╝ ██╗    ██████╔╝╚██████╔╝██║███████╗██████╔╝
╚═╝  ╚═╝╚═╝  ╚═╝    ╚═════╝  ╚═════╝ ╚═╝╚══════╝╚═════╝

Maintainer: 0xtavian

𝓫𝓪𝓼𝓲𝓬𝓪𝓵𝓵𝔂, 𝓪𝔁𝓲𝓸𝓶: 𝓽𝓱𝓮 𝓭𝔂𝓷𝓪𝓶𝓲𝓬 𝓲𝓷𝓯𝓻𝓪𝓼𝓽𝓻𝓾𝓬𝓽𝓾𝓻𝓮 𝓯𝓻𝓪𝓶𝓮𝔀𝓸𝓻𝓴 𝓯𝓸𝓻 𝓮𝓿𝓮𝓻𝔂𝓫𝓸𝓭𝔂! - @𝓹𝓻𝔂0𝓬𝓬 @0𝔁𝓽𝓪𝓿𝓲𝓪𝓷 

Description:
  axiom-build supports both legacy Packer JSON files as well as the new HCL format
  axiom-build combines a cloud provider's Builder (~/.axiom/images/$format/builders) with a Provisioner (~/.axiom/images/$format/provisioners)
  to generate the final Packer file (~/.axiom/images/$format/axiom.$format)
  Using Packer, axiom-build creates an image with the tools pre-installed, as defined by the chosen Provisioner
  Choose between multiple Provisioners (barebones, default, reconftw, and extras) or bring your own (custom)

  axiom-build adds your SSH key to the image, allowing you to connect to instances created using the image
  By default, it creates and uses an SSH key located at ~/.ssh/axiom_ssh.pub, but you can specify a custom SSH key if needed
Examples:
  axiom-build --run # Kick off the interactive build wizard
  axiom-build default # Build a new Packer image using the Default Provisioner
  axiom-build barebones --debug # Build a new Packer image using the Barebones Provisioner, run with --debug
  axiom-build --ssh-key ~/.ssh/id_rsa.pub # Set a custom SSH key (default is SSH key in ~/.ssh/axiom_ssh.pub)
Usage:
  <provisioner> (optional)
    Name of provisioner to build, options are barebones, default, reconftw, extras or custom (provisioner must be located in ~/.axiom/images/$format/provisioners)
  --run (optional)
    Start axiom-build setup wizard
  --legacy (optional)
    Use legacy Packer JSON Builder and Provisioner instead of pkr.hcl
  --ssh-key <file to pub key> (optional)
    Build the image using a custom SSH key (instead of using the default ssh key axiom creates ~/.ssh/axiom_ssh.pub)
  --debug (optional)
    Enable debug mode (VERY VERBOSE!)
  --help (optional)
    Display this help menu

Provisoners

You can provide your provisioner inline or after running axiom-build --run.

We currently offer four different base provisioner files to build images.

  • Default is our latest iteration of axiom provisioners. It comes with all tools installed and has been optimized for readability. Recommended for axiom-fleet

  • ReconFTW includes all tools in ReconFTW and works with most modules. Recommended for ReconFTW.

  • Barebones is a decently secure base install, comes with Docker, Go-lang, Interlace and nmap installed. Recommended for templating.

  • Extras has more tools installed compared to default

Custom Images

If you want to bring-your-own Packer JSON provisioner, select custom. Make sure your packer json is placed in ~/.axiom/images/provisioners

See Bring Your Own Provisionerfor more information.

PreviousConfigure Ax ControllerNextDeploy Instances

Last updated 3 months ago

▶️