
Armory es una herramienta diseñada para tomar una gran cantidad de datos externos y de descubrimiento de muchas herramientas, añadirlos a una base de datos y correlacionar toda la información relacionada.
_
dM.
,MMb
d'YM. ___ __ ___ __ __ _____ ___ __ ____ ___
,P `Mb `MM 6MM `MM 6MMb 6MMb 6MMMMMb `MM 6MM `MM( )M'
d' YM. MM69 " MM69 `MM69 `Mb 6M' `Mb MM69 " `Mb d'
___,P____Mb___MM______MM____MM____MM_MM_____MM_MM_______YM.__,P___
d' YM. MM MM MM MM MM MM MM MM M \
__,MMMMMMMMb__MM______MM____MM____MM_MM_____MM_MM________`Mbd'_____\
d' YM. MM MM MM MM YM. ,M9 MM YMP
_dM_ _dMM_MM_ _MM_ _MM_ _MM_ YMMMMM9 _MM_ M
d'
(8),P
YMM
Esto es algo estable ahora, pero todavía está evolucionando. La rama original 'master' ahora es armory1
Armory es una herramienta diseñada para tomar una gran cantidad de datos externos y de descubrimiento de muchas herramientas, agregarlos a una base de datos y correlacionar toda la información relacionada. No está pensada para reemplazar ninguna herramienta específica. Está pensada para tomar la salida de varias herramientas y usarla para alimentar otras herramientas.
Además, está diseñada para ser fácilmente extensible. ¿No ves un módulo para tu herramienta favorita? ¡Escribe uno! ¿Quieres exportar datos en el formato correcto para tus informes? ¡Crea un nuevo informe!
Si bien Armory puede funcionar bien sin Docker, lo necesitarás si no deseas instalar todas las herramientas que los módulos utilizan en el host.
La instalación es fácil usando pipx.
pipx install depth-armory
En la primera ejecución, los archivos de configuración se crearán en ~/.armory/. Para generarlos, simplemente escribe armory.
Hay dos tipos de archivos:
settings.py: Contiene la configuración básica de Armory. Incluye rutas de proyecto, rutas de módulos personalizados, etc.toolname.ini: Estos archivos son para codificar configuraciones de varios módulos. Se generan automáticamente con todas las opciones disponibles de las herramientas.La configuración predeterminada almacenará tu base de datos y datos en ~/armory_project.
Opcionalmente, edita settings.py y modifica la opción base_path. Esto debe apuntar a la ruta raíz que estás usando para tu proyecto actual. Probablemente deberías cambiar esto con cada proyecto, para que siempre uses una base de datos limpia. Si no deseas cambiar base_path con cada nuevo proyecto, también puedes simplemente eliminar o renombrar el archivo db.sqlite3 de tu base_path. Todos los archivos generados por los módulos se crearán aquí, así como la base de datos sqlite3. Por defecto estará dentro del directorio actual - . Para obtener información adicional sobre settings.py, consulta la documentación aquí.
Finalmente, ejecuta armory-init para crear la base de datos.
Puedes instalar imágenes Docker para la mayoría de los módulos en Armory. Para hacerlo, usa el comando armory-docker:
-> % armory-docker -h
usage: manage build_docker [-h] [-s] [-a ACTION] [-m MODULES] [-r] [--version] [-v {0,1,2,3}]
[--settings SETTINGS] [--pythonpath PYTHONPATH] [--traceback] [--no-color]
[--force-color] [--skip-checks]
Build docker images
options:
-h, --help show this help message and exit
-s, --smart Smart build. If a binary is installed, the docker image won't be built.
-a, --action ACTION Action to perform. `build` to build reports, `pull` to pull from Dockerhub, and
`both` (Default: both)
-m, --modules MODULES
Module to build the docker image for, or 'all' for every image. (default: all)
-r, --rebuild Rebuild docker image without cache
Por defecto, el comando descargará/construirá archivos Docker para todos los módulos descubiertos. Usar -s evitará construir archivos Docker para herramientas que se encuentren dentro del PATH.
El uso se divide en módulos, informes y aplicaciones web.
Los módulos ejecutan herramientas, ingieren la salida y la escriben en la base de datos. Para ver una lista de los módulos disponibles, escribe:
armory -lm
Para ver una lista de opciones de módulos, escribe:
armory -m <module> -M
Los informes son similares a los módulos, excepto que están diseñados para extraer datos de la base de datos y mostrarlos en un formato utilizable. Para ver todos los informes disponibles:
armory -lr
Para ver las opciones de informes disponibles:
armory -r <report> -R
Armory tiene un motor de aplicaciones web, con un par de aplicaciones web proporcionadas. Esto se puede lanzar con:
armory-web que escuchará en http://127.0.0.1:8099, o armory-manage runserver 0.0.0.0:8099 si deseas modificar la dirección IP de enlace y/o el puerto.
También hay un shell interactivo que usa IPython como base y te permitirá ejecutar comandos o cambiar valores de la base de datos. Se puede lanzar con: armory-shell.
Por defecto, estarán disponibles: Domain, BaseDomain, IPAddress, CIDR, User, Cred, Vulnerability, Port, Url.