.______ .______ .______ ._______ ._______ ._______ _____._
:_ _ : __ : __ : .___ : __ / : .___ __ _:|
| | || ____|| ____|| : | || |> | : | | | :|
| . | || : | : | : || |> | : | | |
|. ____/ | |___| |___ _. ___/ |_______/ _. ___/ | |
:/ |___| |___| :/ :/ |___|
: : :
Copyright 2019 Soluções Nacionais de Tecnologia e Engenharia de Sandia, LLC (NTESS). Nos termos do Contrato DE-NA0003525 com a NTESS, o Governo dos EUA retém certos direitos sobre este software.
Dr.ROBOT é uma ferramenta para reconhecimento e enumeração de domínio . Ao utilizar contêineres para reduzir a sobrecarga de lidar com dependências, inconsistências entre sistemas operacionais e diferentes linguagens, o Dr.ROBOT foi desenvolvido para ser altamente portátil e configurável.
Caso de uso : reúna o máximo de servidores públicos que uma organização possui. Consultar recursos DNS nos permite desenvolver rapidamente uma grande lista de possíveis alvos nos quais você pode realizar análises mais aprofundadas.
Nota : Dr.ROBOT não é apenas um pônei de um truque. Você pode personalizar facilmente as ferramentas usadas para coletar informações, para que possa aproveitar os benefícios de usar o que há de melhor e mais recente junto com seus favoritos testados em batalha.
Dr.ROBOT adiciona arquivos de configuração, modelos, logs, arquivos de saída e arquivos db ao seu diretório $HOME
em .drrobot
A estrutura de diretórios ficará assim:
-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
Se você quebrar sua configuração além de salvá-la, poderá excluir o arquivo config.json em seu diretório $HOME
e executar novamente o Dr.ROBOT, que irá gerar um novo arquivo de configuração para você.
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
Executar isso atrás de um proxy foi uma dor. Para tornar isso menos doloroso, criamos um diretório certs em $HOME/.drrobot/*
onde você pode adicionar seus arquivos crt. Como parte do processo de construção do dockerfile, agora geramos tarfiles com os certificados para que aplicativos, como o Amass, possam ser executados.
Incluído no Dr.ROBOT está um arquivo docker-compose.yml. Este arquivo contém um arquivo de composição simples para servir o Minio e os arquivos coletados durante o tempo de execução.
Para usar:
cd /path/to/drrobot/
docker-compose up
Esta ferramenta depende muito do Docker.
Veja aqui as instruções de instalação:
Você pode fazer com que qualquer módulo suporte Ansible.
Consulte o guia de instalação para obter instruções.
brew install gnu-tar
eval $(ssh-agent)
ssh-add /path/to/keyfile
Para adicionar sua própria ferramenta, consulte a Configuração para começar.
Para uso, consulte Uso para começar.