Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
OverRide — استغلال الثنائيات والهندسة العكسية (من التجميع إلى لغة سي) | Kitploit
أدوات/GitHubGitHub/anyaschukin/override
الهندسة العكسيةCTFالتعلم والتعليماستغلال الملفات الثنائيةمختبرات وتدريب عملي
GitHubanyaschukin/override

OverRide

استغلال الثنائيات والهندسة العكسية (من التجميع إلى لغة سي)

عرض المستودع
7215منذ 5 سنواتتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة

OverRide

استكشف التفكيك (disassembly) واستغلال الثنائيات (binary exploitation) والهندسة العكسية (reverse-engineering) عبر 10 تحديات صغيرة.

في مجلد كل مستوى ستجد:

  • flag - كلمة مرور المستوى التالي

  • README.md - كيفية العثور على كلمة المرور

  • source.c - الثنائي المعاد هندسته

  • dissasembly_notes.md - ملاحظات عن لغة التجميع (asm)

راجع الموضوع لمزيد من التفاصيل.

لمزيد من المتعة مع gdb والاستغلال، اطّلع على المشروع السابق RainFall.

النتيجة النهائية 125/100

بدء الاستخدام

حمّل أولاً من 42 OverRide.iso.

إعداد الآلة الافتراضية

على نظام Mac OSX، ثبّت VirtualBox.

في VirtualBox أنشئ آلة افتراضية جديدة (اضغط New).

  • الاسم ونظام التشغيل - النوع: Linux، الإصدار: (Oracle 64-bit)

استمر عبر جميع الخطوات التالية بالإعدادات الافتراضية:

  • حجم الذاكرة: 4MB
  • القرص الصلب: إنشاء قرص الآن
  • نوع ملف القرص الصلب: VDI (VirtualBox Disk Image)
  • التخزين على القرص الصلب الفعلي: مخصص ديناميكياً (Dynamically allocated)
  • حجم الملف: 12,00GB

بعد ذلك اضغط Settings > Network > Adapter 1 > Attached to: Bridged Adapter.

لا تزال في الإعدادات، اضغط Storage > على يمين "Controller: IDE"، يوجد أيقونة قرص مضغوط مع علامة + (إضافة محرك أقراص ضوئي). اضغط Add Disk Image، واختر OverRide.iso.

اضغط Start لبدء الآلة الافتراضية، وبمجرد تشغيلها يجب أن تظهر عنوان IP للآلة الافتراضية وتطلب تسجيل الدخول.

اتصال SSH

سجّل الدخول من شل منفصل كمستخدم level00 بكلمة مرور level00.

ssh level00@{VM_IP} -p 4242

التقدم في المستوى

كمستخدم level00 الهدف هو قراءة كلمة مرور المستخدم level01، والموجودة في /home/users/level01/.pass. لكن المستخدم level00 لا يمتلك صلاحيات قراءة هذا الملف.

في المجلد الرئيسي للمستخدم level00 يوجد ثنائي (binary) باسم level00 مع تعيين SUID ومالكه level01.

هذا يعني أنه عند تنفيذ الثنائي level00، ننفذه بصلاحيات المستخدم level01.

يجب أن نجد ثغرة في الثنائي level00 باستخدام gdb. ثم نستغل الثغرة لتنفيذ system("/bin/sh")، مما يفتح شل كمستخدم level01 حيث لدينا صلاحيات قراءة كلمة المرور.

cat /home/users/level01/.pass

ثم سجّل الدخول كمستخدم level01.

su level01

كرّر ذلك لكل مستوى.

الثنائي المعاد هندسته

لكل مستوى، قمنا بهندسة عكسية للـ source.c الأصلي من خلال فحص تفكيك gdb للثنائي.

نظرة عامة على المستويات

  • 0 - كلمة مرور مشفرة بشكل ثابت (Hardcoded password)

  • 1 - هجوم Ret2Libc

  • 2 - هجوم سلسلة تنسيق printf()

  • 3 - تخمين كلمة المرور بالقوة العمياء (Brute force)

  • 4 - تجاوز سعة المكدس (stack overflow) عبر gets() + هجوم Return-to-libc

  • 5 - شيل كود (Shellcode) في متغير بيئة + هجوم سلسلة تنسيق printf()

  • 6 - قيمة تجزئة (hash) يمكن اكتشافها باستخدام gdb

  • 7 - هجوم Ret2Libc على جدول بيانات غير محمي

  • 8 - الثنائي يقوم بنسخ احتياطي لكلمة المرور عبر رابط رمزي (symlink)

  • 9 - خطأ Off-by-one

الفريق

كتبت هذا المشروع في فريق مع الموهوب جداً @dfinnis.

تنزيل الأداة