أسعد الله أوقاتكم بكل خير ..
استكمالًا للمقال السابق عن الـ Dirty COW ، سوف نقوم بتطبيقه بشكل عملي مع إرفاق كافة الادوات و الملفات الخاصة بها.
ملاحظة:
قبل آن تبدأ في اي معمل يجب قراءة جميع المتطلبات الخاصة بها لتفادي المشاكل والاعطال و أُنبه على التركيز بأرقام الإصدارات للأدوات و البرامج فبعض الثغرات و الاختبارات تكون مهيئة على اصدارات قديمة.
الأدوات المستخدمة:
- VirtualBox version 6.0.16:
- Ubuntu 12.04 VM:
- cow_attack.c (ملف يحتوي على الثغرة بلغة الـ C).
- ملف المهام ( من المهم الاطلاع عليه) :
بسم الله على بركة الله نبدأ
ينقسم المهام المراد عملها الى مهمتين، و هي كالتالي:
الأولى Modify a Dummy Read-Only File :
الهدف من هذه المهمة هو الكتابة إلى ملف للقراءة فقط باستخدام ثغرة Dirty COW.
نحتاج أولاً إلى تحديد ملف الهدف بالرغم من أن هذا الملف يمكن أن يكون أي ملف للقراءة فقط في النظام ، إلا أننا سنستخدم ملف وهمي (Dummy File); و السبب حتى لو ارتكبنا اخطاء لا نسبب الضرر على ملف النظام.
سنقوم بالبداية بإنشاء ملف يسمى zzz و تغيير صلاحيته للقراءة فقط للمستخدم العادي، وباستخدام امر الـ gedit سنكتب نصًا كالاتي:
111111222222333333
نحاول الكتابة كمستخدم عادي باضافة (999999) للملف ، و نلاحظ آنه يرفض لعدم وجود صلاحية الكتابة. ومع ذلك ، بسبب ثغرة Dirty COW في النظام ، يمكننا إيجاد طريقة للكتابة على هذا الملف.
هدفنا التالي هو استبدال النمط "222222" بـ "******".
- عند فتح ملف الثغرة (cow_attack.c) يمكننا ملاحظة الملف المستهدف و الجز المستهدف في الملف.
- هذا الجزء مهمته استبدال ب"******" بحيث انه لن يعدل على الملف الاساسي فقط النسخة منه.
و بعد ذلك نستخدم امر (a.out/.) لتشغيل الثغرة لبضع ثوان و بعدها نوقفه و نتأكد من نجاح الهجوم.
الثاني Modify the Password File to Gain the Root Privilege | تعديل على ملف Password للتصعيد الصلاحيات:
هدفنا الان على ملف نظام حقيقي ، حتى نتمكن من الحصول على صلاحيات الـ Root.
ملف / etc / passwd هو الهدف. يحتوي الملف على معلومات حساب المستخدم ، سجل واحد لكل مستخدم.
اهم سجل هو الـ (UID) المخصصة للمستخدم. وهي المسؤولة الفعلية عن التحكم في الوصول في Linux ، لذا فإن هذه القيمة مهمة جدً في الـ security.
سنقوم بإنشاء حساب جديد يسمى charlie ، وسنحول هذا المستخدم العادي إلى root باستخدام هجوم Dirty COW.
- إضافة حساب جديد يكون باستخدام الأمر adduser.
بعد إنشاء الحساب ، يتم إضافة record جديد إلى / etc / passwd. انظر ما يلي:
- المهمة التالية:
في الختام تم رفع التطبيق على اليوتيوب يمكننكم الاطلاع عليه، اقرأ و ابحث و تعلم.
تطبيق عملي على اليوتيوب:
المصادر:
- https://seedsecuritylabs.org/Labs_20.04/Software/Dirty_COW/
- https://dirtycow.ninja
- https://www.youtube.com/watch?v=Lj2YRCXCBv8
No comments:
Post a Comment