Android Task Hijacking

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

Try Hard सुरक्षा समूह


टास्क, बैक स्टैक और फॉरग्राउंड एक्टिविटीज

एंड्रॉयड में, एक टास्क मुख्य रूप से उन एक्टिविटीज का समूह है जिनका उपयोग उपयोगकर्ता एक विशिष्ट कार्य पूरा करने के लिए करते हैं, जो एक बैक स्टैक में संगठित होते हैं। इस स्टैक में एक्टिविटीज को उनके खोले जाने के क्रम पर क्रमबद्ध किया जाता है, जिसमें सबसे हाल की एक्टिविटी शीर्ष पर फॉरग्राउंड एक्टिविटी के रूप में प्रदर्शित की जाती है। किसी भी समय, केवल यह एक्टिविटी स्क्रीन पर दिखाई देती है, जिससे यह फॉरग्राउंड टास्क का हिस्सा बन जाती है।

यहाँ एक्टिविटी के संक्रियान्तरण का एक त्वरित विवरण है:

  • एक्टिविटी 1 शीर्ष पर एकमात्र एक्टिविटी के रूप में शुरू होती है।

  • एक्टिविटी 2 को लॉन्च करने से एक्टिविटी 1 को बैक स्टैक में धकेल दिया जाता है, जिससे एक्टिविटी 2 फॉरग्राउंड में आ जाती है।

  • एक्टिविटी 3 को शुरू करने से एक्टिविटी 1 और एक्टिविटी 2 को स्टैक में और पीछे ले जाता है, जिससे एक्टिविटी 3 अब सामने है।

  • एक्टिविटी 3 को बंद करने से एक्टिविटी 2 फिर से फॉरग्राउंड में आ जाती है, जिससे एंड्रॉयड का संक्षिप्त टास्क नेविगेशन तंत्र प्रदर्शित होता है।

टास्क अफिनिटी हमला

टास्क अफिनिटी और लॉन्च मोड का अवलोकन

एंड्रॉयड एप्लिकेशन में, टास्क अफिनिटी एक एक्टिविटी की पसंदीदा टास्क को निर्धारित करती है, जो सामान्यत: एप्लिकेशन के पैकेज नाम के साथ मेल खाती है। यह सेटअप एक प्रमाण-ऑफ-कॉन्सेप्ट (PoC) एप्लिकेशन को तैयार करने में महत्वपूर्ण है जो हमला प्रदर्शित करने के लिए।

लॉन्च मोड

launchMode विशेषता टास्क के भीतर एक्टिविटी इंस्टेंस का हैंडलिंग निर्देशित करती है। सिंगलटास्क मोड इस हमले के लिए महत्वपूर्ण है, जो मौजूदा एक्टिविटी इंस्टेंस और टास्क अफिनिटी मैच के आधार पर तीन स्थितियों को निर्दिष्ट करता है। यह हमला एक हमलाकर्ता के एप्लिकेशन को लक्षित लक्ष्य एप्लिकेशन की टास्क अफिनिटी की तुलना करने की क्षमता पर निर्भर है, जिससे एंड्रॉयड सिस्टम को धोखा देकर लक्षित लक्ष्य की बजाय हमलाकर्ता का एप्लिकेशन लॉन्च किया जाता है।

विस्तृत हमला कदम

  1. दुर्भाग्यपूर्ण एप्लिकेशन स्थापना: पीड़ित व्यक्ति अपने डिवाइस पर हमलाकर्ता का एप्लिकेशन स्थापित करता है।

  2. प्रारंभिक सक्रियण: पीड़ित व्यक्ति पहली बार दुर्भाग्यपूर्ण एप्लिकेशन को खोलता है, उपकरण को हमले के लिए सेट करते हुए।

  3. लक्षित एप्लिकेशन लॉन्च प्रयास: पीड़ित व्यक्ति लक्षित एप्लिकेशन को खोलने का प्रयास करता है।

  4. हाइजैक निष्पादन: मेल खाती टास्क अफिनिटी के कारण, लक्षित एप्लिकेशन की बजाय दुर्भाग्यपूर्ण एप्लिकेशन लॉन्च किया जाता है।

  5. धोखा: दुर्भाग्यपूर्ण एप्लिकेशन लक्षित एप्लिकेशन के जैसा दिखने वाली एक नकली लॉगिन स्क्रीन प्रस्तुत करता है, उपयोगकर्ता को संवेदनशील जानकारी दर्ज करने में धोखा देता है।

इस हमले का व्यावहारिक कार्यान्वयन के लिए, GitHub पर Task Hijacking Strandhogg रिपॉजिटरी पर संदर्भित करें: Task Hijacking Strandhogg

रोकथाम उपाय

इस तरह के हमलों को रोकने के लिए, डेवलपर्स taskAffinity को खाली स्ट्रिंग पर सेट कर सकते हैं और singleInstance लॉन्च मोड का चयन कर सकते हैं, अन्यों से अपने एप्लिकेशन को अलग रखने की सुनिश्चित करते हैं। onBackPressed() फ़ंक्शन को कस्टमाइज़ करना टास्क हाइजैकिंग के खिलाफ अतिरिक्त सुरक्षा प्रदान करता है।

संदर्भ

Try Hard सुरक्षा समूह

जानें AWS हैकिंग को शून्य से हीरो तक htARTE (HackTricks AWS Red Team Expert) के साथ!

HackTricks का समर्थन करने के अन्य तरीके:

Last updated