
CVE-2022-0847-DirtyPipe-Exploits
مجموعة من الاستغلالات والوثائق لاختبار الاختراق والفِرَق الحمراء (Red Teams) يمكن استخدامها للمساعدة في استغلال ثغرة Dirty Pipe في لينكس.
حول الثغرة
- Dirty Pipe (CVE-2022-0847) هي ثغرة تصعيد صلاحيات محلية في نواة لينكس قد تسمح لمستخدم غير مميز بفعل ما يلي:
- تعديل/الكتابة فوق ملفات للقراءة فقط مثل /etc/passwd.
- الحصول على شل بصلاحيات مرتفعة.
الإصدارات المتأثرة
ماسح ثغرة DirtyPipe
تجميع الاستغلال
- تم تزويدك بسكربت bash لتجميع كلا الاستغلالين تلقائيًا.
- لتجميع الاستغلال بنجاح، ستحتاج إلى تثبيت GCC.
- بعد تثبيت GCC، يمكنك تشغيل سكربت 'compile.sh" كما يلي:
الاستغلال 1 - تعديل/الكتابة فوق ملفات للقراءة فقط
- يحتوي هذا المستودع على استغلالين، يمكن استخدام 'exploit-1.c' لتعديل أو الكتابة فوق ملفات للقراءة فقط.
- هذا الاستغلال هو إثبات مفهوم طوّره Max Kellermann وتم تعديله لتغيير كلمة مرور الجذر في ملف /etc/passwd، مما يتيح لك الوصول إلى شل بصلاحيات مرتفعة.
تشغيل ملف الاستغلال
- تم تكوين كود الاستغلال مسبقًا لاستبدال كلمة مرور الجذر بكلمة المرور "piped" وسيأخذ نسخة احتياطية من ملف /etc/passwd تحت /tmp/passwd.bak. علاوة على ذلك، سيمنحك الاستغلال شل جذر بصلاحيات مرتفعة وسيستعيد ملف passwd الأصلي عند الانتهاء.
الاستغلال 2 - اختطاف ثنائيات SUID
- يمكن استخدام هذا الاستغلال لحقن والكتابة فوق بيانات في ذاكرة عمليات SUID للقراءة فقط والتي تعمل بصلاحيات الجذر.
العثور على ثنائيات SUID
find / -perm -4000 2>/dev/null
تشغيل ملف الاستغلال
./exploit-2 /usr/bin/sudo
ملاحظة مهمة
- لا أدّعي الفضل/الملكية/الكشف عن الثغرة وجميع الاستغلالات المقابلة المستضافة في مستودع GitHub هذا.
- كل الفضل يعود إلى الرائع Max Kellerman، يمكنك الاطلاع على الكشف الرسمي هنا: https://dirtypipe.cm4all.com/
الاعتمادات