
Armory — это инструмент, предназначенный для приёма большого объёма внешних данных и данных разведки из множества инструментов, добавления их в базу данных и корреляции всей связанной информации.
_
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
В настоящее время это относительно стабильно, но все еще развивается. Оригинальная ветка 'master' теперь называется armory1
Armory — это инструмент, предназначенный для сбора большого количества внешних данных и данных разведки из множества инструментов, добавления их в базу данных и корреляции всей связанной информации. Он не предназначен для замены какого-либо конкретного инструмента. Его цель — принимать вывод различных инструментов и использовать его для питания других инструментов.
Кроме того, он должен быть легко расширяемым. Не видите модуля для вашего любимого инструмента? Напишите его! Хотите экспортировать данные в нужном формате для отчетности? Создайте новый отчет!
Хотя Armory может нормально работать и без Docker, он понадобится вам, если вы не хотите устанавливать все инструменты, используемые модулями, на хост-машину.
Установка проста с использованием pipx.
pipx install depth-armory
При первом запуске файлы конфигурации будут созданы в ~/.armory/. Чтобы сгенерировать их, просто введите armory.
Существует два типа файлов:
settings.py: Содержит основные настройки для самого Armory. Включает пути к проектам, пути к пользовательским модулям и т.д.toolname.ini: Эти файлы предназначены для жесткого задания настроек различных модулей. Они автоматически генерируются со всеми доступными опциями инструментов.Конфигурация по умолчанию будет хранить вашу базу данных и данные в ~/armory_project.
При желании отредактируйте settings.py и измените параметр base_path. Он должен указывать на корневой путь, который вы используете для вашего текущего проекта. Вероятно, вам следует менять его для каждого проекта, чтобы всегда использовать чистую базу данных. Если вы не хотите менять base_path для каждого нового проекта, вы также можете просто удалить или переименовать файл db.sqlite3 из вашего base_path. Все файлы, созданные модулями, будут помещены сюда, а также база данных sqlite3. По умолчанию она будет находиться в текущем каталоге - . Для получения дополнительной информации о settings.py смотрите документацию здесь.
Наконец, выполните armory-init для создания базы данных.
Вы можете установить образы Docker для большинства модулей в Armory. Для этого используйте команду 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
По умолчанию команда будет загружать/собирать docker-файлы для всех обнаруженных модулей. Использование -s позволит избежать сборки docker-файлов для инструментов, которые уже обнаружены в PATH.
Использование разделено на модули, отчеты и веб-приложения.
Модули запускают инструменты, обрабатывают вывод и записывают его в базу данных. Чтобы увидеть список доступных модулей, введите:
armory -lm
Чтобы увидеть список опций модуля, введите:
armory -m <module> -M
Отчеты похожи на модули, за исключением того, что они предназначены для извлечения данных из базы данных и отображения их в удобном формате. Чтобы просмотреть все доступные отчеты:
armory -lr
Чтобы просмотреть доступные опции отчета:
armory -r <report> -R
Armory имеет движок веб-приложений с несколькими предоставленными веб-приложениями. Его можно запустить с помощью:
armory-web — будет слушать на http://127.0.0.1:8099, или armory-manage runserver 0.0.0.0:8099, если вы хотите изменить IP-адрес и/или порт привязки.
Также есть интерактивная оболочка, основанная на IPython, которая позволяет выполнять команды или изменять значения базы данных. Ее можно запустить с помощью: armory-shell.
По умолчанию будут доступны: Domain, BaseDomain, IPAddress, CIDR, User, Cred, Vulnerability, Port, Url.