The dynamic infrastructure framework for everybody! Distribute the workload of many different scanning tools with ease, including nmap, ffuf, masscan, nuclei, meg and many more!

axio m

License contributions welcome Follow on Twitter

Axiom is a dynamic infrastructure framework to efficiently work with multi-cloud environments, build and deploy repeatable infrastructure focussed on offensive and defensive security.

Axiom works by pre-installing your tools of choice onto a 'base image', and then using that image to deploy fresh instances. From there, you can connect and instantly gain access to many tools useful for both bug hunters and pentesters. With the power of immutable infrastructure, most of which is done for you, you can just spin up 15 boxes, perform a distributed nmap/ffuf/screenshotting scan, and then shut them down.

Because you can create many disposable instances very easily, axiom allows you to distribute scans of many different tools including dnsgen dnsx ffuf gau gowitness httpx masscan massdns nmap naabu nuclei shuffledns & subfinder. Once installed and setup, you can distribute a scan of a large set of targets across 10-15 instances within minutes and get results extremely quickly. This is called axiom-scan.

Axiom supports several cloud providers, eventually, axiom should be completely cloud agnostic allowing unified control of a wide variety of different cloud environments with ease. Currently, DigitalOcean, IBM Cloud, & Linode are officially supported providers. Google Compute is partially implemented. AWS & Azure are on the roadmap. If you would like prioritization of a feature or provider implementation, please contact me @pry0cc on Twitter and we can discuss :)

Resources

$100 Free Credit

The original and best supported provider for Axiom is Digital Ocean! If you're signing up for a new Digital Ocean account, please use my link!

Linode $20 Free Credit

Our third provider for axiom! Please use this link for $20 free credit on Linode :)

Installation - Easy Install

You will also need to install the newest versions of all packages sudo apt dist-upgrade and curl, which is not installed by default on Ubuntu 20.04, if you get a "command not found" error, run sudo apt update && sudo apt install curl.

Run the following curl command, as your standard user, not as root.

bash <(curl -s https://raw.githubusercontent.com/pry0cc/axiom/master/interact/axiom-configure)

If you have any problems with this installer, please refer to Installation.

Demo

In this demo (sped up out of respect for your time ;) ), we show how easy it is to initialize and ssh into a new instance.

Support

If you like Axiom and it saves you time, money or just brings you happy feelings, please show your support through sponsorship! Click the little sponsor button in the header and sponsor for as little as $1 per month :)

Or buy me a coffee to keep me powered :)

Buy Me A Coffee

Sponsored By SecurityTrails!

We are lucky enough to be sponsored by the awesome SecurityTrails! Sign up for your free account here!

Operating Systems Supported

OS Supported Easy Install Tested
Ubuntu Yes Yes Ubuntu 20.04
Kali Yes Yes Kali 2020.4
Debian Yes Yes Debian 10
Windows Yes Yes WSL w/ Ubuntu
MacOS Yes No MacOS 10.15
Arch Linux Yes No Yes

Contributors

We've had some really fantastic additions to axiom, great feedback through issues, and perseverence through our heavy beta phase!

A list of all contributors can be found here, thank you all!

Logo

The logo was made by our amazing s0md3v! Thank you for making axiom look sleek as hell! Really beats my homegrown logo :)

Packages To Date

  • amass
  • anew
  • anti-burl
  • aquatone
  • assetfinder
  • dalfox
  • dirb
  • dnsprobe
  • dnsvalidator
  • docker
  • fbrobe
  • ffuf
  • gau
  • getjs
  • gf
  • gobuster
  • Golang (setup, path configured, latest version)
  • gowitness
  • hakrawler
  • httprobe
  • jq
  • kxss
  • masscan
  • massdns
  • metasploit
  • mosh
  • nmap
  • oh-my-zsh
  • openvpn
  • projectdiscovery chaos
  • projectdiscovery chaos-client
  • projectdiscovery httpx
  • projectdiscovery naabu
  • projectdiscovery nuclei
  • projectdiscovery shuffledns
  • proxychains w/ Tor setup
  • SecLists
  • sn0int
  • SQLMap
  • subfinder
  • subgen
  • subjack
  • tmux
  • urlprobe
  • waybackurls
  • zdns
  • zmap

And many more! Do you want to add a package to axiom? Let me know!

