Privilege Escalation(capabilities)

تصعيد الصلاحية عن طريق ال capabilities

Jehad Alqurashiمنذ سنتين

السلام عليكم ورحمة الله وبركاته

الحمد لله على جميع نِعمه علينا ما علمنا منها وما لم نعلم حمداً والصلاة والسلام على نبينا محمد اشرف الخلق والمرسلين, اما بعد:

مقدمة:

في هذي المقالة راح نشرح رفع الصلاحيات عن طريق 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

وبكذا وصلنا الى اعلى صلاحية على النظام 

 

 

شاكر لكم .

كلمات دليلية: exploit hacking privilege
0
إعجاب
722
مشاهدات
0
مشاركة
1
متابع

التعليقات (0)

لايوجد لديك حساب في عالم البرمجة؟

تحب تنضم لعالم البرمجة؟ وتنشئ عالمك الخاص، تنشر المقالات، الدورات، تشارك المبرمجين وتساعد الآخرين، اشترك الآن بخطوات يسيرة !