Tapjacking
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Tapjacking एक हमला है जहाँ एक दुष्ट ऐप्लिकेशन लॉन्च किया जाता है और यह एक पीड़ित ऐप्लिकेशन के ऊपर खुद को स्थिति में रखता है। जब यह पीड़ित ऐप को दृश्यमान रूप से ढक लेता है, तो इसका उपयोगकर्ता इंटरफ़ेस इस तरह से डिज़ाइन किया गया है कि उपयोगकर्ता को इसके साथ इंटरैक्ट करने के लिए धोखा दिया जा सके, जबकि यह इंटरैक्शन को पीड़ित ऐप की ओर भेज रहा है। इसका प्रभाव यह है कि यह उपयोगकर्ता को यह जानने से अंधा कर देता है कि वे वास्तव में पीड़ित ऐप पर क्रियाएँ कर रहे हैं।
इस हमले के प्रति संवेदनशील ऐप्स का पता लगाने के लिए, आपको एंड्रॉइड मैनिफेस्ट में निर्यातित गतिविधियों की खोज करनी चाहिए (ध्यान दें कि एक गतिविधि जिसमें एक इरादा-फिल्टर है, डिफ़ॉल्ट रूप से स्वचालित रूप से निर्यातित होती है)। एक बार जब आप निर्यातित गतिविधियों को ढूंढ लेते हैं, तो जांचें कि क्या उन्हें कोई अनुमति की आवश्यकता है। इसका कारण यह है कि दुष्ट ऐप्लिकेशन को भी उस अनुमति की आवश्यकता होगी।
इस स्रोत के अनुसार, Android 12 (API 31 & 30) और उच्चतर से टेपजैकिंग हमलों को स्वचालित रूप से Android द्वारा रोका जाता है। इसलिए, भले ही ऐप्लिकेशन संवेदनशील हो, आप इसे शोषण नहीं कर पाएंगे।
filterTouchesWhenObscured
यदि android:filterTouchesWhenObscured
को true
पर सेट किया गया है, तो View
को तब भी स्पर्श नहीं मिलेगा जब दृश्य की विंडो किसी अन्य दृश्यमान विंडो द्वारा ढकी हुई हो।
setFilterTouchesWhenObscured
गुण setFilterTouchesWhenObscured
को सत्य पर सेट करने से इस संवेदनशीलता के शोषण को भी रोका जा सकता है यदि एंड्रॉइड संस्करण कम है।
यदि इसे true
पर सेट किया गया है, तो उदाहरण के लिए, एक बटन को स्वचालित रूप से अक्षम किया जा सकता है यदि यह ढका हुआ है:
सबसे हाल का Android एप्लिकेशन जो Tapjacking हमला करता है (+ हमले के एप्लिकेशन की निर्यातित गतिविधि से पहले सक्रिय करना) यहाँ पाया जा सकता है: https://github.com/carlospolop/Tapjacking-ExportedActivity.
इसे उपयोग करने के लिए README निर्देशों का पालन करें.
एक उदाहरण प्रोजेक्ट जो FloatingWindowApp को लागू करता है, जिसे अन्य गतिविधियों के ऊपर क्लिकजैकिंग हमले को करने के लिए रखा जा सकता है, यहाँ पाया जा सकता है FloatingWindowApp (थोड़ा पुराना, apk बनाने में शुभकामनाएँ).
ऐसा लगता है कि यह प्रोजेक्ट अब बनाए नहीं रखा गया है और यह कार्यक्षमता अब ठीक से काम नहीं कर रही है
आप qark का उपयोग --exploit-apk
--sdk-path /Users/username/Library/Android/sdk
पैरामीटर के साथ एक दुर्भावनापूर्ण एप्लिकेशन बनाने के लिए कर सकते हैं ताकि संभावित Tapjacking कमजोरियों का परीक्षण किया जा सके।\
निवारण अपेक्षाकृत सरल है क्योंकि डेवलपर यह चुन सकता है कि जब एक दृश्य दूसरे द्वारा ढका होता है तो स्पर्श घटनाएँ प्राप्त न करें। Android Developer’s Reference का उपयोग करते हुए:
कभी-कभी यह आवश्यक होता है कि एक एप्लिकेशन यह सत्यापित कर सके कि कोई क्रिया उपयोगकर्ता की पूरी जानकारी और सहमति के साथ की जा रही है, जैसे कि अनुमति अनुरोध को स्वीकार करना, खरीदारी करना या विज्ञापन पर क्लिक करना। दुर्भाग्यवश, एक दुर्भावनापूर्ण एप्लिकेशन उपयोगकर्ता को इन क्रियाओं को करने के लिए धोखा देने की कोशिश कर सकता है, बिना यह जाने कि दृश्य का उद्देश्य क्या है। एक उपाय के रूप में, ढांचा एक स्पर्श फ़िल्टरिंग तंत्र प्रदान करता है जिसका उपयोग संवेदनशील कार्यक्षमता तक पहुँच प्रदान करने वाले दृश्यों की सुरक्षा में सुधार के लिए किया जा सकता है।
स्पर्श फ़िल्टरिंग सक्षम करने के लिए,
setFilterTouchesWhenObscured(boolean)
को कॉल करें या android:filterTouchesWhenObscured लेआउट विशेषता को true पर सेट करें। जब सक्षम किया जाता है, तो ढांचा उन स्पर्शों को अस्वीकार कर देगा जो तब प्राप्त होते हैं जब दृश्य की खिड़की किसी अन्य दृश्य खिड़की द्वारा ढकी होती है। परिणामस्वरूप, दृश्य को तब स्पर्श प्राप्त नहीं होंगे जब एक टोस्ट, संवाद या अन्य खिड़की दृश्य की खिड़की के ऊपर प्रकट होती है।
AWS हैकिंग सीखें और अभ्यास करें:HackTricks Training AWS Red Team Expert (ARTE) GCP हैकिंग सीखें और अभ्यास करें: HackTricks Training GCP Red Team Expert (GRTE)