active recon

ال Active API Reconnaissance هو عملية تفاعل مباشر مع الهدف من خلال استخدام أدوات المسح. الهدف منها هو العثور على واجهات برمجة التطبيقات (APIs) الخاصة بالهدف وجمع المعلومات المفيدة:

1. ما هو Active Reconnaissance؟

  • هو طريقة لاكتشاف المعلومات عن الهدف من خلال المسح والتفاعل المباشر.

  • يتضمن ذلك مسح الأنظمة، وإحصاء المنافذ المفتوحة، والعثور على المنافذ التي تحتوي على خدمات HTTP.

2. استخدام Nmap

  • Nmap هو أداة قوية تستخدم لفحص المنافذ واكتشاف الخدمات الحية.

  • يمكنك تشغيل نوعين من الفحوصات:

    1. فحص الكشف العام:

      nmap -sC -sV [target address or network range] -oA nameofoutput
      • هذا يقوم بالكشف عن الخدمات ويجمع المعلومات.

    2. فحص كل المنافذ:

      nmap -p- [target address] -oA allportscan
      • هذا يتحقق من جميع 65,535 منفذ TCP.

    3. فحص المنافذ معينه :

      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. إليك كيفية القيام بذلك:

  1. عرض المصادر المتاحة: لتعرف أي المصادر المتاحة (مجانية ومدفوعة) لـ Amass، يمكنك تشغيل الأمر:

    amass enum -list
  2. إنشاء ملف التكوين: تحتاج إلى إنشاء ملف تكوين لإضافة مفاتيح API الخاصة بك. يمكنك القيام بذلك باستخدام:

    sudo curl https://raw.githubusercontent.com/OWASP/Amass/master/examples/config.ini > ~/.config/amass/config.ini
  3. تحديث ملف التكوين: بعد الحصول على مفاتيح API، مثل مفتاح Censys، تحتاج لتحرير ملف التكوين وإضافة المعلومات الخاصة بك:

    sudo nano ~/.config/amass/config.ini
  4. استخدام API مفتاح Censys: قم بزيارة Censys وسجل للحصول على حساب مجاني. بعد التحقق من البريد الإلكتروني، احصل على API ID وSecret وأضفها إلى ملف التكوين.

  5. إجراء مسح باستخدام 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