الدرس 9 من 24

تحليل الثغرات والاستغلال

بحث الثغرات واكتشاف الاستغلالات

4 دقيقة للقراءة

بعد الاستطلاع، تحتاج لتحديد الثغرات القابلة للاستغلال. يغطي هذا الدرس كيفية البحث وإيجاد الاستغلالات العامة.

عملية الاستغلال

نتائج الاستطلاع → بحث الثغرات → اختيار الاستغلال → التعديل → التنفيذ
         ↓                ↓              ↓          ↓         ↓
    إصدارات الخدمات    البحث في قواعد البيانات   مطابقة الإصدار   إصلاح shellcode   الحصول على الوصول
    معلومات OS         قراءة التنبيهات          التحقق من الموثوقية   تحديث IPs

Searchsploit (أداة أساسية)

Searchsploit هو واجهة سطر أوامر لـ Exploit-DB، تحتوي على آلاف الاستغلالات.

الاستخدام الأساسي

# البحث عن استغلالات
searchsploit apache 2.4
searchsploit vsftpd
searchsploit windows smb

# البحث بـ CVE
searchsploit CVE-2021-44228

# مطابقة دقيقة
searchsploit -e "Apache 2.4.49"

الأعلام المفيدة

العلم الغرض مثال
-w إظهار رابط Exploit-DB searchsploit -w vsftpd
-m نسخ الاستغلال للدليل الحالي searchsploit -m 49757
-x فحص/فتح الاستغلال searchsploit -x 49757
-p إظهار المسار الكامل searchsploit -p 49757
-t البحث في العنوان فقط searchsploit -t apache
--exclude استبعاد مصطلحات searchsploit smb --exclude="dos"

سير العمل العملي

# 1. البحث عن ثغرة الخدمة
searchsploit "OpenSSH 7.2"

# 2. عرض الاستغلال
searchsploit -x linux/remote/40136.py

# 3. النسخ لدليل العمل
searchsploit -m linux/remote/40136.py

# 4. الفحص والتعديل حسب الحاجة
nano 40136.py

قواعد بيانات الاستغلالات عبر الإنترنت

Exploit-DB (exploit-db.com)

المصدر الرئيسي للاستغلالات العامة:

الميزات:
├── كود استغلال كامل
├── استغلالات موثقة (معلّمة بعلامة صح)
├── قاعدة بيانات Google Hacking
├── أوراق و shellcodes
└── البحث بـ: CVE، المنصة، النوع، التاريخ

GitHub

العديد من الاستغلالات مستضافة على GitHub:

# البحث في GitHub عن استغلالات
# النمط: CVE-YYYY-XXXXX

# أمثلة البحث:
"CVE-2021-44228 exploit"
"MS17-010 python"
"EternalBlue poc"

موارد أخرى

المورد الرابط ملاحظات
Packet Storm packetstormsecurity.com استغلالات وأدوات
0day.today 0day.today استغلالات حديثة
Rapid7 rapid7.com/db وحدات Metasploit
NVD nvd.nist.gov تفاصيل CVE

تقييم الاستغلالات

قبل تشغيل أي استغلال، قيّمه:

قائمة المراجعة:
□ هل يطابق الإصدار الدقيق؟
□ هل هو موثق/موثوق؟
□ بأي لغة مكتوب؟
□ هل يتطلب تعديل؟
□ ماذا يفعل الكود فعلياً؟
□ هل هناك تبعيات؟
□ هل هو DoS أم RCE فعلي؟

قراءة كود الاستغلال

اقرأ الكود دائماً قبل التشغيل:

# ابحث عن هذه الأقسام:
# 1. تكوين الهدف
RHOST = "192.168.1.10"  # غيّر هذا
RPORT = 445             # تحقق من المنفذ
LHOST = "192.168.1.5"   # عنوان IP الخاص بك
LPORT = 4444            # منفذ المستمع الخاص بك

# 2. Payload/shellcode
# تحقق من صحة البنية (x86/x64)
# تحقق إذا كان IP/المنفذ يحتاج تحديث

# 3. التعليقات والاستخدام
# اقرأ ملاحظات المؤلف
# تحقق من المتطلبات

بحث CVE

فهم صيغة CVE

CVE-2021-44228
│    │    │
│    │    └── رقم التسلسل
│    └── سنة الاكتشاف/التعيين
└── الثغرات والتعرضات الشائعة

خطوات البحث

# 1. البحث في NVD للتفاصيل
# nvd.nist.gov/vuln/detail/CVE-XXXX-XXXXX

# 2. فحص درجة CVSS
# حرجة (9.0-10.0)، عالية (7.0-8.9)، متوسطة (4.0-6.9)، منخفضة (0.1-3.9)

# 3. قراءة تنبيه البائع
# فحص الإصدارات المتأثرة
# البحث عن التصحيحات/الحلول البديلة

# 4. البحث عن PoC
searchsploit CVE-2021-44228
# بحث GitHub

مطابقة الإصدار

مطابقة الإصدار الدقيقة أمر حاسم:

لافتة الخدمة: Apache/2.4.49 (Unix)
البحث: searchsploit "apache 2.4.49"
الاستغلال: Apache 2.4.49 - Path Traversal
التحقق: فحص تعليقات الاستغلال للإصدارات الدقيقة

التعامل مع نطاقات الإصدار

الاستغلال يذكر: "متأثر: 2.4.0 - 2.4.49"
إصدار الهدف: 2.4.41

النتيجة: ✓ الهدف ضمن النطاق المتأثر

أنواع الاستغلالات التي يجب معرفتها

النوع الوصف مثال
تنفيذ الكود عن بعد تنفيذ أوامر عن بعد MS17-010
تصعيد الصلاحيات المحلي الارتقاء من مستخدم إلى root DirtyPipe
تجاوز المصادقة تخطي آليات تسجيل الدخول بيانات اعتماد افتراضية
اجتياز المسار الوصول لملفات خارج webroot ../../../etc/passwd
حقن SQL التلاعب بقاعدة البيانات ' OR 1=1--
حقن الأوامر تنفيذ أوامر OS ; id

نصائح تعديل الاستغلالات

معظم الاستغلالات تحتاج تعديل قبل الاستخدام:

# التعديلات الشائعة المطلوبة:
# 1. عناوين IP
RHOST = "10.10.10.10"   # عنوان IP الهدف
LHOST = "10.10.14.5"    # عنوان IP الخاص بك (tun0)

# 2. المنافذ
RPORT = 80              # منفذ الهدف
LPORT = 443             # منفذ المستمع الخاص بك

# 3. Shellcode
# توليد shellcode جديد مع msfvenom
# msfvenom -p linux/x64/shell_reverse_tcp LHOST=x LPORT=y -f python

# 4. إصدار Python
#!/usr/bin/env python3  # تحديث shebang

# 5. التبعيات
# pip install requests pwntools

في الدرس التالي، سنغطي إنشاء والتعامل مع shells للحفاظ على الوصول. :::

اختبار

الوحدة 3: تحليل الثغرات والاستغلال

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.