
أداة POC مبنية بلغة بايثون لثغرة DirtyPipe (CVE-2022-0847) للحصول على شل بصلاحيات الجذر
هذا استغلال لثغرة نواة لينكس CVE-2022-0847 (DirtyPipe) التي اكتشفها Max Kellerman.
يجمع هذا الكود بين اثنين من أدوات إثبات المفهوم (POC) الحالية لـ DirtyPipe في كود واحد:
يتحقق هذا الكود مما يلي:
ثم ينفذ أول خيار ممكن بهذا الترتيب ويسقط المستخدم مباشرة في شل جذر.
لشرح ممتاز للثغرة نفسها، انظر مقال Kellerman.
يتطلب بايثون 10.X لاستخدام os.splice
usage: dirty.py [-h] [--target {passwd,group,sudo,su}]
Use dirty pipe vulnerability to pop root shell
options:
-h, --help show this help message and exit
--target {passwd,group,sudo,su}
The target read-only file to overwrite
vulnerable@kali:~$ python dirty.py
vulnerable@kali:~$ python dirty.py --target passwd
قد يكتب السكربت عدة ملفات إلى /tmp:
يجب إزالة الملفات المُنشأة بعد التنفيذ، لكن قد يتطلب ذلك صلاحيات الجذر.
يستبدل هذا الاستغلال صفحة من الملف الموجودة في ذاكرة التخزين المؤقت للصفحات (page cache). من غير المرجح أن يتلف الملف الفعلي. إذا حدث تلف أو خطأ، فغالبًا ما تحتاج فقط إلى الانتظار حتى تُستبدل الصفحة في الذاكرة المؤقتة، أو إعادة تشغيل جهازك لإصلاح أي مشاكل. ومع ذلك، فأنا لا أتحمل أي مسؤولية عن الأضرار الناجمة عن هذا الكود، لذا يرجى القراءة بعناية والقرصنة بمسؤولية. تأكد أيضًا من الاطلاع على مقال Max Kellerman على cm4all.com.