Armory : A Tool Meant to Take in a Lot of External & Discovery Data

Armory is a tool meant to take in a lot of external and discovery data from a lot of tools, add it to a database and correlate all of related information. It isn’t meant to replace any specific tool. It is meant to take the output from various tools, and use it to feed other tools.

Additionally, it is meant to be easily extendable. Don’t see a module for your favorite tool? Write one up! Want to export data in just the right format for your reporting? Create a new report!

Also Read – Mad Metasploit : Metasploit Custom Modules, Plugins & Resource Script

Installation

First, set up some kind of virtual environment of your choice.

Clone the repo:

git clone https://github.com/depthsecurity/armory

Install the module:

python setup.py install

You will want to run armory at least once in order to create the default config directory: ~/.armory with the default settings.ini and settings for each of the modules.

Next edit settings.ini and modify the base_path option. This should point to the root path you are using for your current project.

You should change this with every project, so you will always be using a clean database. All files generated by modules will be created in here, as well as the sqlite3 database. By default it will be within the current directory-.

Usage

Usage is split into modules and reports.

Modules

Modules run tools, ingest output, and write it to the database. To see a list of available modules, type:

armory -lm

To see a list of module options, type:

armory -m -M

Reports

Reports are similar to modules, except they are meant to pull data from the database, and display it in a usable format. To view all of the available reports:

armory -lr

To view available report options:

armory -r -R

Interactive Shell

There is also an interactive shell which uses IPython as the base and will allow you to run commands or change database values. It can be launched with: armory-shell.

By default, the following will be available: Domain, BaseDomains, IPAddresses, CIDRs, Users, Creds, Vulns, Ports, Urls, ScopeCIDRs.

R K

Recent Posts

xargs Command in Linux: Build and Execute Commands from Input

The xargs command in Linux reads items from standard input and passes them as arguments to another…

2 days ago

locate Command in Linux: Find Files Fast with a Database Search

The locate command in Linux searches for files and directories by name. It queries a pre-built database…

2 days ago

Listing Linux Services with systemctl: A Complete Guide

Most modern Linux distributions use systemd as the default service manager. Knowing how to list…

2 days ago

How to Truncate Files in Linux: Empty Files Without Deleting

Truncating a file in Linux means removing its contents while leaving the file itself in…

2 days ago

ss Command in Linux: Display Socket Statistics and Connections

The ss command in Linux lists open sockets and active network connections. It replaced the deprecated netstat command and…

3 days ago

ftp Command in Linux: Connect to Servers and Transfer Files

The ftp command in Linux connects to a remote FTP server and transfers files. FTP transmits everything…

3 days ago