⏩Quickstart Guide
So, you have axiom installed, you're feeling pretty good about yourself, you're 10 minutes away from feeling the power of axiom!
Ensure your build has occurred successfully
If you've followed the installation steps with success, you should have run the axiom-configure script at some point. axiom-configure automatically starts axiom-build. During this time, Packer by HashiCorp will create an image. You should notice "Shutting down gracefully... Creating snapshot....".
You should have a valid build in your account now, if, in doubt, you can run axiom-build and create a new base snapshot just in case!
You can also manually edit your account details such as API key, image id, CPU, RAM etc, in the profile.json you just created cat ~/.axiom/accounts/personal.json.
If you have a valid build in your account, skip to axiom-init.
ax configure
Setup and configure the axiom controller and validate cloud account 💻
ax configure
Description:
Examples:
axiom-configure --setup # kick off Ax configuration wizard
axiom-configure --shell zsh # Set default shell to zsh via command line
axiom-configure --config <personal.json file> # Use personal.json from a file for account setup
axiom-configure --config <personal.json string> # Use personal.json data supplied by command-line for account setup (must be vaild personal.json data wrapped in single quotes)
axiom-configure --shell bash --unattended --config <path to personal.json file> # Use bash for default shell, do not promot, use personal.json data from file for axiom setup
Usage:
--setup (optional)
Start axiom-configure wizard, install dependencies, kick off axiom-account-setup and axiom-build
--config <axiom.json data>
Setup account with data from file or supplied from the command line (must be vaild data from a personal.json axiom file)
--unattended (optional)
Avoid any promots, defaults to Oh My Zsh unless --shell argument is also provided
--shell <bash, zsh, omz (Oh My Zsh)> (optional)
Add axiom to path, backup .zshrc/.bashrc to .zshrcbak/.bashrcbak
--debug (optional)
Enable debug mode (VERY VERBOSE!)
--help
Display this help menuax configure --setupYou can provide your config file before or after running axiom-configure.
axiom-configure --setup --shell bash --unattended --config ~/.axiom/accounts/do.json
ax build
Pick a Packer provisioner 🐣
You must run axiom-configure before anything else. This creates your axiom.json file which is required by other commands.
You can provide your provisioner inline or after running axiom-build.
We currently offer four different base provisioner files, and 2 custom provisioner file to build images.
Default is our latest iteration of axiom provisioners. It comes with many tools installed and has been optimized for readability. Recommended for axiom-fleet.
ReconFTW provisioner includes all tools in ReconFTW and works with most modules. Recommended for ReconFTW.
Barebones is our decently secure base install, comes with Docker, Go-lang, Interlace and nmap installed. Recommended for templating.
Extras has more tools installed than our Default provisioner
To use your own Provisioner, read Bring Your Own Provisioner.
ax images
Manage images/snapshots with axiom-images 💿
ax init
Initialize a single instance 🌱
the
--deployoption allows you to install a deployment profile (stored in~/.axiom/profiles/)
ax exec
Execute a command against one or many instances 🤖
ax ssh
axiom-images
Manage images/snapshots with axiom-images 💿
axiom-init
Initialize a single instance 🌱
the
--deployoption allows you to deploy a profile (stored in~/.axiom/profiles/).--restorewill restore a profile. These options can be used together.
You can run this command without any parameters, and it will pick a name for you. This name is picked at random from a list of legends!
If you supply an argument, it will be used as the instance name, in the above example we spin up an instance called "jerry".
axiom-ls
Now you have spun up an instance, you can run axiom-ls and get a list of all running instances.
List your instances - axiom-ls
axiom-lsaxiom-exec
Execute a command against an Instance 🤖
axiom-ssh
Connect to an instance - axiom-ssh 🔗
Connect to your instance - axiom-ssh <instance>
axiom-ssh <instance>Now you have an instance, and it has a public IP address, you can connect to your new instance using axiom-ssh
If you want to be dropped into a tmux session, that will remain after you disconnect, use the --tmux flag.
To detach from this tmux session, run ctrl+a d, this will disconnect you from the box but leave your tmux session running (and any command running in that session!)
axiom-backup
Backup an initialized instance to the cloud 🧳
After running axiom-init you can set up config files, unique wordlists, private tools etc, take a snapshot of that image and use it to deploy future axiom instances/fleets.
Backup an Initialized Instance - axiom-backup <instance>
axiom-backup <instance>After running axiom-init you can set up config files, unique wordlists, private tools etc, take a snapshot of that image and use it to deploy future axiom instances/fleets.
axiom-rm
Remove one or more axiom instances ❌
Delete your instance
Once you're done with your instance, delete it using the command, axiom-rm <instance>
The -f flag will not prompt on deletion, I generally use this, but if you want to be ultra sure omit the -f flag.
More Info
In Summary, a few useful commands to get you up and running, to use basic instances, and interact with them. Please refer to Filesystem Utilities for more details.
Last updated