.______ .______ .______ ._______ ._______ ._______ _____._
:_ _ : __ : __ : .___ : __ / : .___ __ _:|
| | || ____|| ____|| : | || |> | : | | | :|
| . | || : | : | : || |> | : | | |
|. ____/ | |___| |___ _. ___/ |_______/ _. ___/ | |
:/ |___| |___| :/ :/ |___|
: : :
Copyright 2019 Solutions nationales de technologie et d'ingénierie de Sandia, LLC (NTESS). Aux termes du contrat DE-NA0003525 avec NTESS, le gouvernement américain conserve certains droits sur ce logiciel.
Dr.ROBOT est un outil de reconnaissance et d'énumération de domaines . En utilisant des conteneurs pour réduire les frais liés à la gestion des dépendances, des incohérences entre les systèmes d'exploitation et les différents langages, Dr.ROBOT est conçu pour être hautement portable et configurable.
Cas d'utilisation : Rassemblez autant de serveurs publics qu'une organisation possède. L'interrogation des ressources DNS nous permet de développer rapidement une large liste de cibles possibles sur lesquelles vous pouvez effectuer une analyse plus approfondie.
Remarque : Dr. ROBOT n'est pas qu'un poney à un tour. Vous pouvez facilement personnaliser les outils utilisés pour collecter des informations, afin de pouvoir profiter des avantages de l'utilisation des derniers et meilleurs outils avec vos favoris testés au combat.
Dr.ROBOT ajoute des fichiers de configuration, des modèles, des journaux, des fichiers de sortie et des fichiers de base de données à votre répertoire $HOME
sous .drrobot
La structure des répertoires ressemblera à ceci :
-rw-r--r-- 1 0 Sep 16 12:15 ansible_inventory
drwxr-xr-x 5 160 Sep 16 12:18 ansible_plays
-rw-r--r-- 1 13576 Sep 16 12:41 config.json
drwxr-xr-x 4 128 Sep 17 10:48 dbs
drwxr-xr-x 21 672 Sep 16 13:51 docker_buildfiles
drwxr-xr-x 4 128 Sep 16 15:38 logs
drwxr-xr-x 3 96 Sep 16 12:46 output
Si jamais vous interrompez votre configuration au-delà de la sauvegarde, vous pouvez supprimer le fichier config.json dans votre répertoire $HOME
et réexécuter Dr.ROBOT, qui générera un nouveau fichier de configuration pour vous.
git clone
cd gitrepo
pip install -r requirements.txt
pip install -e .
drrobot --help
usage: drrobot [-h] [--proxy PROXY] [--dns DNS] [--verbose] [--dbfile DBFILE]
{gather,inspect,upload,rebuild,dumpdb,output,serve} ...
Docker DNS recon tool
positional arguments:
{gather,inspect,upload,rebuild,dumpdb,output,serve}
gather Runs initial scanning phase where tools under the
webtools/scannerscategory will run and gather
information used in the following phases
inspect Run further tools against domain information gathered
from previous step.Note: you must either supply a file
which contains a list of IP/Hostnames orThe targeted
domain must have a db under the dbs folder
upload Upload recon data to Mattermost/Slack
rebuild Rebuild the database with additional files/all files
from previous runtime
dumpdb Dump contents of database (ip,hostname,banners) to a
text file with hostname for filename
output Generate output in specified format. Contains all
information from scans (images, headers, hostnames,
ips)
serve Serve database file in docker container using django
optional arguments:
-h, --help show this help message and exit
--proxy PROXY Proxy server URL to set DOCKER http_proxy too
--dns DNS DNS server to add to resolv.conf of DOCKER containers
--verbose Display verbose statements
--dbfile DBFILE Specify what db file to use for saving data too
git clone
cd gitrepo
pipenv sync
pipenv shell
drrobot --help
usage: drrobot [-h] [--proxy PROXY] [--dns DNS] [--verbose] [--dbfile DBFILE]
{gather,inspect,upload,rebuild,dumpdb,output,serve} ...
Docker DNS recon tool
positional arguments:
{gather,inspect,upload,rebuild,dumpdb,output,serve}
gather Runs initial scanning phase where tools under the
webtools/scannerscategory will run and gather
information used in the following phases
inspect Run further tools against domain information gathered
from previous step.Note: you must either supply a file
which contains a list of IP/Hostnames orThe targeted
domain must have a db under the dbs folder
upload Upload recon data to Mattermost/Slack
rebuild Rebuild the database with additional files/all files
from previous runtime
dumpdb Dump contents of database (ip,hostname,banners) to a
text file with hostname for filename
output Generate output in specified format. Contains all
information from scans (images, headers, hostnames,
ips)
serve Serve database file in docker container using django
optional arguments:
-h, --help show this help message and exit
--proxy PROXY Proxy server URL to set DOCKER http_proxy too
--dns DNS DNS server to add to resolv.conf of DOCKER containers
--verbose Display verbose statements
--dbfile DBFILE Specify what db file to use for saving data too
Exécuter cela derrière un proxy était pénible. Pour rendre cela moins pénible, nous créons un répertoire certs sous $HOME/.drrobot/*
où vous pouvez ajouter vos fichiers crt. Dans le cadre du processus de création de dockerfile, nous générons désormais des fichiers tar avec les certificats afin que les applications, telles qu'Amass, puissent s'exécuter.
Dr.ROBOT contient un fichier docker-compose.yml. Ce fichier contient un simple fichier de composition pour servir Minio et les fichiers collectés pendant l'exécution.
Pour utiliser :
cd /path/to/drrobot/
docker-compose up
Cet outil s'appuie fortement sur Docker.
Voir les instructions d'installation ici :
Vous pouvez faire en sorte que n’importe quel module prenne en charge Ansible.
Voir le guide d'installation pour les instructions.
brew install gnu-tar
eval $(ssh-agent)
ssh-add /path/to/keyfile
Pour ajouter votre propre outil, consultez la configuration pour commencer.
Pour l'utilisation, voir Utilisation pour commencer.