Bypass Biometric Authentication (Android)

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (Mtaalam wa Timu Nyekundu ya AWS ya HackTricks)!

Njia 1 - Kupita kwa Kutumia Kitu cha Kriptografia

Hapa tunazingatia onAuthenticationSucceeded callback, ambayo ni muhimu katika mchakato wa uthibitishaji. Watafiti wa WithSecure wameendeleza script ya Frida, inayowezesha kupita kuthibitisha kibaiolojia bila kutumia CryptoObject tupu katika onAuthenticationSucceeded(...). Script hiyo inalazimisha kupita kuthibitisha kibaiolojia kiotomatiki wakati wa kuitisha njia hiyo. Hapa chini ni sehemu ndogo iliyosanifiwa inayoonyesha kupita kuthibitisha kibaiolojia katika muktadha wa Kibaiolojia cha Android, na programu kamili inapatikana kwenye 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();
}
});

Amri ya kukimbia skripti ya Frida:

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

Njia ya 2 - Mbinu ya Kukabiliana na Kutokea Kwa Makosa

Script ya Frida nyingine kutoka WithSecure inashughulikia kuvuka matumizi dhaifu ya kitu cha crypto. Script hiyo inaita onAuthenticationSucceeded na CryptoObject ambayo haijaruhusiwa na alama ya vidole. Ikiwa programu inajaribu kutumia kitu cha kuficha tofauti, itasababisha kutokea kwa kosa. Script hiyo inajiandaa kuita onAuthenticationSucceeded na kushughulikia javax.crypto.IllegalBlockSizeException katika darasa la Cipher, ikihakikisha vitu vifuatavyo vinavyotumiwa na programu vinafichwa na ufunguo mpya.

Amri ya kuendesha script ya Frida:

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

Baada ya kufika kwenye skrini ya alama za vidole na kuanzisha authenticate(), andika bypass() kwenye konsoli ya Frida ili kuamsha njia ya kuzipuuza:

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()

Njia ya 3 - Vifaa vya Uundaji

Vifaa vya uundaji kama Xposed au Frida vinaweza kutumika kufunga kwenye njia za programu wakati wa utekelezaji. Kwa uthibitishaji wa alama za vidole, vifaa hivi vinaweza:

  1. Kudanganya Kupitia Kichocheo cha Uthibitishaji: Kwa kufunga kwenye njia za onAuthenticationSucceeded, onAuthenticationFailed, au onAuthenticationError za BiometricPrompt.AuthenticationCallback, unaweza kudhibiti matokeo ya mchakato wa uthibitishaji wa alama za vidole.

  2. Kupita Kizuizi cha SSL: Hii inaruhusu mshambuliaji kuingilia na kubadilisha trafiki kati ya mteja na seva, huenda ikabadilisha mchakato wa uthibitishaji au kuiba data nyeti.

Amri ya mfano kwa Frida:

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

Njia ya 4 - Reverse Engineering & Kubadilisha Kanuni

Zana za reverse engineering kama vile APKTool, dex2jar, na JD-GUI zinaweza kutumika kudecompile programu ya Android, kusoma kanuni yake ya chanzo, na kuelewa mfumo wake wa uwakiki. Hatua kwa ujumla ni kama ifuatavyo:

  1. Kudecompile APK: Badilisha faili ya APK kuwa muundo unaoweza kusomwa na binadamu (kama kanuni ya Java).

  2. Kuchambua Kanuni: Tafuta utekelezaji wa uwakiki wa alama za vidole na tambua udhaifu unaowezekana (kama mifumo ya akiba au ukaguzi usio sahihi wa uthibitisho).

  3. Kurecompile APK: Baada ya kubadilisha kanuni ili kuepuka uwakiki wa alama za vidole, programu inarekodiwa, kusainiwa, na kusakinishwa kwenye kifaa kwa ajili ya majaribio.

Njia ya 5 - Kutumia Zana za Uwakiki za Kibinafsi

Kuna zana na hati maalum zilizoundwa kwa ajili ya kujaribu na kuepuka mfumo wa uwakiki. Kwa mfano:

  1. Moduli za MAGISK: MAGISK ni zana ya Android inayoruhusu watumiaji kuweka mizizi kwenye vifaa vyao na kuongeza moduli ambazo zinaweza kubadilisha au kudanganya habari za kiwango cha vifaa, ikiwa ni pamoja na alama za vidole.

  2. Hati Zilizojengwa Kibinafsi: Hati zinaweza kuandikwa ili kuingiliana na Android Debug Bridge (ADB) au moja kwa moja na seva ya programu ili kusimuliza au kuepuka uwakiki wa alama za vidole.

Marejeo

Jifunze kuhusu kudukua AWS kutoka sifuri hadi shujaa na htARTE (HackTricks AWS Red Team Expert)!
  • Je, unafanya kazi katika kampuni ya usalama wa mtandao? Je, ungependa kuona kampuni yako ikionekana katika HackTricks? Au ungependa kupata upatikanaji wa toleo jipya zaidi la PEASS au kupakua HackTricks kwa muundo wa PDF? Angalia MPANGO WA KUJIUNGA!

  • Gund

Last updated