Bypass Biometric Authentication (Android)

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Metod 1 - Zaobilaženje bez korišćenja Crypto Object-a

Fokus je ovde na onAuthenticationSucceeded povratnom pozivu, koji je ključan u procesu autentifikacije. Istraživači iz WithSecure-a razvili su Frida skriptu, koja omogućava zaobilaženje NULL CryptoObject-a u onAuthenticationSucceeded(...). Skripta automatski zaobilazi biometrijsku autentifikaciju prilikom poziva metode. U nastavku je prikazan pojednostavljeni isečak koji demonstrira zaobilaženje u kontekstu Android otiska prsta, a cela aplikacija je dostupna na GitHub-u.

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

Komanda za pokretanje Frida skripte:

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

Metod 2 - Pristup obradi izuzetaka

Još jedan Frida skript od strane WithSecure se bavi zaobilaženjem nebezbedne upotrebe kripto objekta. Skript poziva onAuthenticationSucceeded sa CryptoObject koji nije autorizovan otiskom prsta. Ako aplikacija pokuša da koristi drugi kripto objekat, izazvaće izuzetak. Skript priprema poziv onAuthenticationSucceeded i obrađuje javax.crypto.IllegalBlockSizeException u klasi Cipher, obezbeđujući da se naknadni objekti koje koristi aplikacija šifruju novim ključem.

Komanda za pokretanje Frida skripta:

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

Po dostizanju ekrana otiska prsta i pokretanju authenticate(), u Frida konzoli unesite bypass() da biste aktivirali zaobilaženje:

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

Metod 3 - Instrumentacioni okviri

Instrumentacioni okviri poput Xposed ili Frida mogu se koristiti za povezivanje sa metodama aplikacije tokom izvršavanja. Za biometrijsku autentifikaciju, ovi okviri mogu:

  1. Lažirati povratne pozive autentifikacije: Povezivanjem sa metodama onAuthenticationSucceeded, onAuthenticationFailed ili onAuthenticationError u klasi BiometricPrompt.AuthenticationCallback, možete kontrolisati ishod procesa biometrijske autentifikacije.

  2. Obilaziti SSL Pinning: Ovo omogućava napadaču da presretne i izmeni saobraćaj između klijenta i servera, potencijalno menjajući proces autentifikacije ili krađu osetljivih podataka.

Primer komande za Frida:

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

Metoda 4 - Reverse inženjering i modifikacija koda

Alati za reverse inženjering poput APKTool, dex2jar i JD-GUI mogu se koristiti za dekompilaciju Android aplikacije, čitanje njenog izvornog koda i razumevanje mehanizma autentifikacije. Koraci uključuju:

  1. Dekompilacija APK-a: Pretvorite APK datoteku u format koji je čitljiviji ljudima (poput Java koda).

  2. Analiza koda: Potražite implementaciju autentifikacije otiska prsta i identifikujte potencijalne slabosti (poput rezervnih mehanizama ili nepravilnih provera validacije).

  3. Rekompilacija APK-a: Nakon modifikacije koda za zaobilaženje autentifikacije otiska prsta, aplikacija se rekompilira, potpisuje i instalira na uređaju radi testiranja.

Metoda 5 - Korišćenje prilagođenih alata za autentifikaciju

Postoje specijalizovani alati i skripte dizajnirane za testiranje i zaobilaženje mehanizama autentifikacije. Na primer:

  1. MAGISK moduli: MAGISK je alat za Android koji korisnicima omogućava rootovanje uređaja i dodavanje modula koji mogu menjati ili lažirati informacije na nivou hardvera, uključujući otiske prstiju.

  2. Prilagođene skripte: Skripte se mogu pisati kako bi se komuniciralo sa Android Debug Bridge (ADB) ili direktno sa pozadinskim sistemom aplikacije kako bi se simulirala ili zaobišla autentifikacija otiska prsta.

Reference

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Last updated