active recon
ال Active API Reconnaissance هو عملية تفاعل مباشر مع الهدف من خلال استخدام أدوات المسح. الهدف منها هو العثور على واجهات برمجة التطبيقات (APIs) الخاصة بالهدف وجمع المعلومات المفيدة:
1. ما هو Active Reconnaissance؟
هو طريقة لاكتشاف المعلومات عن الهدف من خلال المسح والتفاعل المباشر.
يتضمن ذلك مسح الأنظمة، وإحصاء المنافذ المفتوحة، والعثور على المنافذ التي تحتوي على خدمات HTTP.
2. استخدام Nmap
Nmap هو أداة قوية تستخدم لفحص المنافذ واكتشاف الخدمات الحية.
يمكنك تشغيل نوعين من الفحوصات:
فحص الكشف العام:
nmap -sC -sV [target address or network range] -oA nameofoutput
هذا يقوم بالكشف عن الخدمات ويجمع المعلومات.
فحص كل المنافذ:
nmap -p- [target address] -oA allportscan
هذا يتحقق من جميع 65,535 منفذ TCP.
فحص المنافذ معينه :
nmap -sV --script=http-enum <target> -p 80,443,8000,8080
3. ما هو OWASP Amass؟
OWASP Amass هو أداة سطر أوامر تُستخدم لرسم خريطة الشبكة الخارجية لهدف معين من خلال جمع معلومات مفتوحة المصدر (OSINT) من أكثر من 55 مصدرًا مختلفًا. يمكنك إعداد الأداة لإجراء مسح سلبي (Passive Scan) أو نشط (Active Scan).
المسح السلبي: يجمع المعلومات من محركات البحث مثل Google وBing وHackerOne، ومصادر شهادات SSL مثل GoogleCT وCensys، وAPIs مثل Shodan وAlienVault وGitHub.
المسح النشط: يجمع المعلومات مباشرة من الهدف عن طريق طلب معلومات الشهادة.
تحسين استخدام Amass مع مفاتيح API
لتحسين عمليات المسح باستخدام Amass، يمكنك إضافة مفاتيح API. إليك كيفية القيام بذلك:
عرض المصادر المتاحة: لتعرف أي المصادر المتاحة (مجانية ومدفوعة) لـ Amass، يمكنك تشغيل الأمر:
amass enum -list
إنشاء ملف التكوين: تحتاج إلى إنشاء ملف تكوين لإضافة مفاتيح API الخاصة بك. يمكنك القيام بذلك باستخدام:
sudo curl https://raw.githubusercontent.com/OWASP/Amass/master/examples/config.ini > ~/.config/amass/config.ini
تحديث ملف التكوين: بعد الحصول على مفاتيح API، مثل مفتاح Censys، تحتاج لتحرير ملف التكوين وإضافة المعلومات الخاصة بك:
sudo nano ~/.config/amass/config.ini
استخدام API مفتاح Censys: قم بزيارة Censys وسجل للحصول على حساب مجاني. بعد التحقق من البريد الإلكتروني، احصل على API ID وSecret وأضفها إلى ملف التكوين.
إجراء مسح باستخدام Amass: يمكنك الآن استخدام Amass لجمع معلومات حول النطاق المستهدف:
amass enum -active -d target-name.com | grep api
هذا الأمر سيظهر لك بعض النطاقات الفرعية الخاصة بالـ API.
أوامر مفيدة في Amass
جمع الشهادات SSL والبحث عن سجلات Whois العكسية:
amass intel -addr [target IP addresses]
هذا الأمر سيعطيك أسماء النطاقات المتعلقة بالهدف.
البحث عن سجلات Whois العكسية: بعد الحصول على أسماء النطاقات، يمكنك استخدام:
amass intel -d [target domain] --whois
مسح النطاقات الفرعية (بشكل passive ):
amass enum -passive -d [target domain]
مسح النطاقات الفرعية (بشكل active ):
amass enum -active -d [target domain]
استخدام خيار brute للتجسس على النطاقات الفرعية:
amass enum -active -brute -w /usr/share/wordlists/API_superlist -d [target domain] -dir [directory name]
هذا الأمر يستخدم تقنية البراوت للبحث عن نطاقات فرعية ويستخدم قائمة الكلمات الخاصة بك. يمكنك تحديد الدليل الذي تريد حفظ النتائج فيه.
4. Brute-forcing باستخدام Gobuster
Gobuster يستخدم لفحص URI وتخمين المسارات أو المجالات الفرعية.
يمكنك استخدام قوائم الكلمات الشائعة للعثور على مسارات API.
gobuster dir -u target-name.com:8000 -w /path/to/wordlist
5. استخدام Kiterunner
Kiterunner هي أداة ممتازة لاكتشاف واجهات API.
يمكنك استخدامها لإرسال طلبات HTTP بأشكال متعددة (GET, POST, PUT, DELETE) وتخمين مسارات API.
kr scan HTTP://target-url -w ~/path/to/wordlist
6. استخدام DevTools
يمكنك استخدام أدوات التطوير (DevTools) في المتصفح للبحث عن معلومات حساسة أو نقاط نهاية API.
قم بفتح DevTools (F12 أو Ctrl+Shift+I)، ثم قم بتحديث الصفحة وراقب الطلبات التي تظهر في علامة التبويب "Network".
Last updated