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

7 KiB
Raw Blame History

Bypass Biometric Authentication (Android)

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}

Metode 1 Omseiling sonder Crypto Object Gebruik

Die fokus hier is op die onAuthenticationSucceeded terugroep, wat van kardinale belang is in die verifikasieproses. Navorsers by WithSecure het 'n Frida script ontwikkel, wat die omseiling van die NULL CryptoObject in onAuthenticationSucceeded(...) moontlik maak. Die script dwing 'n outomatiese omseiling van die vingerafdrukverifikasie by die metode se aanroep. Hieronder is 'n vereenvoudigde snit wat die omseiling in 'n Android Vingerafdruk konteks demonstreer, met die volle toepassing beskikbaar op 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();
}
});

Opdrag om die Frida-skrip te loop:

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

Metode 2 Uitsondering Hantering Benadering

Nog 'n Frida script deur WithSecure spreek die omseiling van onveilige kripto objek gebruik aan. Die script roep onAuthenticationSucceeded aan met 'n CryptoObject wat nie deur 'n vingerafdruk geverifieer is nie. As die aansoek probeer om 'n ander cipher objek te gebruik, sal dit 'n uitsondering ontlok. Die script berei voor om onAuthenticationSucceeded aan te roep en die javax.crypto.IllegalBlockSizeException in die Cipher klas te hanteer, wat verseker dat daaropvolgende objek wat deur die aansoek gebruik word, met die nuwe sleutel geënkripteer is.

Opdrag om die Frida script te loop:

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

Upon reaching the fingerprint screen and the initiation of authenticate(), type `bypass()`` in the Frida console to activate the 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()

Metode 3 Instrumentasie Raamwerke

Instrumentasie raamwerke soos Xposed of Frida kan gebruik word om in toepassingsmetodes tydens uitvoering in te haak. Vir vingerafdrukverifikasie kan hierdie raamwerke:

  1. Mok die Verifikasie Terugroepe: Deur in die onAuthenticationSucceeded, onAuthenticationFailed, of onAuthenticationError metodes van die BiometricPrompt.AuthenticationCallback in te haak, kan jy die uitkoms van die vingerafdrukverifikasieproses beheer.
  2. Omseil SSL Pinning: Dit laat 'n aanvaller toe om die verkeer tussen die kliënt en die bediener te onderskep en te wysig, wat moontlik die verifikasieproses kan verander of sensitiewe data kan steel.

Voorbeeldopdrag vir Frida:

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

Metode 4 Omgekeerde Ingenieurswese & Kodewysiging

Omgekeerde ingenieurswese gereedskap soos APKTool, dex2jar, en JD-GUI kan gebruik word om 'n Android-toepassing te dekompileer, sy bronnkode te lees, en sy outentikasie-meganisme te verstaan. Die stappe sluit gewoonlik in:

  1. Dekomplilering van die APK: Converteer die APK-lêer na 'n meer menslike leesbare formaat (soos Java-kode).
  2. Analiseer die Kode: Soek na die implementering van vingerafdrukoutentikasie en identifiseer potensiële swakpunte (soos terugvalmeganismes of onvanpaste valideringskontroles).
  3. Hersamestelling van die APK: Nadat die kode gewysig is om vingerafdrukoutentikasie te omseil, word die toepassing hersamestel, onderteken, en op die toestel geïnstalleer vir toetsing.

Metode 5 Gebruik van Pasgemaakte Outentikasiegereedskap

Daar is gespesialiseerde gereedskap en skripte ontwerp om outentikasie-meganismes te toets en te omseil. Byvoorbeeld:

  1. MAGISK Modules: MAGISK is 'n gereedskap vir Android wat gebruikers toelaat om hul toestelle te root en modules by te voeg wat hardewarevlak-inligting kan wysig of spoof, insluitend vingerafdrukke.
  2. Pasgemaakte Skripte: Skripte kan geskryf word om met die Android Debug Bridge (ADB) of direk met die toepassing se agterkant te kommunikeer om vingerafdrukoutentikasie te simuleer of te omseil.

Verwysings

{% hint style="success" %} Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Support HackTricks
{% endhint %}