.______ .______ .______ ._______ ._______ ._______ . : _ \ : __ \ : __ \ : . \ : __ / : .___ \ __ :| | | || _|| _|| : | || |> \ | : | | | :| | . | || : \ | : \ | : || |> | : | | | |. __/ | || |\ _. _/ |/ _. / | | :/ || || :/ :/ |__| : : :
版权 2019 国家技术与工程解决方案公司,桑迪亚有限责任公司(NTESS)。根据与NTESS的合同DE-NA0003525,美国政府保留本软件的特定权利。
Dr.ROBOT 是一款用于域名侦察与枚举的工具。通过利用容器减少处理依赖、跨操作系统不一致以及不同语言的开销,Dr.ROBOT 被设计为高度可移植且可配置。
使用场景:收集一个组织所拥有的所有公网服务器。通过查询 DNS 资源,我们可以快速构建大量可能目标列表,进而进行进一步分析。
注意:Dr.ROBOT 并非单一功能的工具。你可以轻松定制用于信息收集的工具,从而既能使用最新最强大的工具,也能保留你久经考验的最爱。
Dr.ROBOT 将配置文件、模板、日志、输出文件和数据库文件添加到你的 $HOME 目录下的 .drrobot 文件夹中。
目录结构如下所示:
-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
如果你把配置文件搞坏了无法修复,可以删除 $HOME 目录下的 config.json 文件,然后重新运行 Dr.ROBOT,它会为你生成一个新的配置文件。
git clone <URL>
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 <URL>
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
在代理后面运行是一件痛苦的事。为了减轻痛苦,我们在 $HOME/.drrobot/* 下创建了一个 certs 目录,你可以将你的 .crt 文件放在那里。作为 Dockerfile 构建过程的一部分,我们现在会生成包含证书的 tar 文件,以便像 Amass 这样的应用程序可以正常运行。
Dr.ROBOT 附带了一个 docker-compose.yml 文件。该文件包含一个简单的 compose 文件,用于部署 Minio 并提供运行期间收集的文件。
使用方法:
cd /path/to/drrobot/
docker-compose up
该工具严重依赖 Docker。
安装说明请参见:
你可以让任何模块支持 Ansible。
安装指南请参见安装。
brew install gnu-tareval $(ssh-agent)
ssh-add /path/to/keyfile
要添加你自己的工具,请参阅配置部分。
使用说明请参阅用法。