.______ .______ .______ ._______ ._______ ._______ _____._
:_ _ : __ : __ : .___ : __ / : .___ __ _:|
| | || ____|| ____|| : | || |> | : | | | :|
| . | || : | : | : || |> | : | | |
|. ____/ | |___| |___ _. ___/ |_______/ _. ___/ | |
:/ |___| |___| :/ :/ |___|
: : :
Copyright 2019 National Technology & Engineering Solutions von Sandia, LLC (NTESS). Gemäß den Bedingungen des Vertrags DE-NA0003525 mit NTESS behält die US-Regierung bestimmte Rechte an dieser Software.
Dr.ROBOT ist ein Tool zur Domänenaufklärung und -aufzählung . Durch die Verwendung von Containern, um den Aufwand für die Bewältigung von Abhängigkeiten, Inkonsistenzen zwischen Betriebssystemen und verschiedenen Sprachen zu reduzieren, ist Dr.ROBOT hochgradig portierbar und konfigurierbar.
Anwendungsfall : Sammeln Sie so viele öffentlich zugängliche Server, wie eine Organisation besitzt. Durch die Abfrage von DNS-Ressourcen können wir schnell eine große Liste möglicher Ziele erstellen, die Sie weiter analysieren können.
Hinweis : Dr.ROBOT ist nicht nur ein One-Trick-Pony. Sie können die zum Sammeln von Informationen verwendeten Tools ganz einfach anpassen, sodass Sie neben Ihren kampferprobten Favoriten auch die Vorteile der neuesten und besten Tools nutzen können.
Dr.ROBOT fügt Konfigurationsdateien, Vorlagen, Protokolle, Ausgabedateien und Datenbankdateien zu Ihrem $HOME
-Verzeichnis unter .drrobot
hinzu
Die Verzeichnisstruktur sieht folgendermaßen aus:
-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
Sollte Ihre Konfiguration jemals über das Speichern hinaus kaputt gehen, können Sie die Datei config.json in Ihrem $HOME
-Verzeichnis löschen und Dr.ROBOT erneut ausführen, wodurch eine neue Konfigurationsdatei für Sie generiert wird.
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
Es war mühsam, dies hinter einem Proxy auszuführen. Um dies weniger schmerzhaft zu machen, erstellen wir unter $HOME/.drrobot/*
ein Zertifikatsverzeichnis, in dem Sie Ihre CRT-Dateien hinzufügen können. Als Teil des Dockerfile-Build-Prozesses generieren wir nun Tarfiles mit den Zertifikaten, damit Anwendungen wie Amass ausgeführt werden können.
Im Lieferumfang von Dr.ROBOT ist eine docker-compose.yml-Datei enthalten. Diese Datei enthält eine einfache Compose-Datei zum Bereitstellen von Minio und den während der Laufzeit gesammelten Dateien.
Zur Verwendung:
cd /path/to/drrobot/
docker-compose up
Dieses Tool basiert stark auf Docker.
Siehe Installationsanweisungen hier:
Sie können dafür sorgen, dass jedes Modul Ansible unterstützt.
Anweisungen finden Sie in der Installationsanleitung.
brew install gnu-tar
eval $(ssh-agent)
ssh-add /path/to/keyfile
Um Ihr eigenes Tool hinzuzufügen, lesen Sie zunächst die Konfiguration.
Informationen zur Verwendung finden Sie unter „Nutzung“, um loszulegen.