hacktricks/mobile-pentesting/android-app-pentesting/bypass-biometric-authentication-android.md

70 lines
9.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# बायपास बायोमेट्रिक प्रमाणीकरण (एंड्रॉयड)
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ हैकट्रिक्स क्लाउड ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 ट्विटर 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ ट्विच 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 यूट्यूब 🎥</strong></a></summary>
* क्या आप **साइबर सुरक्षा कंपनी** में काम करते हैं? क्या आप अपनी **कंपनी का हैकट्रिक्स में विज्ञापित करना चाहते हैं**? या क्या आप **PEASS के नवीनतम संस्करण देखना चाहते हैं या हैकट्रिक्स को पीडीएफ में डाउनलोड करना चाहते हैं**? [**सब्सक्रिप्शन प्लान्स**](https://github.com/sponsors/carlospolop) की जाँच करें!
* [**द पीएस फैमिली**](https://opensea.io/collection/the-peass-family) की खोज करें, हमारा विशेष [**एनएफटी**](https://opensea.io/collection/the-peass-family) संग्रह।
* [**आधिकारिक पीएस और हैकट्रिक्स स्वैग**](https://peass.creator-spring.com) प्राप्त करें।
* **शामिल हों** [**💬**](https://emojipedia.org/speech-balloon/) [**डिस्कॉर्ड समूह**](https://discord.gg/hRep4RUj7f) या [**टेलीग्राम समूह**](https://t.me/peass) या **मुझे** **ट्विटर** 🐦[**@carlospolopm**](https://twitter.com/hacktricks_live)** पर फॉलो** करें।
* **हैकिंग ट्रिक्स साझा करें, [हैकट्रिक्स रेपो](https://github.com/carlospolop/hacktricks) और [हैकट्रिक्स-क्लाउड रेपो](https://github.com/carlospolop/hacktricks-cloud) में पीआर जमा करके**।
</details>
## **विधि 1 कोई क्रिप्टो ऑब्ज
```javascript
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();
}
});
```
फ्रिडा स्क्रिप्ट चलाने के लिए कमांड:
```bash
frida -U -f com.generic.insecurebankingfingerprint --no-pause -l fingerprint-bypass.js
```
## **तकनीक 2 अपवाद हैंडलिंग दृष्टिकोण**
एक और [Frida स्क्रिप्ट](https://github.com/WithSecureLABS/android-keystore-audit/blob/master/frida-scripts/fingerprint-bypass-via-exception-handling.js) द्वारा WithSecure ने असुरक्षित क्रिप्टो ऑब्जेक्ट उपयोग को छेड़ने के लिए एक स्क्रिप्ट तैयार किया है। स्क्रिप्ट *onAuthenticationSucceeded* को एक *CryptoObject* के साथ आमंत्रित करता है जिसे एक उंगली की पहचान द्वारा अधिकृत नहीं किया गया है। यदि एप्लिकेशन एक विभिन्न साइफर ऑब्ज
```bash
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 के लिए:
```bash
frida -U -l script-to-bypass-authentication.js --no-pause -f com.generic.in
```
## **तकनीक 4 रिवर्स इंजीनियरिंग और कोड संशोधन**
`APKTool`, `dex2jar`, और `JD-GUI` जैसे रिवर्स इंजीनियरिंग उपकरण का उपयोग करके एंड्रॉइड एप्लिकेशन को डीकॉम्पाइल किया जा सकता है, इसके स्रोत कोड को पढ़ा जा सकता है, और इसकी प्रमाणीकरण तंत्र को समझा जा सकता है। चरण सामान्यत:
1. **APK को डीकॉम्पाइल करना**: APK फ़ाइल को एक अधिक मानव-पठनीय प्रारूप में रूपांतरित करें (जैसे जावा कोड में)।
2. **कोड का विश्लेषण**: उंगली की पहचान के कार्यान्वयन की खोज करें और कमजोरियों की पहचान करें (जैसे फॉलबैक तंत्र या अनुचित मान्यता की जांच)।
3. **APK को पुनः संकलित करना**: उंगली की प्रमाणीकरण को छलकरने के लिए कोड को संशोधित करने के बाद, एप्लिकेशन को पुनः संकलित, साइन किया जाता है, और डिवाइस पर परीक्षण के लिए स्थापित किया जाता है।
## **तकनीक 5 कस्टम प्रमाणीकरण उपकरण का उपयोग करना**
प्रमाणीकरण तंत्रों का परीक्षण और छलकरने के लिए विशेषित उपकरण और स्क्रिप्ट हैं। उदाहरण के लिए:
1. **MAGISK मॉड्यूल**: MAGISK एक उपकरण है जो एंड्रॉइड के लिए उपयोगकर्ताओं को उनके डिवाइस को रूट करने और मॉड्यूल जोड़ने की अनुमति देता है जो हार्डवेयर स्तरीय जानकारी, उसमें उंगलियों को भी बदल सकते हैं।
2. **कस्टम निर्मित स्क्रिप्ट**: स्क्रिप्ट लिखे जा सकते हैं जो एंड्रॉइड डीबग ब्रिज (ADB) के साथ या सीधे एप्लिकेशन के बैकएंड के साथ इंटरैक्ट करने के लिए उंगली की प्रमाणीकरण को सिम्युलेट या छलकरने के लिए।
## संदर्भ
* [https://securitycafe.ro/2022/09/05/mobile-pentesting-101-bypassing-biometric-authentication/](https://securitycafe.ro/2022/09/05/mobile-pentesting-101-bypassing-biometric-authentication/)