
استغلال بلغة C لـ CVE-2016-5195 (Dirty COW) يقوم تلقائياً بإنشاء كلمة مرور جديدة للجذر عن طريق الكتابة فوق /etc/passwd، مما يتيح تصعيد الامتيازات المحلية.
يستخدم هذا الاستغلال استغلال البوكيمون لثغرة dirtycow كقاعدة ويقوم بتوليد سطر جديد لملف passwd تلقائيًا. سيُطلب من المستخدم إدخال كلمة المرور الجديدة عند تشغيل البرنامج. يتم بعد ذلك عمل نسخة احتياطية من ملف /etc/passwd الأصلي إلى /tmp/passwd.bak ويتم استبدال حساب الجذر بالسطر المُولَّد. بعد تشغيل الاستغلال، يجب أن تتمكن من تسجيل الدخول باستخدام المستخدم الذي تم إنشاؤه حديثًا.
لاستخدام هذا الاستغلال، قم بتعديل قيم المستخدم وفقًا لاحتياجاتك.
المستخدم الافتراضي الذي يتم إنشاؤه هو firefart.
الاستغلال الأصلي (طريقة ptrace_pokedata "pokemon" من dirtycow): https://github.com/dirtycow/dirtycow.github.io/blob/master/pokemon.c
قم بتجميعه باستخدام:
gcc -pthread dirty.c -o dirty -lcrypt
ثم قم بتشغيل البرنامج الذي تم إنشاؤه حديثًا إما عن طريق:
./dirty
أو
./dirty my-new-password
بعد ذلك، يمكنك إما استخدام su firefart أو ssh firefart@...
لا تنسَ استعادة ملف /etc/passwd الخاص بك بعد تشغيل الاستغلال!
mv /tmp/passwd.bak /etc/passwd
الاستغلال بتبني من Christian "FireFart" Mehlmauer