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)
Deepen your expertise in Mobile Security with 8kSec Academy. Master iOS and Android security through our self-paced courses and get certified:
Основна увага тут приділяється onAuthenticationSucceeded зворотному виклику, який є критично важливим у процесі аутентифікації. Дослідники з WithSecure розробили Frida script, що дозволяє обійти NULL CryptoObject у onAuthenticationSucceeded(...). Скрипт примусово обходить аутентифікацію за відбитком пальця під час виклику методу. Нижче наведено спрощений фрагмент, що демонструє обхід у контексті Android Fingerprint, з повним додатком, доступним на GitHub.
Команда для запуску скрипта Frida:
Ще один Frida скрипт від WithSecure вирішує проблему обходу використання небезпечних криптооб'єктів. Скрипт викликає onAuthenticationSucceeded з CryptoObject, який не був авторизований за допомогою відбитка пальця. Якщо додаток намагається використовувати інший об'єкт шифрування, це викличе виключення. Скрипт готується викликати onAuthenticationSucceeded і обробляти javax.crypto.IllegalBlockSizeException у класі Cipher, забезпечуючи, щоб наступні об'єкти, які використовуються додатком, були зашифровані новим ключем.
Команда для запуску Frida скрипта:
При досягненні екрану відбитка пальця та ініціації authenticate()
, введіть bypass()
у консолі Frida, щоб активувати обхід:
Інструментальні фреймворки, такі як Xposed або Frida, можуть бути використані для підключення до методів додатка під час виконання. Для аутентифікації за відбитком пальця ці фреймворки можуть:
Мокати Виклики Аутентифікації: Підключившись до методів onAuthenticationSucceeded
, onAuthenticationFailed
або onAuthenticationError
класу BiometricPrompt.AuthenticationCallback
, ви можете контролювати результат процесу аутентифікації за відбитком пальця.
Обійти SSL Пінінг: Це дозволяє зловмиснику перехоплювати та змінювати трафік між клієнтом і сервером, потенційно змінюючи процес аутентифікації або крадучи чутливі дані.
Приклад команди для Frida:
Інструменти реверс-інжинірингу, такі як APKTool
, dex2jar
та JD-GUI
, можуть бути використані для декомпіляції Android-додатку, читання його вихідного коду та розуміння його механізму аутентифікації. Кроки зазвичай включають:
Декомпіляція APK: Перетворення файлу APK у більш зрозумілий формат (наприклад, Java-код).
Аналіз коду: Пошук реалізації аутентифікації за відбитками пальців та виявлення потенційних вразливостей (наприклад, механізмів резервного доступу або неналежних перевірок).
Рекомпіляція APK: Після модифікації коду для обходу аутентифікації за відбитками пальців, додаток рекомпілюється, підписується та встановлюється на пристрій для тестування.
Існують спеціалізовані інструменти та скрипти, призначені для тестування та обходу механізмів аутентифікації. Наприклад:
MAGISK Модулі: MAGISK – це інструмент для Android, який дозволяє користувачам рутувати свої пристрої та додавати модулі, які можуть модифікувати або підробляти інформацію на апаратному рівні, включаючи відбитки пальців.
Скрипти на замовлення: Скрипти можуть бути написані для взаємодії з Android Debug Bridge (ADB) або безпосередньо з бекендом додатку для симуляції або обходу аутентифікації за відбитками пальців.
Поглибте свої знання в Мобільній безпеці з 8kSec Academy. Опануйте безпеку iOS та Android через наші курси з гнучким графіком та отримайте сертифікат:
Вчіться та практикуйте Hacking AWS:HackTricks Training AWS Red Team Expert (ARTE) Вчіться та практикуйте Hacking GCP: HackTricks Training GCP Red Team Expert (GRTE)