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 द्वारा स्वचालित रूप से tapjacking हमलों को रोका जाता है। इसलिए, भले ही एप्लिकेशन संवेदनशील हो, आप इसे शोषण नहीं कर पाएंगे।
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)