
مقدمة في استغلال ثنائيات ELF.
Rainfall هو تحدي ISO أكثر تعقيدًا قليلاً من Snow Crash. ستحتاج إلى الغوص عميقًا في الهندسة العكسية، وتعلم إعادة بناء الكود، وفهمه لاكتشاف الأخطاء. هل ستصل إلى المستوى الأخير؟
Rainfall هو مشروع من فرع الأمن السيبراني في 42، يتبع Snow Crash، ولكنه يهدف إلى استغلال ملفات بتنسيق ELF كبرامج C قابلة للتنفيذ.
يجب استخدام تقنيات مختلفة للحصول على كلمات المرور لكل مستوى:
مطلوب معرفة جيدة بلغة التجميع (x86 و x86-64) و GDB لفهم البرامج C القابلة للتنفيذ المفككة.
قمنا بتقييم هذا المشروع في مارس 2025، وحصلنا على درجة 125/100.
لبدء هذا المشروع، يجب عليك أولاً تنزيل وتثبيت ISO المقدمة من 42.
ثم تحتاج إلى استخدام جهاز افتراضي مع ISO. إذا كنت تستخدم VirtualBox، فيجب عليك ضبط إعداد Attached to في علامة التبويب Network على Host-only Adapter.
يمكنك الاتصال بالمستوى الأول باستخدام ssh. عنوان IP معروض على الشاشة الرئيسية للجهاز الافتراضي والمنفذ هو 4242. بيانات اعتماد المستوى الأول هي level0 لكل من اسم المستخدم وكلمة المرور.
ssh [email protected] -p 4242
بمجرد تسجيل الدخول، ستحتاج إلى إيجاد طريقة لقراءة ملف .pass لحساب المستخدم للمستوى التالي. يقع في الدليل الرئيسي لكل مستخدم.
level0@RainFall:~$ ./level0 $(exploit)
$ cat /home/user/level1/.pass
?????????????????????
$ exit
level0@RainFall:~$ su level1
Password:
level1@RainFall:~$ _