Bypass Biometric Authentication (Android)

HackTricks का समर्थन करें

विधि 1 – बिना क्रिप्टो ऑब्जेक्ट उपयोग के बायपास करना

यहाँ ध्यान onAuthenticationSucceeded कॉलबैक पर है, जो ऑथेंटिकेशन प्रक्रिया में महत्वपूर्ण है। WithSecure के शोधकर्ताओं ने एक Frida स्क्रिप्ट विकसित की, जो onAuthenticationSucceeded(...) में NULL CryptoObject के बायपास को सक्षम बनाती है। यह स्क्रिप्ट विधि के आह्वान पर फिंगरप्रिंट ऑथेंटिकेशन का स्वचालित बायपास करने के लिए मजबूर करती है। नीचे एक सरल स्निपेट है जो एंड्रॉइड फिंगरप्रिंट संदर्भ में बायपास को प्रदर्शित करता है, पूरी एप्लिकेशन GitHub पर उपलब्ध है।

biometricPrompt = new BiometricPrompt(this, executor, new BiometricPrompt.AuthenticationCallback() {
@Override
public void onAuthenticationSucceeded(@NonNull BiometricPrompt.AuthenticationResult result) {
Toast.makeText(MainActivity.this,"Success",Toast.LENGTH_LONG).show();
}
});

Frida स्क्रिप्ट चलाने के लिए कमांड:

frida -U -f com.generic.insecurebankingfingerprint --no-pause -l fingerprint-bypass.js

विधि 2 – अपवाद प्रबंधन दृष्टिकोण

Another Frida script by WithSecure addresses bypassing insecure crypto object usage. The script invokes onAuthenticationSucceeded with a CryptoObject that hasn't been authorized by a fingerprint. If the application tries to use a different cipher object, it will trigger an exception. The script prepares to invoke onAuthenticationSucceeded and handle the javax.crypto.IllegalBlockSizeException in the Cipher class, ensuring subsequent objects used by the application are encrypted with the new key.

Frida script चलाने के लिए कमांड:

frida -U -f com.generic.insecurebankingfingerprint --no-pause -l fingerprint-bypass-via-exception-handling.js

फिंगरप्रिंट स्क्रीन पर पहुँचने और authenticate() के आरंभ होने पर, बायपास सक्रिय करने के लिए Frida कंसोल में bypass() टाइप करें:

Spawning com.generic.insecurebankingfingerprint...
[Android Emulator 5554::com.generic.insecurebankingfingerprint]-> Hooking BiometricPrompt.authenticate()...
Hooking BiometricPrompt.authenticate2()...
Hooking FingerprintManager.authenticate()...
[Android Emulator 5554::com.generic.insecurebankingfingerprint]-> bypass()

विधि 3 – इंस्ट्रुमेंटेशन फ्रेमवर्क्स

इंस्ट्रुमेंटेशन फ्रेमवर्क्स जैसे Xposed या Frida का उपयोग रनटाइम पर एप्लिकेशन विधियों में हुक करने के लिए किया जा सकता है। फिंगरप्रिंट प्रमाणीकरण के लिए, ये फ्रेमवर्क कर सकते हैं:

  1. प्रमाणीकरण कॉलबैक को मॉक करें: BiometricPrompt.AuthenticationCallback के onAuthenticationSucceeded, onAuthenticationFailed, या onAuthenticationError विधियों में हुक करके, आप फिंगरप्रिंट प्रमाणीकरण प्रक्रिया के परिणाम को नियंत्रित कर सकते हैं।

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

Frida के लिए उदाहरण कमांड:

frida -U -l script-to-bypass-authentication.js --no-pause -f com.generic.in

विधि 4 – रिवर्स इंजीनियरिंग और कोड संशोधन

रिवर्स इंजीनियरिंग उपकरण जैसे APKTool, dex2jar, और JD-GUI का उपयोग एक Android एप्लिकेशन को डिकंपाइल करने, इसके स्रोत कोड को पढ़ने और इसके प्रमाणीकरण तंत्र को समझने के लिए किया जा सकता है। सामान्यतः चरणों में शामिल हैं:

  1. APK को डिकंपाइल करना: APK फ़ाइल को एक अधिक मानव-पठनीय प्रारूप (जैसे Java कोड) में परिवर्तित करें।

  2. कोड का विश्लेषण करना: फिंगरप्रिंट प्रमाणीकरण के कार्यान्वयन की तलाश करें और संभावित कमजोरियों की पहचान करें (जैसे बैकअप तंत्र या अनुचित मान्यता जांच)।

  3. APK को फिर से संकलित करना: फिंगरप्रिंट प्रमाणीकरण को बायपास करने के लिए कोड को संशोधित करने के बाद, एप्लिकेशन को फिर से संकलित, साइन और परीक्षण के लिए डिवाइस पर स्थापित किया जाता है।

विधि 5 – कस्टम प्रमाणीकरण उपकरणों का उपयोग करना

प्रमाणीकरण तंत्र का परीक्षण और बायपास करने के लिए विशेष उपकरण और स्क्रिप्ट डिज़ाइन की गई हैं। उदाहरण के लिए:

  1. MAGISK मॉड्यूल: MAGISK एक Android के लिए उपकरण है जो उपयोगकर्ताओं को अपने उपकरणों को रूट करने और मॉड्यूल जोड़ने की अनुमति देता है जो हार्डवेयर-स्तरीय जानकारी, जिसमें फिंगरप्रिंट शामिल हैं, को संशोधित या स्पूफ कर सकते हैं।

  2. कस्टम-निर्मित स्क्रिप्ट: स्क्रिप्ट को Android डिबग ब्रिज (ADB) के साथ बातचीत करने या एप्लिकेशन के बैकएंड के साथ सीधे फिंगरप्रिंट प्रमाणीकरण का अनुकरण या बायपास करने के लिए लिखा जा सकता है।

संदर्भ

Support HackTricks

Last updated