
Dieses Tool kann verwendet werden, um die Subdomains eines Unternehmens zu ermitteln, indem die Ergebnisse mehrerer OSINT (Open Source Intelligence)-Tools aggregiert werden.
.______ .______ .______ ._______ ._______ ._______ . : _ \ : __ \ : __ \ : . \ : __ / : .___ \ __ :| | | || _|| _|| : | || |> \ | : | | | :| | . | || : \ | : \ | : || |> | : | | | |. __/ | || |\ _. _/ |/ _. / | | :/ || || :/ :/ |__| : : :
Copyright 2019 National Technology & Engineering Solutions of Sandia, LLC (NTESS). Gemäß den Bedingungen des Vertrags DE-NA-0003525 mit der NTESS behält die US-Regierung bestimmte Rechte an dieser Software.
Dr.ROBOT ist ein Werkzeug für Domain-Reconnaissance und -Enumeration. Durch die Verwendung von Containern, um den Aufwand für die Behandlung von Abhängigkeiten, Inkonsistenzen zwischen Betriebssystemen und verschiedenen Sprachen zu reduzieren, ist Dr.ROBOT darauf ausgelegt, hochgradig portabel und konfigurierbar zu sein.
Anwendungsfall: Sammle so viele öffentlich zugängliche Server einer Organisation wie möglich. Durch Abfragen von DNS-Ressourcen können wir schnell eine große Liste möglicher Ziele erstellen, auf die du weitere Analysen anwenden kannst.
Hinweis: Dr.ROBOT ist kein reines One-Trick-Pony. Du kannst die verwendeten Werkzeuge zur Informationssammlung einfach anpassen, sodass du die Vorteile der neuesten und besten sowie deiner kampferprobten Favoriten nutzen kannst.
Dr.ROBOT fügt Konfigurationsdateien, Vorlagen, Protokolle, Ausgabedateien und DB-Dateien in deinem $HOME-Verzeichnis unter .drrobot hinzu.
Die Verzeichnisstruktur wird so aussehen:
-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
Falls du deine Konfiguration jemals so sehr beschädigst, dass sie nicht mehr zu retten ist, kannst du die Datei config.json in deinem $HOME-Verzeichnis löschen und Dr.ROBOT erneut ausführen. Das Programm generiert dann eine neue Konfigurationsdatei für dich.
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
Das Ausführen hinter einem Proxy war mühsam. Um dies weniger mühsam zu machen, erstellen wir ein Zertifikatsverzeichnis unter $HOME/.drrobot/*, in das du deine CRT-Dateien hinzufügen kannst. Als Teil des Dockerfile-Build-Prozesses erstellen wir jetzt Tarballs mit den Zertifikaten, damit Anwendungen wie Amass ausgeführt werden können.
Mit Dr.ROBOT wird eine Datei docker-compose.yml mitgeliefert. Diese Datei enthält eine einfache Compose-Datei, um Minio und die während der Laufzeit gesammelten Dateien bereitzustellen.
So verwendest du:
cd /path/to/drrobot/
docker-compose up
Dieses Tool ist stark von Docker abhängig.
Installationsanweisungen findest du hier:
Du kannst jedes Modul dazu bringen, Ansible zu unterstützen.
Siehe die Installationsanleitung für Anweisungen.
brew install gnu-tareval $(ssh-agent)
ssh-add /path/to/keyfile
Um dein eigenes Tool hinzuzufügen, sieh dir die Konfiguration an, um loszulegen. Für die Nutzung sieh dir Nutzung an, um loszulegen.