السلام عليكم ورحمة الله وبركاته
الحمد لله على جميع نِعمه علينا ما علمنا منها وما لم نعلم حمداً والصلاة والسلام على نبينا محمد اشرف الخلق والمرسلين, اما بعد:
مقدمة:
في هذي المقالة راح نشرح رفع الصلاحيات عن طريق capabilities خلونا نشرح اول شي ايش هي capabilities و ايش طريقة عملها ال capabilities فكرتها ان ممكن تعطي لملف باينري القدرة على قراءة او الكتابة على اي ملف على النظام او مثلا القدرة على تغيير ال owner تبع اي ملف
مثال عندنا القدرة هذي :
CAP_DAC_OVERRIDE تسمح لنا بقراءة اي ملف و الكتابة عليه طبعا في انواع كثير من القدرات
اتمنى وضحت فكرة ال capabilities لو شي بسيط للاطلاع اكثر:
capabilities
اليوم ف مقالتنا حابين نشوف ايش ملفات الباينري اللي تحتوي على قدرات وايش القدرات اللي ممكن تنفذها بحيث تفيدنا ف رفع الصلاحيات
اول شي كالعادة انا داخل بيوزر محدود الصلاحية اللي هو يوز test
كيف راح نعرف هل يوجد ملفات باينري تحتوي على قدرات تفيدنا في رفع الصلاحيات عن طريق الأمر هذا:
getcap -r / 2>/dev/null
نلاحظ ان في مجموعة من ملفات الباينريز يملكون قدرات مثال الباينري اللي اسمه ping يحتوي على قدرة اللي هي CAP_NET_RAW طبعا هذي القدرة تمكن الملف من التقاط البكت طبعا هذا الباينري ديفلوت يكون لدية القدرة من تنصب النظام وهذا مايهمنا اللي يهمنا ملف الباينري حق البايثون يحتوي على قدرة تمكنة من تغيير المالك ل اي ملف واسناده الى مستخدم اخر
اللحين مدام انه نقدر نغير مالك اي ملف راح اغير مالك ملف ال passwd اللي هو root واسنده لليوزر حقي اللي هو test بحيث اقدر اعدل على الملف واضيف يوزر عالي الصلاحية
نلاحظ انه اليوزر المالك لملف passwd هو root طبعا راح اغيره الى اليوزر حقنا اللي هو test عن طريق ملف الباينري حق البايثون لان زي ماذكرت قبل انه ملف الباينري حق البايثون يحتوي على قدرة تغيير المالك الى اي ملف واسنادة الى مستخدم اخر بس قبل ننفذ الامر لازم نعرف ال uid و ال gid تبع اليوزر حقنا عن طريق امر :
id
نلاحظ ال
uid=1001
gid=1001
الان راح ننفذ الامر اللي هو :
usr/bin/python3.8 -c 'import os;os.chown("/etc/passwd",1001,1001)/
نلاحظ ان تغير مالك الملف الى يوزرنا اللي هو test طبعا اللحين راح اعدل على الملف واضيف يوزر جديد عالي الصلاحية فقط راح اضيف هذا الامر اخر الملف
jehad::0:0:root:/root:/bin/bash
فقط اللحين راح نغير من يوزرنا الى يوزر jehad عن طريق هذا الأمر:
su jehad
وبكذا وصلنا الى اعلى صلاحية على النظام
شاكر لكم .
التعليقات (0)
لايوجد لديك حساب في عالم البرمجة؟
تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !