
CVE-2016-5195 (Dirty Cow) के लिए C एक्सप्लॉइट जो /etc/passwd को ओवरराइट करके एक नया रूट यूज़र बनाने के द्वारा लोकल प्रिविलेज एस्केलेशन करता है। gcc के साथ कंपाइल होता है और नए पासवर्ड के लिए प्रॉम्प्ट करता है।
यह एक्सप्लॉइट dirtycow कमजोरी के पोकेमॉन एक्सप्लॉइट को आधार बनाकर स्वचालित रूप से एक नई passwd लाइन उत्पन्न करता है। जब बाइनरी चलाई जाती है तो उपयोगकर्ता से नए पासवर्ड के लिए संकेत दिया जाएगा। मूल /etc/passwd फ़ाइल का बैकअप /tmp/passwd.bak पर ले जाया जाता है और रूट खाते को उत्पन्न लाइन से ओवरराइट किया जाता है। एक्सप्लॉइट चलाने के बाद आप नवनिर्मित उपयोगकर्ता के साथ लॉग इन कर सकेंगे।
इस एक्सप्लॉइट का उपयोग करने के लिए अपनी आवश्यकताओं के अनुसार उपयोगकर्ता मानों को संशोधित करें।
डिफ़ॉल्ट रूप से बनाया जा रहा उपयोगकर्ता toor है।
मूल एक्सप्लॉइट (dirtycow का ptrace_pokedata "pokemon" तरीका): https://github.com/dirtycow/dirtycow.github.io/blob/master/pokemon.c
इसे संकलित करें:
gcc -pthread dirty.c -o dirty -lcrypt
फिर नवनिर्मित बाइनरी को निम्नलिखित में से कोई एक तरीका अपनाकर चलाएँ:
./dirty
या
./dirty my-new-password
इसके बाद, आप su toor या ssh toor@... का उपयोग कर सकते हैं।
एक्सप्लॉइट चलाने के बाद अपना /etc/passwd पुनर्स्थापित करना न भूलें!
mv /tmp/passwd.bak /etc/passwd
एक्सप्लॉइट को Christian "firefart" Mehlmauer द्वारा अनुकूलित किया गया