منهجية Recon الكاملة في Bug Bounty: من الصفر لاكتشاف الثغرات
4 أكتوبر 2026 · بواسطة Pentevo
الـ Recon هو الفرق بين باحث يجد ثغرات باستمرار وآخر يُضيع وقته على نقاط مختبَرة آلاف المرات. المنهجية الصحيحة تُوصّلك لسطح هجوم لم يره أحد بعد.
مراحل منهجية الـ Recon
المرحلة 1: Asset Discovery (اكتشاف الأصول)
↓
المرحلة 2: Scope Mapping (رسم الخريطة)
↓
المرحلة 3: Technology Fingerprinting (كشف التقنيات)
↓
المرحلة 4: Content Discovery (اكتشاف المحتوى)
↓
المرحلة 5: Attack Surface Analysis (تحليل سطح الهجوم)
المرحلة 1: Asset Discovery
النطاقات الفرعية
# Passive (دائمًا آمن)
subfinder -d example.com -all -silent > passive_subs.txt
amass enum -passive -d example.com >> passive_subs.txt
assetfinder --subs-only example.com >> passive_subs.txt
# Certificate Transparency
curl -s "https://crt.sh/?q=%.example.com&output=json" | \
jq -r '.[].name_value' | sed 's/\*\.//g' | sort -u >> passive_subs.txt
# Google Dorking (يدوي)
# site:example.com -www
# site:*.example.com
# تنظيف الملف
cat passive_subs.txt | sort -u > all_subs.txt
النطاقات المرتبطة (Related Domains)
# Reverse Whois - ابحث عن domains بنفس المالك
# استخدم domaintools.com أو whoxy.com
# ابحث عن: Registrant Email, Organization
# ASN Discovery
# ابحث عن ASN الشركة في bgp.he.net
# ثم استخرج IP ranges:
whois -h whois.radb.net -- '-i origin AS12345'
المرحلة 2: Scope Mapping والـ Live Check
# التحقق من النطاقات الحية
cat all_subs.txt | httpx -silent -status-code -title -tech-detect \
-ports 80,443,8080,8443,8888 \
-o live_hosts.txt
# تصوير الصفحات (اختياري لكن مفيد)
cat live_hosts.txt | awk '{print $1}' | gowitness file --screenshot-path ./screenshots/
# فرز النطاقات حسب الأهمية
cat live_hosts.txt | grep -E "(admin|api|dev|staging|test|internal)"
المرحلة 3: Technology Fingerprinting
# httpx يكتشف التقنيات تلقائيًا
cat live_hosts.txt | httpx -tech-detect -status-code -title -silent
# Wappalyzer CLI
wappalyzer https://example.com
# whatweb
whatweb https://example.com
# معلومات مفيدة لكشفها:
# - Framework: Rails, Django, Laravel, Spring
# - Server: Nginx, Apache, IIS
# - Database hints in headers
# - JavaScript frameworks
# - CDN/WAF: Cloudflare, Akamai
لماذا التقنيات مهمة؟
Laravel → CVE XXE في /storage
Spring → CVE Spring4Shell
Drupal → Drupalgeddon
Apache Solr → Remote Code Execution
Jira → SSRF وInformation Disclosure
Jenkins → Remote Code Execution
WordPress → آلاف الـ plugins الضعيفة
المرحلة 4: Content Discovery
# Directory Fuzzing على النطاقات المهمة
cat interesting_hosts.txt | while read host; do
ffuf -w common.txt \
-u "${host}/FUZZ" \
-fc 404 \
-o "content_${host//[^a-zA-Z0-9]/_}.json" \
-of json \
-t 50 \
-silent
done
# جمع URLs القديمة
cat live_hosts.txt | awk '{print $1}' | gau 2>/dev/null | \
grep -v -E "\.(jpg|png|gif|css|woff|ico)$" | \
sort -u > all_urls.txt
# URLs مع Parameters
cat all_urls.txt | grep "?" > urls_with_params.txt
# JavaScript files analysis
cat all_urls.txt | grep "\.js$" > js_files.txt
# استخدم LinkFinder لاستخراج URLs من JS
cat js_files.txt | while read jsurl; do
python3 linkfinder.py -i $jsurl -o cli
done
المرحلة 5: Attack Surface Analysis
تحديد الأهداف الأكثر قيمة
الأولوية العالية:
✅ نطاقات فرعية حديثة (< 6 أشهر)
✅ نقاط نهاية API غير موثّقة
✅ لوحات تحكم (admin، dashboard)
✅ بيئات staging/dev
✅ Authentication endpoints
✅ File upload endpoints
✅ Import/Export functionality
الأولوية المتوسطة:
🔶 صفحات البحث
🔶 صفحات التعليقات والمراسلة
🔶 User profile management
🔶 OAuth integration points
الأولوية المنخفضة:
⬇️ صفحات ثابتة بلا مدخلات
⬇️ صفحات تسويقية
⬇️ الصفحة الرئيسية
أتمتة الـ Recon: سكريبت متكامل
#!/bin/bash
# comprehensive_recon.sh
TARGET=$1
DATE=$(date +%Y%m%d)
DIR="recon_${TARGET}_${DATE}"
mkdir -p $DIR/{subs,live,content,urls,screenshots}
echo "[+] Starting comprehensive recon for: $TARGET"
# === Phase 1: Subdomain Discovery ===
echo "[1/5] Subdomain enumeration..."
subfinder -d $TARGET -all -silent > $DIR/subs/subfinder.txt 2>/dev/null
amass enum -passive -d $TARGET -o $DIR/subs/amass.txt 2>/dev/null
assetfinder --subs-only $TARGET > $DIR/subs/assetfinder.txt 2>/dev/null
curl -s "https://crt.sh/?q=%.${TARGET}&output=json" 2>/dev/null | \
jq -r '.[].name_value' 2>/dev/null | sed 's/\*\.//g' > $DIR/subs/crt.txt
cat $DIR/subs/*.txt | sort -u | grep -v "^\*" > $DIR/subs/all.txt
echo " Total unique subdomains: $(wc -l < $DIR/subs/all.txt)"
# === Phase 2: Live Check ===
echo "[2/5] Checking live hosts..."
cat $DIR/subs/all.txt | httpx -silent -status-code -title -tech-detect \
-o $DIR/live/live_hosts.txt 2>/dev/null
echo " Live hosts: $(wc -l < $DIR/live/live_hosts.txt)"
# === Phase 3: Nuclei Quick Scan ===
echo "[3/5] Nuclei scanning (critical/high)..."
cat $DIR/live/live_hosts.txt | awk '{print $1}' | \
nuclei -severity critical,high \
-o $DIR/content/nuclei_results.txt \
-silent 2>/dev/null
echo " Findings: $(wc -l < $DIR/content/nuclei_results.txt)"
# === Phase 4: URL Collection ===
echo "[4/5] Collecting URLs..."
cat $DIR/live/live_hosts.txt | awk '{print $1}' | \
gau 2>/dev/null | \
grep -v -E "\.(jpg|png|gif|css|woff|ico|svg|ttf)$" | \
sort -u > $DIR/urls/all_urls.txt
cat $DIR/urls/all_urls.txt | grep "?" > $DIR/urls/params.txt
echo " URLs with params: $(wc -l < $DIR/urls/params.txt)"
# === Phase 5: Interesting finds ===
echo "[5/5] Analyzing interesting targets..."
cat $DIR/live/live_hosts.txt | \
grep -E "(admin|api|dev|staging|test|internal|manage|portal)" \
> $DIR/content/interesting.txt
echo " Interesting hosts: $(wc -l < $DIR/content/interesting.txt)"
echo ""
echo "[+] Recon complete! Summary:"
echo " 📁 Output: $DIR/"
echo " 🌐 Subdomains: $(wc -l < $DIR/subs/all.txt)"
echo " ✅ Live hosts: $(wc -l < $DIR/live/live_hosts.txt)"
echo " 🔍 URLs: $(wc -l < $DIR/urls/all_urls.txt)"
echo " ⚠️ Nuclei findings: $(wc -l < $DIR/content/nuclei_results.txt)"
echo " 🎯 Priority targets: $(wc -l < $DIR/content/interesting.txt)"
الخلاصة
الـ Recon الجيد يُوصّلك لثغرات يفوتها 90% من الباحثين. ابنِ workflow تلقائيًا يُشغّل على كل هدف جديد، ولا تتسرّع في الاختبار قبل اكتمال الخريطة. كل دقيقة تستثمرها في الـ Recon توفر ساعات من البحث العشوائي.
الأسئلة الشائعة
كم وقت يجب أن أقضيه في الـ Recon؟
يعتمد على حجم الهدف. للمبتدئين، خصص 60-70% من وقتك للـ Recon و30-40% للاختبار. Recon أفضل = ثغرات أكثر.
هل الـ Recon التلقائي يكفي؟
لا. الأتمتة تجمع البيانات لكن العقل البشري يحللها. الأدوات تكتشف subdomains — أنت تقرر أيها يستحق التركيز.
هل أحتاج VPS للـ Recon؟
مفيد جدًا للعمليات الطويلة (Amass يأخذ ساعات). VPS رخيص ($5-10/شهر) يتيح تشغيل عمليات 24/7 دون تثقيل حاسوبك.
مقالات ذات صلة
اختبار اختراق APIs: الدليل العملي لـ Bug Bounty في 2026
كيف تختبر REST APIs وGraphQL وgRPC في Bug Bounty: منهجية شاملة من Fuzzing الـ Endpoints إلى IDOR وBroken Authentication وInjection.
bug-bountyكيف تكتب Writeup Bug Bounty يجذب القراء ويعزز سمعتك
دليل كتابة Writeups احترافية لثغرات Bug Bounty: البنية الصحيحة، كيف تقدّم الثغرة بإبداع، ولماذا Writeups تُضاعف دخلك وفرص عملك.
bug-bountyشرح Bugcrowd للمبتدئين: كيف تبدأ وتختار البرنامج الصحيح
دليل شامل لمنصة Bugcrowd: التسجيل، الفرق عن HackerOne، أفضل البرامج للمبتدئين، نظام Trust وPoints، وكيف تستفيد من Crowdstream.
bug-bountyثغرات Command Injection: من الاكتشاف إلى RCE الكامل
دليل شامل لثغرات OS Command Injection: كيف تعمل، أين تظهر، Payloads عملية، تقنيات Out-of-Band Detection، وكيف توثّقها في Bug Bounty.
طبّق هذا عمليًا
أكاديمية Pentevo تحوّل هذه المفاهيم إلى دروس موجّهة وفيديوهات واختبارات — مجانًا.
ابدأ التعلّم مجانًا