
أداة أمنية لجمع المعلومات متعدد الخيوط وتعداد الخدمات مع بناء هياكل الدليل لتخزين النتائج، بالإضافة إلى كتابة توصيات لمزيد من الاختبارات.

أداة استكشاف مصممة لمختبرات OSCP لأتمتة جمع المعلومات وتعداد الخدمات، مع إنشاء بنية دليل لتخزين النتائج والاكتشافات والاستغلالات المستخدمة لكل مضيف، وأوامر موصى بها للتنفيذ وهياكل دليل لتخزين الغنائم والأعلام.
المساهمات مرحب بها أكثر!
على الرغم من أن Reconnoitre أداة محبوبة قمت بصيانتها لعدة سنوات، إلا أنها في رأيي تتضاءل من حيث الوظائف مقارنة ببناء نهج التعداد الخاص بك داخل Interlace. أوصي بشدة أي شخص يريد تجاوز OSCP في مجال أمن المعلومات بقضاء بعض الوقت في النظر إلى هذا المشروع.
تعتمد هذه الأداة بشكل كبير على العمل الذي نشره مايك تشوماك (T_v3rn1x) في مراجعته لـ OSCP (رابط) بالإضافة إلى تأثير كبير ورمز مأخوذ من mix-recon الخاص بـ Re4son (رابط). فحص المضيف الافتراضي مقتبس أصلاً من عمل teknogeek المتأثر بشدة بنص اكتشاف المضيف الافتراضي لـ jobertabma (رابط). تم اقتباس رمز إضافي لفحص المضيف الافتراضي من مشروع لي ولـ Tim Kent، متوفر هنا (رابط).
لتثبيت Reconnoitre، قم أولاً بعمل نسخة محلية من المستودع عن طريق تنفيذ الأمر التالي في المكان الذي ترغب في وجوده:
git clone https://github.com/codingo/Reconnoitre.git
بعد القيام بذلك، قم بتشغيل setup.py بالأمر التالي:
python3 setup.py install
بعد تشغيل الإعداد، سيكون Reconnoitre الآن في مسارك (باسم reconnoitre) ويمكنك تشغيله من أي مكان باستخدام:
reconnoitre <args>
يمكن استخدام هذه الأداة ونسخها للاستخدام الشخصي بحرية، ولكن يجب تقديم الإسناد والائتمان إلى مايك تشوماك الذي بدأ في الأصل عملية أتمتة هذا العمل.
لاحظ أن هذه بعض الأمثلة لإعطائك فكرة عن حالات الاستخدام المحتملة لهذه الأداة. يمكن إضافة أو إزالة سطور الأوامر بناءً على ما ترغب في تحقيقه من فحصك.
reconnoitre -t 192.168.1.5 -o /root/Documents/labs/ --services
مثال على الإخراج سيكون كالتالي:
root@kali:~/# reconnoitre -t 192.168.1.5 --services -o /root/Documents/labs/
__
|"""\-= RECONNOITRE
(____) An OSCP scanner
[#] Performing service scans
[*] Loaded single target: 192.168.1.5
[+] Creating directory structure for 192.168.1.5
[>] Creating scans directory at: /root/Documents/labs/192.168.1.5/scans
[>] Creating exploit directory at: /root/Documents/labs/192.168.1.5/exploit
[>] Creating loot directory at: /root/Documents/labs/192.168.1.5/loot
[>] Creating proof file at: /root/Documents/labs/192.168.1.5/proof.txt
[+] Starting quick nmap scan for 192.168.1.5
[+] Writing findings for 192.168.1.5
[>] Found HTTP service on 192.168.1.5:80
[>] Found MS SMB service on 192.168.1.5:445
[>] Found RDP service on 192.168.1.5:3389
[*] TCP quick scan completed for 192.168.1.5
[+] Starting detailed TCP/UDP nmap scans for 192.168.1.5
[+] Writing findings for 192.168.1.5
[>] Found MS SMB service on 192.168.1.5:445
[>] Found RDP service on 192.168.1.5:3389
[>] Found HTTP service on 192.168.1.5:80
[*] TCP/UDP Nmap scans completed for 192.168.1.5
والذي سيكتب أيضاً ملف التوصيات التالي في مجلد المسح لكل هدف:
[*] Found HTTP service on 192.168.1.50:80
[>] Use nikto & dirb / dirbuster for service enumeration, e.g
[=] nikto -h 192.168.1.50 -p 80 > /root/Documents/labs/192.168.1.50/scans/192.168.1.50_nikto.txt
[=] dirb http://192.168.1.50:80/ -o /root/Documents/labs/192.168.1.50/scans/192.168.1.50_dirb.txt -r -S -x ./dirb-extensions/php.ext
[=] java -jar /usr/share/dirbuster/DirBuster-1.0-RC1.jar -H -l /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -r /root/Documents/labs/192.168.1.50/scans/192.168.1.50_dirbuster.txt -u http://192.168.1.50:80/
[=] gobuster -w /usr/share/seclists/Discovery/Web_Content/common.txt -u http://192.168.1.50:80/ -s '200,204,301,302,307,403,500' -e > /root/Documents/labs/192.168.1.50/scans/192.168.1.50_gobuster_common.txt -t 50
[=] gobuster -w /usr/share/seclists/Discovery/Web_Content/cgis.txt -u http://192.168.1.50:80/ -s '200,204,301,307,403,500' -e > /root/Documents/labs/192.168.1.50/scans/192.168.1.50_gobuster_cgis.txt -t 50
[>] Use curl to retreive web headers and find host information, e.g
[=] curl -i 192.168.1.50
[=] curl -i 192.168.1.50/robots.txt -s | html2text
[*] Found MS SMB service on 192.168.1.5:445
[>] Use nmap scripts or enum4linux for further enumeration, e.g
[=] nmap -sV -Pn -vv -p445 --script="smb-* -oN '/root/Documents/labs/192.168.1.5/nmap/192.168.1.5_smb.nmap' -oX '/root/Documents/labs/192.168.1.5/scans/192.168.1.5_smb_nmap_scan_import.xml' 192.168.1.5
[=] enum4linux 192.168.1.5
[*] Found RDP service on 192.168.1.5:3389
[>] Use ncrackpassword cracking, e.g
[=] ncrack -vv --user administrator -P /root/rockyou.txt rdp://192.168.1.5
reconnoitre -t 192.168.1.1-252 -o /root/Documents/testing/ --pingsweep --hostnames
reconnoitre -t 192.168.1.1-252 -o /root/Documents/testing/ --pingsweep --services --quick
سيقوم هذا بفحص جميع الخدمات ضمن نطاق الهدف لإنشاء هيكل ملفات للمضيفين النشطين وكذلك كتابة توصيات لأوامر أخرى لتنفيذها بناءً على الخدمات المكتشفة على هذه الأجهزة. إزالة --quick ستقوم بفحص أعمق لكنها ستطيل وقت التنفيذ بشكل كبير.
reconnoitre -t 192.168.1.1-252 -o /root/Documents/testing/ --pingsweep --services
الشرط الأساسي لفحص المضيف والخدمة لهذه الأداة هو تثبيت كل من nbtscan و nmap. إذا كنت لا تستخدم فحص المضيف وتريد فقط إجراء مسح ping وفحص خدمات، فيمكنك الاكتفاء بتثبيت nmap. غالباً ما يوصي ملف findings.txt الناتج بأدوات إضافية قد لا تكون متوفرة في توزيعتك إذا لم تكن تستخدم Kali Linux. جميع المتطلبات والتوصيات أصلية في Kali Linux وهو التوزيع الموصى به (وإن لم يكن مطلوباً) لاستخدام هذه الأداة.
بالإضافة إلى هذه المتطلبات، غالباً ما تشير المخرجات إلى قوائم كلمات قد تحتاج إلى العثور عليها. إذا كنت تجتاز OSCP، يمكنك العثور عليها في موضوع "قائمة الأدوات الموصى بها" بواسطة g0tmilk. إذا لم يكن الأمر كذلك، فيمكنك العثور على معظمها عبر الإنترنت أو بالفعل ضمن تثبيت Kali Linux.
الخطوة الأولى هي تثبيت docker إذا لم يكن مثبتاً لديك بالفعل. تثبيت Docker
الاستخدام الأساسي:
cd <مجلد Reconnoitre>
docker build -t reconnoitre .
docker run reconnoitre -o outputdir -t 127.0.0.1
إذا كنت تريد وجود الملفات محلياً، يمكنك تثبيت مجلد في حاوية Docker
cd <مجلد Reconnoitre>
docker build -t reconnoitre .
mkdir /path/to/dir
docker run -v /path/to/dir:/outputdir --services -o outputdir -t 127.0.0.1
| الوسيط | الوصف |
|---|
| -h, --help | عرض رسالة المساعدة والخروج |
| -t TARGET_HOSTS | تعيين نطاق من العناوين المستهدفة أو مضيف واحد للاستهداف. يمكن أن يكون أيضاً ملفاً يحتوي على مضيفين. |
| -o OUTPUT_DIRECTORY | تعيين الدليل الهدف حيث يجب كتابة النتائج. |
| -w WORDLIST | تحديد قائمة كلمات خاصة بك لاستخدامها في الأوامر المجمعة مسبقاً أو الهجمات المنفذة. |
| --pingsweep | كتابة ملف target.txt جديد في OUTPUT_DIRECTORY عن طريق إجراء مسح ping واكتشاف المضيفين النشطين. |
| --dns, --dnssweep | البحث عن خوادم DNS من قائمة الهدف(الأهداف). |
| --snmp | البحث عن المضيفين المستجيبين لطلبات SNMP من قائمة الهدف(الأهداف). |
| --services | إجراء فحص خدمات على الهدف(الأهداف) وكتابة توصيات لأوامر إضافية لتنفيذها. |
| --hostnames | محاولة اكتشاف أسماء المضيفين المستهدفة وكتابتها في hostnames.txt. |
| --virtualhosts | محاولة اكتشاف المضيفين الافتراضيين باستخدام قائمة الكلمات المحددة. يمكن توسيع ذلك عبر أسماء المضيفين المكتشفة. |
| --ignore-http-codes | قائمة مفصولة بفواصل لأكواد http التي سيتم تجاهلها في فحص المضيف الافتراضي. |
| --ignore-content-length | تجاهل أطوال المحتوى بمقدار محدد. قد يصبح ذلك مفيداً عندما يعيد الخادم صفحة ثابتة لكل تخمين مضيف افتراضي. |
| --quiet | إخفاء الشعار والرؤوس وتحديد التعليقات إلى نتائج قابلة للبحث. |
| --quick | الانتقال إلى الهدف التالي بعد إجراء فحص سريع وكتابة التوصيات الأولية. |
| --no-udp | تعطيل فحص خدمة UDP، وهو مفعل افتراضياً. |