
Armory è uno strumento progettato per raccogliere molti dati esterni e di scoperta provenienti da molti strumenti, aggiungerli a un database e correlare tutte le informazioni correlate.
_
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
Questo è abbastanza stabile ora, ma è ancora in evoluzione. Il branch originale 'master' ora è armory1
Armory è uno strumento pensato per prendere molti dati esterni e di scoperta da molti strumenti, aggiungerli a un database e correlare tutte le informazioni correlate. Non è pensato per sostituire uno strumento specifico. È pensato per prendere l'output di vari strumenti e usarlo per alimentare altri strumenti.
Inoltre, è pensato per essere facilmente estendibile. Non vedi un modulo per il tuo strumento preferito? Scrivine uno! Vuoi esportare dati nel formato giusto per i tuoi report? Crea un nuovo report!
Sebbene Armory possa funzionare bene senza Docker, ne avrai bisogno se non vuoi installare tutti gli strumenti che i moduli utilizzano sull'host.
L'installazione è semplice usando pipx.
pipx install depth-armory
Al primo avvio, i file di configurazione verranno creati in ~/.armory/. Per generarli, basta digitare armory.
Ci sono due tipi di file:
settings.py: contiene le impostazioni di base per Armory stesso. Contiene i percorsi di progetto, i percorsi dei moduli personalizzati, ecc.toolname.ini: questi file servono per impostare manualmente le opzioni per vari moduli. Sono generati automaticamente con tutte le opzioni disponibili per gli strumenti.La configurazione predefinita memorizzerà il database e i dati in ~/armory_project.
Opzionalmente, modifica settings.py e modifica l'opzione base_path. Dovrebbe puntare al percorso radice che stai utilizzando per il tuo progetto corrente. Probabilmente dovresti cambiarlo per ogni progetto, così userai sempre un database pulito. Se non vuoi cambiare base_path per ogni nuovo progetto, puoi anche semplicemente eliminare o rinominare il file db.sqlite3 dalla tua base_path. Tutti i file generati dai moduli verranno creati qui, così come il database sqlite3. Per impostazione predefinita sarà nella directory corrente-. Per ulteriori informazioni su settings.py, consulta la documentazione qui.
Infine, esegui armory-init per creare il database.
Puoi installare immagini Docker per la maggior parte dei moduli in Armory. Per farlo, usa il 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
Per impostazione predefinita, il comando scaricherà/costruirà i dockerfile per tutti i moduli scoperti. Usando -s si eviterà di costruire dockerfile per gli strumenti trovati nel PATH.
L'utilizzo è suddiviso in moduli, report e webapp.
I moduli eseguono strumenti, assimilano l'output e lo scrivono nel database. Per vedere un elenco dei moduli disponibili, digita:
armory -lm
Per vedere un elenco delle opzioni dei moduli, digita:
armory -m <module> -M
I report sono simili ai moduli, tranne per il fatto che sono pensati per estrarre dati dal database e visualizzarli in un formato utilizzabile. Per visualizzare tutti i report disponibili:
armory -lr
Per visualizzare le opzioni dei report disponibili:
armory -r <report> -R
Armory ha un motore di web app, con un paio di web app fornite. Può essere avviato con:
armory-web che ascolterà su http://127.0.0.1:8099, oppure armory-manage runserver 0.0.0.0:8099 se desideri modificare l'indirizzo IP e/o la porta di ascolto.
C'è anche una shell interattiva che utilizza IPython come base e ti permetterà di eseguire comandi o modificare valori del database. Può essere avviata con: armory-shell.
Per impostazione predefinita, saranno disponibili: Domain, BaseDomain, IPAddress, CIDR, User, Cred, Vulnerability, Port, Url.