Bypass Biometric Authentication (Android)
Метод 1 – Обхід без використання об'єкта Crypto
Тут акцентується на зворотньому виклику onAuthenticationSucceeded, який є ключовим у процесі аутентифікації. Дослідники з WithSecure розробили скрипт Frida, який дозволяє обійти NULL CryptoObject в onAuthenticationSucceeded(...). Скрипт автоматично обходить аутентифікацію за відбуванням методу. Нижче наведено спрощений уривок, що демонструє обхід в контексті відбитка пальця Android, повний додаток доступний на GitHub.
Команда для запуску скрипту Frida:
Метод 2 - Підхід обробки винятків
Ще один скрипт Frida від WithSecure вирішує уникнення використання небезпечного об'єкта криптографії. Скрипт викликає onAuthenticationSucceeded з CryptoObject, який не був авторизований відбитком пальця. Якщо додаток намагається використовувати інший об'єкт шифрування, це спричинить виняток. Скрипт готується викликати onAuthenticationSucceeded та обробляти javax.crypto.IllegalBlockSizeException в класі Cipher, забезпечуючи, що наступні об'єкти, використані додатком, будуть зашифровані новим ключем.
Команда для запуску скрипта Frida:
Після досягнення екрану відбитка пальця та ініціації authenticate()
, введіть bypass()
в консолі Frida, щоб активувати обхід:
Метод 3 – Інструментальні фреймворки
Інструментальні фреймворки, такі як Xposed або Frida, можуть бути використані для підключення до методів додатка під час виконання. Для відбиття відбитка пальця ці фреймворки можуть:
Моделювати виклики аутентифікації: Підключаючись до методів
onAuthenticationSucceeded
,onAuthenticationFailed
абоonAuthenticationError
класуBiometricPrompt.AuthenticationCallback
, ви можете контролювати результат процесу аутентифікації відбитка пальця.Обхід SSL Pinning: Це дозволяє зловмиснику перехоплювати та змінювати трафік між клієнтом та сервером, потенційно змінюючи процес аутентифікації або крадучи чутливі дані.
Приклад команди для Frida:
Метод 4 - Зворотне проектування та модифікація коду
Інструменти зворотного проектування, такі як APKTool
, dex2jar
та JD-GUI
, можуть бути використані для декомпіляції додатка Android, читання його вихідного коду та розуміння механізму аутентифікації. Загальні кроки включають:
Декомпіляція APK: Конвертування файлу APK в більш зрозумілий формат (наприклад, код Java).
Аналіз коду: Пошук реалізації аутентифікації за відбитком пальця та виявлення потенційних слабкостей (наприклад, резервних механізмів або неправильних перевірок валідації).
Рекомпіляція APK: Після модифікації коду для обходу аутентифікації за відбитком пальця додаток рекомпілюється, підписується та встановлюється на пристрій для тестування.
Метод 5 - Використання спеціалізованих інструментів аутентифікації
Існують спеціалізовані інструменти та скрипти, призначені для тестування та обходу механізмів аутентифікації. Наприклад:
Модулі MAGISK: MAGISK - це інструмент для Android, який дозволяє користувачам рухати свої пристрої та додавати модулі, які можуть змінювати або підробляти інформацію на рівні апаратного забезпечення, включаючи відбитки пальців.
Спеціалізовані скрипти: Скрипти можуть бути написані для взаємодії з Android Debug Bridge (ADB) або безпосередньо з бекендом додатка для імітації або обходу аутентифікації за відбитком пальця.
Посилання
Last updated