В августе был пост про интересный способ анализа приложений через функциональность клонирования.
Несколько дней назад вышло продолжение статьи, описывающее,что ещё можно сделать при таком подходе.
А сделать можно многое. Например, получить любые файлы из песочницы приложения, сделать возможным перехват трафика (MiTM) или подгрузить свою библиотеку в процесс. При чём всё это на нерутованных устройствах и не пересобирая приложение! А значит подпись приложения останется той же, все доступы в KeyStore и пермишены с защитой по подписи тоже будут работать!
Большой интерес у меня вызвал метод с применением библиотеки Stetho, когда при помощи Chrome можно управлять приложением, смотреть и изменять его файлы и много других интересных вещей. И при этом настолько просто:
1. Подключаем телефон по USB к компу;
2. Открываем Chrome на компьютере и переходим на https://inspect/#devices;
3. На странице отображается краткая информация об устройстве;
4. Запускаем клон приложения;
5. Хекаем мышкой в браузере;
Очень круто, что на каждый из представленных способов анализа автор приводит или PoC или сразу решение, как это можно провернуть.
А также готовое приложение по клонированию, которое из коробки умеет:
— внедрение Security Provider для получения ключей
— получение данных приложения через Chrome или Conware
— включение дебага в релизной сборке приложения
— замена Network Security Configuration для MiTM
— подключение Frida-gadget
И всё это без рута!
При этом, чтобы попробовать защититься от подобных издевательств над собственными приложениями, автор написал небольшую библиотеку, которая может помочь определить, что в настоящий момент процесс работает из виртуального контейнера, в котором запускаются склонированные приложения.