
يمكن استخدام هذه الأداة لتعداد النطاقات الفرعية المرتبطة بشركة ما من خلال تجميع نتائج أدوات OSINT (استخبارات المصادر المفتوحة) المتعددة.
.______ .______ .______ ._______ ._______ ._______ . : _ \ : __ \ : __ \ : . \ : __ / : .___ \ __ :| | | || _|| _|| : | || |> \ | : | | | :| | . | || : \ | : \ | : || |> | : | | | |. __/ | || |\ _. _/ |/ _. / | | :/ || || :/ :/ |__| : : :
[](https://defcon.org/html/defcon-27/dc-27-demolabs.html#Dr.%20ROBOT)[](https://github.com/sandialabs/dr_robot/blob/master/LICENSE)[](https://travis-ci.org/sandialabs/dr_robot)[](https://github.com/sandialabs/dr_robot/blob/master/CHANGELOG.md)
حقوق الطبع والنشر 2019 لصالح شركة National Technology & Engineering Solutions of Sandia, LLC (NTESS). بموجب شروط العقد DE‑NA0003525 مع NTESS، تحتفظ الحكومة الأمريكية بحقوق معينة في هذا البرنامج.
## مقدمة
Dr.ROBOT هي أداة لل**استطلاع والتعداد في النطاقات**. من خلال استخدام الحاويات لتقليل عبء التعامل مع التبعيات، وعدم التوافق عبر أنظمة التشغيل، واللغات المختلفة، تم تصميم Dr.ROBOT ليكون عالي المرونة وقابلية التكوين.
**حالة الاستخدام**: جمع أكبر عدد ممكن من الخوادم العامة التي تمتلكها المؤسسة. الاستعلام عن موارد DNS يمكننا من تطوير قائمة كبيرة من الأهداف المحتملة بسرعة يمكنك إجراء تحليلات إضافية عليها.
**ملاحظة**: Dr.ROBOT ليست مجرد أداة ذات استخدام واحد. يمكنك تخصيص الأدوات المستخدمة لجمع المعلومات بسهولة، بحيث يمكنك الاستمتاع بفوائد استخدام أحدث الأدوات إلى جانب أدواتك المفضلة التي تم اختبارها.
### قائمة الأدوات الحالية
* Altdns
* Amass
* Anubis
* Aquatone (Discover portion, when aquatone had multiple parts)
* CT-Exposer
* CTFR
* Eyewitness
* HTTPScreenshot
* Knock
* NMap Screenshot
* NMap
* Reconng
* Subbrute
* Subfinder
* Sublist3r
* Webscreenshot
* GoWitness
## ملفات التكوين
يضيف 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
إذا أفسدت ملف التهيئة الخاص بك بشكل يتعذر إصلاحه، يمكنك حذف ملف config.json الموجود في الدليل ```$HOME``` الخاص بك وإعادة تشغيل Dr.ROBOT، والذي سينشئ ملف تهيئة جديد لك.
## التثبيت (باستخدام pip)
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
## التثبيت (باستخدام pipenv)
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
## الشهادات
كان تشغيل هذا خلف وكيل أمرًا مزعجًا. لجعل ذلك أقل إزعاجًا، نقوم بإنشاء دليل certs تحت المسار ```$HOME/.drrobot/*``` حيث يمكنك إضافة ملفات crt الخاصة بك. كجزء من عملية بناء ملف dockerfile، نقوم الآن بإنشاء ملفات tar تحتوي على الشهادات بحيث يمكن للتطبيقات، مثل Amass، العمل.
## Minio
مرفق مع Dr.ROBOT ملف docker-compose.yml. يحتوي هذا الملف على compose بسيط لتشغيل Minio والملفات التي تم جمعها أثناء وقت التشغيل.
لاستخدامه:
cd /path/to/drrobot/ docker-compose up
## Docker
تعتمد هذه الأداة بشكل كبير على Docker.
راجع تعليمات التثبيت هنا:
* [Docker Ubuntu](https://docs.docker.com/install/linux/docker-ce/ubuntu/)
* [Docker MacOS](https://docs.docker.com/docker-for-mac/install/)
* [Docker Windows](https://docs.docker.com/docker-for-windows/install/)
## Ansible
يمكنك جعل أي وحدة تدعم Ansible.
راجع دليل [التثبيت](https://docs.ansible.com/ansible/latest/installation_guide/intro_installation.html#intro-installation-guide) للتعليمات.
* إذا كنت تستخدم جهاز Mac، فستحتاج إلى تثبيت gnu-tar لكي يتمكن Ansible من فك ضغط الملفات المضغوطة: ```brew install gnu-tar```
* إذا كان لديك مفتاح SSH مشفر يتطلب كلمة مرور للاستخدام ولا ترغب في إدخال كلمة المرور لكل أمر يتم تشغيله عن بعد، ففكر في استخدام **ssh-agent**
eval $(ssh-agent) ssh-add /path/to/keyfile
## الوثائق
لإضافة أداتك الخاصة، راجع [التكوين](https://github.com/sandialabs/dr_robot/blob/HEAD/readmes/config.md) للبدء.
للاستخدام، راجع [الاستخدام](https://github.com/sandialabs/dr_robot/blob/HEAD/readmes/usage.md) للبدء.