
CVE-2022-0847-DirtyPipe-Exploits
مجموعة من الاستغلالات والوثائق لمختبر الاختراق وأعضاء الفريق الأحمر يمكن استخدامها للمساعدة في استغلال ثغرة Dirty Pipe في لينكس.
حول الثغرة
- Dirty Pipe (CVE-2022-0847) هي ثغرة رفع صلاحيات محلية في نواة لينكس قد تتيح لمستخدم غير مميز القيام بما يلي:
- تعديل/الكتابة فوق ملفات للقراءة فقط مثل /etc/passwd.
- الحصول على شل بصلاحيات مرتفعة.
الإصدارات المتأثرة
ماسح ثغرة DirtyPipe
تجميع الاستغلال
- تم توفير سكريبت تجميع آلي بلغة باش لأتمتة تجميع كلا الاستغلالين.
- لتجميع الاستغلال بنجاح، ستحتاج إلى تثبيت 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/
الإسنادات