Owner
pry0cc
Founder of 0x00sec.org, Senior Cyber Security Consultant @ REDACTED
pry0cc
Comments
  • ssh issue asking for password

    ssh issue asking for password

    i have added ssh key without password at

    ~/.ssh/id_rsa.pub ~/.axiom/configs/authorized_keys

    and build the instance axiom-build

    when axiom-init all new instances are asking for password, though the ssh key has no password set

    need help

  • 429 Request Failed.

    429 Request Failed.

    I ran the following

    axiom-scan mysubs.out -m nuclei --spinup 150 -nuclei-templates nuclei-templates-custom/ -anew outputfile.txt -anew output.txt 
    
    

    This is what I got:

    image

    I'm using Linode. I'm using axiom with docker latest version. Why this is happening, is there any solution for it?

  • Problem using Linode instances

    Problem using Linode instances

    I've been running axiom-scan using linode instances and I constantly face the following issue:

    One or more instances have a very low performance, for instance, using nuclei some instances run at 140 RPS (requests per second) while others run at 5 or less RPS. I've recreated the instances and I can't figure out why this is happening. I didn't have this type of issues using Digital Ocean.

    Is anyone having the same issue?

  • Randoms 'connection timed out'

    Randoms 'connection timed out'

    Sometimes when running scans I get the below message and I need to delete instances and run evertyhing again. But I am not sure why this happens, it doesn't happen to often tho.

    ssh: connect to host 45.33.92.201 port 2266: Connection timed out                                                                                                                                           
    ssh: connect to host 173.255.233.46 port 2266: Connection timed out                                                                                                                                         
    ssh: connect to host 173.255.233.99 port 2266: Connection timed out                                                                                                                                         
    ssh: connect to host 173.255.233.93 port 2266: Connection timed out                                                                                                                                         
    ssh: connect to host 173.255.233.48 port 2266: Connection timed out                                                                                                                                         
    ssh: connect to host 173.255.233.106 port 2266: Connection timed out                                                                                                                                        
    ssh: connect to host 173.255.233.67 port 2266: Connection timed out                                                                                                                                         
    ssh: connect to host 45.33.92.174 port 2266: Connection timed out
    
  • Naabu with nmap support

    Naabu with nmap support

    When you run nmap with naabu, You cannot download the XML output as only one extension is allowed. This module is registered as a directory extension, So it could get all files. The Nmap output should be placed in the output directory and it automatically processes the backups created by cp while merging with mmv and creating a sorted list of naabu ports, Nmap merged XML and Nmap merged output.

    Example

    axiom-scan ~/check.txt -m naabu-nmap -p - -rate 10000 -c 50 -nmap-cli $'\"nmap -sV -A -T4 -oX output/nmap.xml\"' -o out/
    
  • Axiom-init not working with Azure

    Axiom-init not working with Azure

    WARNING: Command group 'vm' is experimental and under development. Reference and support levels: https://aka.ms/CLI_refstatus ssh: Could not resolve hostname moser15: nodename nor servname provided, or not known

    Looks like whatever az commands axiom is using have been changed. :-/

  • axiom-configure fails on nuclei installation

    axiom-configure fails on nuclei installation

    Hello,

    My axiom-configure job has ran three times and failed at the same spot each time.

        digitalocean: Installing nuclei
    ==> digitalocean: go: downloading github.com/projectdiscovery/nuclei v1.1.7
    ==> digitalocean: go get github.com/projectdiscovery/nuclei/v2/cmd/nuclei: module github.com/projectdiscovery/nuclei@upgrade found (v1.1.7), but does not contain package github.com/projectdiscovery/nuclei/v2/cmd/nuclei
    ==> digitalocean: Provisioning step had errors: Running the cleanup provisioner, if present...
    ==> digitalocean: Destroying droplet...
    ==> digitalocean: Deleting temporary ssh key...
    
  • Bug when running axiom-init, Error: open /tmp/raman18.sh: no such file or directory

    Bug when running axiom-init, Error: open /tmp/raman18.sh: no such file or directory

    Using restore backup ‘pry0cc/lazy’
    Initializing ‘raman18’
    Error: open /tmp/raman18.sh: no such file or directory
    Initialized! Instance accessible at ‘’!
    To connect, run ‘axiom-ssh raman18’
    Waiting 65 seconds before restore…
    Restoring pry0cc-lazy to raman18 at ’ ’
    ssh: Could not resolve hostname : Name or service not known
    rsync: connection unexpectedly closed (0 bytes received so far) [sender]
    rsync error: unexplained error (code 255) at io.c(235) [sender=3.1.2]```
    
    This occurs because there is no valid image detected, you need to run `axiom-build` and receive a successful build for your currently selected region.
    
    This is because axiom now checks for axiom-$region as apposed to axiom* in your images, running `axiom-build` will however resolve this.
  • [Issue] Axiom-scan keeps asking for ssh password

    [Issue] Axiom-scan keeps asking for ssh password

    I did a fresh build, doing:

    axiom-update && axiom-build

    then

    axiom-fleet -i=20

    And I get

    Screenshot from 2021-03-26 20-19-58

    The other problem I have is that I don't know how to get out of that screen, I keep pressing CONTROL+C and more password prompts appear.

  • Consider removing public key

    Consider removing public key

    Not really a problem with the tool, but I usually keep a fork of this repo without your public key ;)

    ~~Haven't looked to see if the program needs configs/authorized_keys to exist. If not, you could probably add it to .gitignore without an issue.~~

    Update: axiom-configure seems to work fine without authorized_keys, it created it for me.

  • axiom-init/axiom-build: Extract notify command to set it accordingly to hosts OS

    axiom-init/axiom-build: Extract notify command to set it accordingly to hosts OS

    notify-send only works on Ubuntu like systems but not e.g. on OSX.

    In this PR I extracted the command so we can source it from interact/includes/system-notification.sh as $NOTIFY_CMD already fitted to the current host OS (now Ubuntu likes and OSX).

  • Support IP/Target Exclusions

    Support IP/Target Exclusions

    Many scanning tools such as nmap and httpx support the capability to exclude targets, e.g. --excludefile and -deny, respectively. It'd be nice if an exclusion file could be supplied and transferred up to the instances and used with axiom-scan.

  • AWS errors when

    AWS errors when "security group 'axiom' already exists for VPC"

    Setting up Axiom for a 2nd time (previously used it) and now getting errors during setup. Would be ideal if this were handled gracefully.

    An error occurred (InvalidGroup.Duplicate) when calling the CreateSecurityGroup operation: The security group 'axiom' already exists for VPC 'vpc-HEX_ID_HERE'
    
    An error occurred (InvalidGroupId.Malformed) when calling the AuthorizeSecurityGroupIngress operation: The security-group ID '' is malformed
    

    image

  • Not able to install on Azure - Ubuntu VM

    Not able to install on Azure - Ubuntu VM

    A web browser has been opened at https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize. Please continue the login in the web browser. If no web browser is available or if the web browser fails to open, use device code flow with az login --use-device-code.

    No browser opens. Also where is the code that I need to enter?

    Screenshot 2022-11-09 183312

  • Request to add DSXS

    Request to add DSXS

    Hi ,

    I have a request to add DSXS tool in the default provision. This tool is similar to kxss but way more useable and with very less Flase positives.

    Here is the link https://github.com/stamparm/DSXS.

    Thanks Kind regards

  • AWS :: Axiom Fleet

    AWS :: Axiom Fleet "Init” Fails —Single Region

    Hi,

    Trying to spawn several instances in a single AWS region, nothing fancy, I get this error:

    An error occurred (InvalidKeyPair.NotFound) when calling the RunInstances operation: The key pair 'axiom' does not exist

    This is a fresh install, axiom version is from Oct 15, 2022.

    Any ideas about how this can be resolved?

    Thanks!

Community edition nuclei templates, a simple tool that allows you to organize all the Nuclei templates offered by the community in one place

cent Community edition nuclei templates, a simple tool that allows you to organize all the Nuclei templates offered by the community in one place Inst

Jan 9, 2023
lmap (LinuxHub's Nmap) is the nmap next generation pro plus max

lmap lmap (LinuxHub's Nmap) is the nmap next generation pro plus max, made by 浪神 (from THE GREAT LinuxHub). LICENSE Copyright (C) <2021> <LinuxHub-Gr

Mar 29, 2022
A fully self-contained Nmap like parallel port scanning module in pure Golang that supports SYN-ACK (Silent Scans)

gomap What is gomap? Gomap is a fully self-contained nmap like module for Golang. Unlike other projects which provide nmap C bindings or rely on other

Dec 10, 2022
Ffuf - A fast web fuzzer written in Golang
Ffuf - A fast web fuzzer written in Golang

/'___\ /'___\ /'___\ /\ \__/ /\ \__/ __ __ /\ \__/ \

Jan 2, 2022
EarlyBird is a sensitive data detection tool capable of scanning source code repositories for clear text password violations, PII, outdated cryptography methods, key files and more.
EarlyBird is a sensitive data detection tool capable of scanning source code repositories for clear text password violations, PII, outdated cryptography methods, key files and more.

EarlyBird is a sensitive data detection tool capable of scanning source code repositories for clear text password violations, PII, outdated cryptograp

Dec 10, 2022
🗺 Allows quick generation of basic network plans based on nmap and scan6 output.

NPlan Transforms nmap XML into intermediate JSON and generates a basic network plan in the DrawIO XML format. Installation Just run go install github.

Mar 10, 2022
Idiomatic nmap library for go developers
Idiomatic nmap library for go developers

nmap This library aims at providing idiomatic nmap bindings for go developers, in order to make it easier to write security audit tools using golang.

Jan 6, 2023
A FreeSWITCH specific scanning and exploitation toolkit for CVE-2021-37624 and CVE-2021-41157.

PewSWITCH A FreeSWITCH specific scanning and exploitation toolkit for CVE-2021-37624 and CVE-2021-41157. Related blog: https://0xinfection.github.io/p

Nov 2, 2022
🌘🦊 DalFox(Finder Of XSS) / Parameter Analysis and XSS Scanning tool based on golang
🌘🦊 DalFox(Finder Of XSS) / Parameter Analysis and XSS Scanning tool based on golang

Finder Of XSS, and Dal(달) is the Korean pronunciation of moon. What is DalFox ?? ?? DalFox is a fast, powerful parameter analysis and XSS scanner, bas

Jan 5, 2023
Naabu - a port scanning tool written in Go that allows you to enumerate valid ports for hosts in a fast and reliable manner
Naabu - a port scanning tool written in Go that allows you to enumerate valid ports for hosts in a fast and reliable manner

Naabu is a port scanning tool written in Go that allows you to enumerate valid ports for hosts in a fast and reliable manner. It is a really simple tool that does fast SYN/CONNECT scans on the host/list of hosts and lists all ports that return a reply.

Jan 2, 2022
Portmantool - Port scanning and monitoring tool

portmantool Port scanning and monitoring tool Components runner while true do r

Feb 14, 2022
Gryffin is a large scale web security scanning platform.

Gryffin (beta) Gryffin is a large scale web security scanning platform. It is not yet another scanner. It was written to solve two specific problems w

Dec 27, 2022
A Large killer focused on intranet scanning
A Large killer focused on intranet scanning

FscanX 其实FscanX的灵感来源于fscan和LodanGo这两个开源项目,首先不得不说fscan和LadonGo两个都是非常优秀的内网扫描器。并且其独自的特色也让其在内网扫描器领域独占鳌头。其中LadonGo的插件式让其在扫描时更加专注,而fscan的傻瓜式则让其对内网的信息搜集更加高效。

Dec 31, 2021
WIP. Converts Azure Container Scan Action output to SARIF, for an easier integration with GitHub Code Scanning

container-scan-to-sarif container-scan-to-sarif converts Azure Container Scan Action output to Static Analysis Results Interchange Format (SARIF), for

Jan 25, 2022
ARP spoofing tool based on go language, supports LAN host scanning, ARP poisoning, man-in-the-middle attack, sensitive information sniffing, HTTP packet sniffing
ARP spoofing tool based on go language, supports LAN host scanning, ARP poisoning, man-in-the-middle attack, sensitive information sniffing, HTTP packet sniffing

[ARP Spoofing] [Usage] Commands: clear clear the screen cut 通过ARP欺骗切断局域网内某台主机的网络 exit exit the program help display help hosts 主机管理功能 loot 查看嗅探到的敏感信息

Dec 30, 2022
Wrapper to communicate with the wifi scanning protocol on Brother MFC-J430W
Wrapper to communicate with the wifi scanning protocol on Brother MFC-J430W

Brother MFC-J430W protocol wrapper (wifi scanner) Reasons Brother MFC-J430W has already scanner driver and you can download here but that are prebuilt

Dec 20, 2022
Go-basic-port-scanner: Scanning of TCP ports only
Go-basic-port-scanner: Scanning of TCP ports only

go-basic-port-scanner Scanning of TCP ports only. Usage git clone https://git

Jan 22, 2022