
CVE-2023-31014 इम्प्लिसिट इंटेंट हाईजैकिंग के लिए शैक्षिक Android लैब
NVIDIA GeForce NOW for Android के CVE-2023-31014 सार्वजनिक रिपोर्ट पर आधारित एक शैक्षिक Android लैब। इसमें NVIDIA सोर्स कोड, वास्तविक Action स्ट्रिंग, या वास्तविक प्रमाण-पत्र शामिल नहीं हैं।
6.00.32705137 ~ 6.04.331088326.05.33200069Oversecured ने सार्वजनिक रूप से उल्लेखित एक्सपोज़र श्रेणियाँ हैं: stream configuration, user account, game information।
| श्रेणी | कार्यान्वयन विवरण |
|---|---|
| Game Launcher | victim/MainActivity |
| सामान्य Streamer | victim/StreamerActivity |
| दुर्भावनापूर्ण Handler | attacker/HijackActivity |
| जानकारी का खुलासा | काल्पनिक गेम·खाता·सत्र·स्ट्रीम सेटिंग Extras प्रदर्शित करता है |
| सेवा से वंचित | आक्रमण Activity Intent को संभाल लेती है जिससे सामान्य Streamer प्रारंभ नहीं होता |
| सुधार | सटीक StreamerActivity को निर्दिष्ट करने वाला explicit Intent |
आधिकारिक सामग्री में वास्तविक घटक प्रकार सार्वजनिक नहीं किए गए थे। इसलिए यह लैब सीखने में आसान Activity → Activity मॉडल उपयोग करता है। कोड निष्पादन तक पहुँचने वाली वास्तविक श्रृंखला भी सार्वजनिक नहीं की गई है, इसलिए कोड निष्पादन को पुनरुत्पादित नहीं किया जाता है।
Victim Game Launcher
│
│ lab.cve202331014.action.START_STREAM
│ implicit Intent + वर्चुअल session extras
▼
Android Intent Resolver
├── Victim Normal Streamer
└── Attacker HijackActivity
सुरक्षित पथ उसी Intent पर निम्नलिखित प्रतिबंध लागू करता है।
intent.setClass(this, StreamerActivity.class);
startActivity(intent);
आवश्यकताएँ:
./gradlew :victim:assembleDebug :attacker:assembleDebug
जनरेट किए गए APK:
victim/build/outputs/apk/debug/victim-debug.apk
attacker/build/outputs/apk/debug/attacker-debug.apk
सत्यापित पूर्व-निर्मित APK भी dist/ में शामिल हैं।
dist/cve-2023-31014-victim-debug.apk
dist/cve-2023-31014-attacker-debug.apk
केवल एमुलेटर या अधिकृत परीक्षण डिवाइस पर चलाएँ।
adb install -r attacker/build/outputs/apk/debug/attacker-debug.apk
adb install -r victim/build/outputs/apk/debug/victim-debug.apk
CVE Lab Attacker खोलकर आक्रमण ऐप की भूमिका देखें।CVE Lab Victim खोलें।Normal Streamer और CVE Lab Attacker दोनों के रूप में दिखाई देते हैं या नहीं जाँचें।CVE Lab Attacker चुनें।Normal Streamer चलता है या नहीं जाँचें।यदि आपने ऐप चयनकर्ता में हमेशा उपयोग होने वाला ऐप निर्दिष्ट किया है, तो उस ऐप की सिस्टम सेटिंग्स में डिफ़ॉल्ट साफ़ करें करें और फिर से अभ्यास करें।
असुरक्षित:
Intent intent = new Intent(ACTION_START_STREAM);
intent.putExtra(EXTRA_STREAM_CONFIG, demoConfig);
startActivity(intent); // package/component नहीं
सुधारित:
Intent intent = new Intent(ACTION_START_STREAM);
intent.putExtra(EXTRA_STREAM_CONFIG, demoConfig);
intent.setClass(this, StreamerActivity.class);
startActivity(intent);
यदि डिज़ाइन में Android को एक ही निर्माता पैकेज के कई घटकों में से एक चुनना हो, तो setPackage() का उपयोग बाहरी ऐप्स को रोकने के लिए भी किया जा सकता है। एकल लक्ष्य के लिए explicit component अधिक स्पष्ट है।
निम्नलिखित मान सार्वजनिक नहीं होने के कारण जानबूझकर बनाए गए हैं।
lab.cve202331014.action.START_STREAM Actiondemo_* Extra नाम और मान203.0.113.10 दस्तावेज़ीकरण IP पताइसलिए यह प्रोजेक्ट CVE के कमजोरी सिद्धांत और सुधार विधि को पुनरुत्पादित करता है, लेकिन यह वास्तविक GeForce NOW आक्रमण PoC नहीं है।