
मैंने अक्टूबर 2022 में एंड्रॉइड के पैकेज मैनेजर बाइनरी (pm) और डीबगिंग फ्लैग को संभालने के तरीके में खोजा गया शोषण, मार्च 2023 तक पैच किया गया। सिस्टम शेल प्राप्त करने के लिए पेलोड के रूप में CVE-2019-16253 का उपयोग करता है।
2019 में, एक कमजोरी पाई गई जिसे "CVE-2019-16253" के नाम से जाना जाएगा, जो संस्करण 3.0.02.7 से पहले के Samsung के TTS इंजन को प्रभावित करती थी। यह शोषण एक स्थानीय हमलावर को विशेषाधिकारों को सिस्टम विशेषाधिकारों तक बढ़ाने की अनुमति देता था और बाद में Samsung द्वारा इसे पैच किया गया।
मूलतः, Samsung का TTS ऐप TTS इंजन से प्राप्त किसी भी डेटा को आँख मूंदकर स्वीकार कर लेता था। आप TTS इंजन को एक लाइब्रेरी पास कर सकते हैं जो तब TTS एप्लिकेशन को दी जाएगी, जो बदले में उस लाइब्रेरी को लोड करेगी और इसे सिस्टम विशेषाधिकारों के साथ निष्पादित करेगी, Android पर UID 1000। बाद में इसे पैच किया गया ताकि TTS ऐप इंजन से आने वाले डेटा और स्थापित संस्करण को सत्यापित करे, इस विशेष खामी को बंद करते हुए।
हालाँकि, Android 10 के साथ, Google ने ENABLE_ROLLBACK पैरामीटर के साथ एक एप्लिकेशन स्थापित करके उसे वापस रोल करने की क्षमता शुरू की। यह उपयोगकर्ता को डिवाइस पर स्थापित किसी ऐप के संस्करण को डिवाइस पर स्थापित पिछले संस्करण में वापस लाने की अनुमति देता है। मेरा मानना है कि एक निरीक्षण ने इसे Samsung के टेक्स्ट-टू-स्पीच एप्लिकेशन के साथ-साथ वर्तमान में किसी भी Android 10+ डिवाइस पर किसी भी एप्लिकेशन तक विस्तारित करने की अनुमति दी है।
इस किल-चेन की जड़ सब कुछ एप्लिकेशन स्थापित करते समय पैकेज-मैनेजर कमांड में जोड़े गए '-d' फ्लैग पर वापस आती है। इसे केवल डीबग करने योग्य ऐप्स के लिए काम करना चाहिए, लेकिन यह गैर-डीबग करने योग्य एप्लिकेशन के लिए भी काम करता है और यही कारण है कि TTS ऐप को जबरदस्ती डाउनग्रेड किया जा सकता है।
दूसरे शब्दों में, जबकि 2019 में शोषण को ठीक कर दिया गया था और TTS ऐप का एक अद्यतन संस्करण वितरित किया गया था, पहले एक, अब कई वर्कअराउंड और बायपास खोजे गए हैं जो तीन (और शायद चार) साल बाद जारी उपकरणों पर शोषण को स्थापित और शोषण करने के लिए हैं, जिससे यह सवाल उठता है कि पिछले कितने शोषण पुनर्जीवित हो सकते हैं।
मार्च में, Samsung ने शोषण के लिए एक पैच जारी किया, हालाँकि, मैं मार्च के Samsung पैच के लिए जल्दी से एक वर्कअराउंड खोजने में सक्षम था और इसकी सूचना दी गई और पैच भी किया गया, जिससे कुख्यात "TTS System Shell" की 2 साल की गाथा समाप्त हुई।
सरल गाइड --
1 सभी APK स्थापित करें, कम से कम एक बार खोलें।
2 रिबूट करें, जब डिवाइस रीबूट हो जाए, तो ADB से निम्नलिखित कमांड चलाएँ।
"adb shell pm install -r -d -f -g --full --install-reason 3 --enable-rollback /data/local/tmp/samsungTTSVULN2.apk "
3 एक कंसोल में, nc -lp 9999 टाइप करें।
4 दूसरे कंसोल में निम्नलिखित कमांड चलाएँ: adb shell am start -n com.samsung.SMT/.gui.DownloadList
हो गया।
यदि इसे शुरू करने में समस्या हो रही है, तो SMT (Samsung Text-To-Speech) को पूरी तरह से अनइंस्टॉल करें, फिर असुरक्षित संस्करण को पुनः स्थापित करें और चरण 3 से पुनः प्रयास करें।
02/2023 तक पैच किया गया जैसा कि XDA पर सार्वजनिक प्रकटीकरण को XDA मॉडरेटर्स द्वारा हटाए जाने से पहले देखा गया था। अन्यथा यह यहाँ एक संग्रह के रूप में अपरिवर्तित रहेगा।
यह इस लेख को लिखने के समय तक बने सभी Samsung मोबाइल उपकरणों के लिए काम करने की उम्मीद है, कुछ JDM उपकरणों को छोड़कर। (01/19/2023)
काम करने वाली अच्छी चीज़ें: अधिकांश /efs /efs/imei /efs/sec_efs /efs/FactoryApp तक पहुँच - अधिकांश /data /data/system /data/user/0/ANY_SYSTEM_APP तक पहुँच - "Insthk" बिन उपयोग योग्य हो जाता है, - Secure Folder/Separated Apps पूरी तरह से समझौता हो जाता है यदि आप इसमें POC भी स्थापित करते हैं (UID 150_system) - IOTHidden Menu, DM Mode, Service Mode, Multiple Debugging और छिपे हुए मेनू के साथ-साथ सिस्टम संदर्भ में preconfig शुरू करें - कई संरक्षित प्रॉप्स बदलें, जैसे: setprop persist.service.adb.root 1 setprop service.adb.root 1 setprop sys.hidden.otatest 1 setprop sys.hiddenmenu.enable 1 setprop persist.sys.knox.device_owner true setprop persist.sys.usb.qxdm.debug 1 setprop sys.usb.qxdm.debug 1 setprop presist.service.adb.enable 1 setprop persist.sys.usb.qxdm.debug 1 setprop service.adb.enable 1 setprop persist.rollback.is_test true setprop sys.oem_unlock_allowed 1 साथ ही और भी बहुत कुछ।
आसान तरीका - चरण 1 - "Komraids System Shell.zip" डाउनलोड करें, (संलग्न नवीनतम संस्करण है) और डेस्कटॉप पर कहीं भी निकालें। चरण 2 - "samsungTTSVULN2.apk" को /data/local/tmp पर पुश करें। चरण 3 - सुनिश्चित करें कि USB डिबगिंग चालू है, और कंप्यूटर अधिकृत है। साथ ही पावर सेविंग बंद रखें। चरण 4 - komraids_POC_V1.5.apk स्थापित करें, डिवाइस को रीबूट करें। चरण 5 - जब डिवाइस पूरी तरह से रीबूट और अनलॉक हो जाए, तो systemshell.exe चलाएँ। चरण 6 - अब आप UID 1000 वाले शेल में होने चाहिए। आनंद लें। आप जिसके साथ छेड़छाड़ करते हैं, उससे सावधान रहें।
ध्यान देने योग्य बातें: .exe को प्रत्येक रीबूट के बाद केवल एक बार चलाने की आवश्यकता है, आप इसे पसंद करें तो इसका उपयोग कर सकते हैं, या आप नीचे "यह कैसे काम करता है?" से चरण 5 का पालन करके स्वयं मैन्युअल रूप से एक सिस्टम शेल खोल सकते हैं।
बेवकूफ मत बनो, मैं आपके किसी भी बेवकूफी भरे काम के लिए जिम्मेदार नहीं हूँ। PWNED - K0mraid3 2022-10-06 175216.png
@oakieville को .exe और इस प्रोजेक्ट के कोड को ट्वीक करने में बहुत मदद के लिए बहुत-बहुत धन्यवाद।
यह प्रोजेक्ट VAULT-TEC Dev Ops द्वारा आपके लिए लाया गया है!