Bypass Biometric Authentication (Android)
Last updated
Last updated
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Fokus ovde je 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 u onAuthenticationSucceeded(...). Skripta prisiljava automatsko zaobilaženje autentifikacije otiska prsta prilikom poziva metode. Ispod je pojednostavljeni isječak koji prikazuje zaobilaženje u kontekstu Android otiska prsta, sa punom aplikacijom dostupnom na GitHub.
Команда за покретање Frida скрипте:
Još jedan Frida skript od WithSecure se bavi zaobilaženjem nesigurne upotrebe kripto objekata. Skript poziva onAuthenticationSucceeded sa CryptoObject koji nije autorizovan otiskom prsta. Ako aplikacija pokuša da koristi drugi objekat šifriranja, izazvaće izuzetak. Skript se priprema da pozove onAuthenticationSucceeded i obradi javax.crypto.IllegalBlockSizeException u klasi Cipher, osiguravajući da su sledeći objekti koje koristi aplikacija šifrovani novim ključem.
Komanda za pokretanje Frida skripta:
Upon reaching the fingerprint screen and the initiation of authenticate()
, type `bypass()`` in the Frida console to activate the bypass:
Kada dođete do ekrana otiska prsta i pokrenete authenticate()
, otkucajte `bypass()`` u Frida konzoli da aktivirate zaobilaženje:
Instrumentacijski okviri kao što su Xposed ili Frida mogu se koristiti za povezivanje sa metodama aplikacije u vreme izvođenja. Za autentifikaciju otiskom prsta, ovi okviri mogu:
Lažirati Pozive za Autentifikaciju: Povezivanjem sa metodama onAuthenticationSucceeded
, onAuthenticationFailed
ili onAuthenticationError
iz BiometricPrompt.AuthenticationCallback
, možete kontrolisati ishod procesa autentifikacije otiskom prsta.
Obići SSL Pinovanje: Ovo omogućava napadaču da presretne i izmeni saobraćaj između klijenta i servera, potencijalno menjajući proces autentifikacije ili kradući osetljive podatke.
Primer komande za Frida:
Alati za reverzno inženjerstvo kao što su APKTool
, dex2jar
i JD-GUI
mogu se koristiti za dekompilaciju Android aplikacije, čitanje njenog izvornog koda i razumevanje njenog mehanizma autentifikacije. Koraci obično uključuju:
Dekompilacija APK-a: Pretvorite APK datoteku u čitljiviji format (kao što je Java kod).
Analiza koda: Potražite implementaciju autentifikacije otiskom prsta i identifikujte potencijalne slabosti (kao što su mehanizmi povratka ili nepravilne provere validacije).
Rekompilacija APK-a: Nakon modifikacije koda za zaobilaženje autentifikacije otiskom prsta, aplikacija se rekompajlira, potpisuje i instalira na uređaj za testiranje.
Postoje specijalizovani alati i skripte dizajnirane za testiranje i zaobilaženje mehanizama autentifikacije. Na primer:
MAGISK moduli: MAGISK je alat za Android koji omogućava korisnicima da root-uju svoje uređaje i dodaju module koji mogu modifikovati ili lažirati informacije na hardverskom nivou, uključujući otiske prstiju.
Prilagođene skripte: Skripte se mogu napisati za interakciju sa Android Debug Bridge (ADB) ili direktno sa backend-om aplikacije kako bi simulirale ili zaobišle autentifikaciju otiskom prsta.
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE) Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)