
أداة استطلاع شبكي متعددة الخيوط تقوم بأتمتة تعداد الخدمات ومسح المنافذ وجمع المعلومات لاختبار الاختراق وبيئات CTF.
إنها مثل البولينج مع الحواجز. - @ippsec
AutoRecon هي أداة مسح شبكي متعددة الخيوط تقوم بالتعداد الآلي للخدمات. صُممت كأداة لتوفير الوقت للاستخدام في CTFs وبيئات اختبار الاختراق الأخرى (مثل OSCP). قد تكون مفيدة أيضًا في المهام الواقعية.
تعمل الأداة عن طريق إجراء مسح للمنافذ / مسح اكتشاف الخدمات أولاً. من تلك النتائج الأولية، ستطلق الأداة مسوحات تعداد إضافية لتلك الخدمات باستخدام عدد من الأدوات المختلفة. على سبيل المثال، إذا تم العثور على HTTP، سيتم تشغيل feroxbuster (بالإضافة إلى العديد من الأدوات الأخرى).
كل شيء في الأداة قابل للتكوين بدرجة كبيرة. التكوين الافتراضي لا يقوم بأي استغلال تلقائي للحفاظ على الأداة متوافقة مع قواعد امتحان OSCP. إذا كنت ترغب في إضافة أدوات استغلال تلقائية إلى التكوين، فأنت تفعل ذلك على مسؤوليتك الخاصة. لن يتحمل المؤلف المسؤولية عن الإجراءات السلبية الناتجة عن سوء استخدام هذه الأداة.
إخلاء مسؤولية: بينما تسعى AutoRecon إلى القيام بأكبر قدر ممكن من تحديد وتعداد الخدمات، لا يوجد ضمان بأنه سيتم تحديد كل خدمة، أو أن كل خدمة سيتم تعدادها بالكامل. يجب على مستخدمي AutoRecon (خاصة الطلاب) القيام بالتعداد اليدوي الخاص بهم إلى جانب AutoRecon. لا تعتمد على هذه الأداة وحدها في الامتحانات أو CTFs أو المهام الأخرى.
استُلهمت AutoRecon من ثلاث أدوات استخدمها المؤلف أثناء مختبرات OSCP: Reconnoitre و ReconScan و bscan. بينما كانت الأدوات الثلاثة مفيدة، لم يكن لدى أي منها بمفرده الوظائف المطلوبة. تجمع AutoRecon بين أفضل ميزات الأدوات المذكورة أعلاه مع تنفيذ العديد من الميزات الجديدة لمساعدة المختبرين في تعداد أهداف متعددة.
هناك ثلاث طرق لتثبيت AutoRecon: pipx، pip، والتثبيت اليدوي. قبل التثبيت باستخدام أي من هذه الطرق، يجب استيفاء متطلبات معينة. إذا لم تقم بتحديث ذاكرة التخزين المؤقت لـ apt مؤخرًا، فقم بتشغيل الأمر التالي حتى تقوم بتثبيت أحدث الحزم المتاحة:```bash sudo apt update
### Python 3
يتطلب AutoRecon استخدام Python 3.8+ و pip، والتي يمكن تثبيتها على Kali Linux باستخدام الأوامر التالية:```bash
sudo apt install python3
sudo apt install python3-pip
تشير العديد من الأوامر المستخدمة في AutoRecon إلى مشروع SecLists، في الدليل /usr/share/seclists/. يمكنك إما تنزيل مشروع SecLists يدويًا إلى هذا الدليل (https://github.com/danielmiessler/SecLists)، أو إذا كنت تستخدم Kali Linux (موصى به بشدة) يمكنك تشغيل الأوامر التالية:```bash sudo apt install seclists
سيظل AutoRecon يعمل حتى إذا لم تقم بتثبيت SecLists، على الرغم من أن بعض الأوامر قد تفشل، وقد لا تعمل بعض الأوامر اليدوية أيضًا.
بالإضافة إلى ذلك، قد يلزم تثبيت الأوامر التالية، اعتمادًا على نظام التشغيل لديك:```
curl
dnsrecon
enum4linux
feroxbuster
gobuster
impacket-scripts
nbtscan
nikto
nmap
onesixtyone
oscanner
redis-tools
smbclient
smbmap
snmpwalk
sslscan
svwar
tnscmd10g
whatweb
في Kali Linux، يمكنك التأكد من تثبيتها جميعًا باستخدام الأوامر التالية:```bash sudo apt install seclists curl dnsrecon enum4linux feroxbuster gobuster impacket-scripts nbtscan nikto nmap onesixtyone oscanner redis-tools smbclient smbmap snmp sslscan sipvicious tnscmd10g whatweb
### طريقة التثبيت رقم 1: pipx (موصى به)
يوصى باستخدام `pipx` لتثبيت AutoRecon. سيقوم pipx بتثبيت AutoRecon في بيئته الافتراضية الخاصة، وجعله متاحًا في السياق العام، مما يتجنب تعارض تبعيات الحزم وعدم الاستقرار الناتج عن ذلك. أولاً، قم بتثبيت pipx باستخدام الأوامر التالية:```bash
sudo apt install python3-venv
python3 -m pip install --user pipx
python3 -m pipx ensurepath
سيكون عليك إعادة تحميل ملف ~/.bashrc أو ~/.zshrc (أو فتح علامة تبويب جديدة) بعد تشغيل هذه الأوامر لاستخدام pipx.
قم بتثبيت AutoRecon باستخدام الأمر التالي:```bash pipx install git+https://github.com/Tib3rius/AutoRecon.git
لاحظ أنه إذا كنت ترغب في تشغيل AutoRecon باستخدام sudo (مطلوب لـ SYN scanning الأسرع و UDP scanning)، فيجب عليك استخدام _أحد_ الأمثلة التالية:```bash
sudo env "PATH=$PATH" autorecon [OPTIONS]
sudo $(which autorecon) [OPTIONS]
بدلاً من ذلك، يمكنك استخدام pip لتثبيت AutoRecon باستخدام الأمر التالي:```bash
python3 -m pip install git+https://github.com/Tib3rius/AutoRecon.git
لاحظ أنه إذا كنت تريد تشغيل AutoRecon باستخدام sudo (مطلوب لمسح SYN الأسرع ومسح UDP)، فسيتعين عليك تشغيل الأمر أعلاه كمستخدم root (أو باستخدام sudo).
على غرار `pipx`، إذا تم التثبيت باستخدام `pip` فيمكنك تشغيل AutoRecon ببساطة عن طريق تنفيذ `autorecon`.
### طريقة التثبيت #3: يدويًا
إذا كنت تفضل عدم استخدام `pip` أو `pipx`، فلا يزال بإمكانك تثبيت وتنفيذ `autorecon.py` يدويًا كسكريبت. من داخل دليل AutoRecon، قم بتثبيت التبعيات:```bash
python3 -m pip install -r requirements.txt
ستتمكن بعد ذلك من تشغيل البرنامج النصي autorecon.py:```bash
python3 autorecon.py [OPTIONS] 127.0.0.1
## الترقية
### pipx
ترقية AutoRecon عندما تم تثبيته باستخدام pipx هي الأسهل، ولهذا السبب يُوصى بهذه الطريقة. ببساطة، قم بتشغيل الأمر التالي:```bash
pipx upgrade autorecon
إذا كنت قد قمت بتثبيت AutoRecon باستخدام pip، فسيتعين عليك أولاً إلغاء تثبيت AutoRecon ثم إعادة التثبيت باستخدام نفس أمر التثبيت:```bash python3 -m pip uninstall autorecon python3 -m pip install git+https://github.com/Tib3rius/AutoRecon.git
### يدويًا
إذا قمت بتثبيت AutoRecon يدويًا، فما عليك سوى التبديل إلى دليل AutoRecon وتشغيل الأمر التالي:```bash
git pull
بافتراض أنك لم تقم بتعديل أي محتوى في دليل AutoRecon، يجب أن يقوم هذا بسحب أحدث كود من مستودع GitHub هذا، وبعد ذلك يمكنك تشغيل AutoRecon باستخدام سكريبت autorecon.py كالمعتاد.
عملية تحديث الإضافات قيد التطوير. حتى ذلك الحين، بعد الترقية، قم بإزالة دليل ~/.local/share/AutoRecon وقم بتشغيل AutoRecon بأي وسيط لإعادة تعبئته بأحدث الملفات.
يستخدم AutoRecon وظائف خاصة بـ Python 3 ولا يدعم Python 2.``` usage: autorecon [-t TARGET_FILE] [-p PORTS] [-m MAX_SCANS] [-mp MAX_PORT_SCANS] [-c CONFIG_FILE] [-g GLOBAL_FILE] [--tags TAGS] [--exclude-tags TAGS] [--port-scans PLUGINS] [--service-scans PLUGINS] [--reports PLUGINS] [--plugins-dir PLUGINS_DIR] [--add-plugins-dir PLUGINS_DIR] [-l [TYPE]] [-o OUTPUT] [--single-target] [--only-scans-dir] [--no-port-dirs] [--heartbeat HEARTBEAT] [--timeout TIMEOUT] [--target-timeout TARGET_TIMEOUT] [--nmap NMAP | --nmap-append NMAP_APPEND] [--proxychains] [--disable-sanity-checks] [--disable-keyboard-control] [--force-services SERVICE [SERVICE ...]] [--accessible] [-v] [--version] [--curl.path VALUE] [--dirbuster.tool {feroxbuster,gobuster,dirsearch,ffuf,dirb}] [--dirbuster.wordlist VALUE [VALUE ...]] [--dirbuster.threads VALUE] [--dirbuster.ext VALUE] [--onesixtyone.community-strings VALUE] [--global.username-wordlist VALUE] [--global.password-wordlist VALUE] [--global.domain VALUE] [-h] [targets ...]