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