VIKIROOT
यह 64-बिट Android 6.0.1 Marshmallow (शायद 7.0?) के लिए CVE-2016-5195 PoC है, साथ ही एक सार्वभौमिक और स्थिर अस्थायी रूट टूल है। इसमें SUID निष्पादन योग्य या कोई फ़ाइलसिस्टम परिवर्तन की आवश्यकता नहीं है।
विशेषताएँ
- SELinux बाईपास (विवरण के लिए नीचे देखें।)
- केवल मेमोरी: फ़ाइलसिस्टम को संशोधित नहीं करता या विशेष निष्पादन योग्य की आवश्यकता नहीं है।
- स्थिर: आपके डिवाइस की स्थिरता को प्रभावित नहीं करता।
- स्केलेबल: नए कर्नेल और/या नए उपकरणों को जोड़ना आसान।
- प्रतिवर्ती: रूट शेल समाप्त होने के बाद बैकडोर स्वचालित रूप से साफ हो जाता है, जिसका अर्थ है कि उपयोग के बाद रीबूट की आवश्यकता नहीं है।
ध्यान दें
"SELinux बाईपास" से मेरा मतलब है कि पेलोड init domain में चलेगा, भले ही SELinux प्रवर्तन मोड में हो, हालांकि, init domain को अनकन्फाइंड बनाने के लिए sepolicy में पैच की अभी भी आवश्यकता है। आमतौर पर इसका मतलब है कि एक संशोधित बूट इमेज की आवश्यकता है।
पूर्वापेक्षा
- I, Robot आइज़ैक असिमोव द्वारा।
- "डर्टीकाउ-सक्षम" डिवाइस।
- पैच किया गया sepolicy।
निर्माण
प्री-बिल्ट बाइनरी रिलीज़ पेज पर उपलब्ध हैं। अन्यथा, बस NDK स्टैंडअलोन टूलचेन को PATH में जोड़ें और make चलाएँ।
उपयोग
आप इसे adb शेल के माध्यम से चला सकते हैं (इसे /data/local/tmp के अंतर्गत रखें) और बिल्ट-इन टर्मिनल या nc जैसे रिमोट टर्मिनल सर्वर में रूट शेल प्राप्त कर सकते हैं। विवरण के लिए, इसे बिना किसी पैरामीटर के चलाएँ।
समस्या निवारण
- सबसे पहले कृपया ऊपर "ध्यान दें" भाग को पढ़ें।
- "पेलोड के लिए अपर्याप्त स्थान" या "अज्ञात कर्नेल": रीबूट की आवश्यकता है।
- "रिवर्स कनेक्ट शेल की प्रतीक्षा कर रहा है": कृपया अपने डिवाइस को जगाएं, घड़ी/अलार्म ऐप खोलें या बैकडोर को ट्रिगर करने के लिए ब्लूटूथ स्विच टॉगल करें।
- फिर भी कोई सफलता नहीं: कृपया "dbg" संस्करण चलाएं और जेनरेट की गई फ़ाइलों के साथ मुझे एक ईमेल भेजें, जो कर्नेल के कुछ भाग का डंप मात्र हैं और इनमें कोई व्यक्तिगत जानकारी नहीं है।
श्रेय
- vDSO पैचिंग विधि के लिए scumjr।
- sepolicy समस्या को डीबग करने में मेरी मदद करने के लिए Tzul।
- इसे bionic के साथ काम करने के लिए RenaKunisaki।
आगामी कार्य
- x86 समर्थन और अन्य के लिए कर्नेल डेटाबेस को समृद्ध करें।
- Android 7 Nougat पर इसका परीक्षण करें (सहायता वांछित!)।