В августе был пост про интересный способ анализа приложений через функциональность клонирования.

Несколько дней назад вышло продолжение статьи, описывающее,что ещё можно сделать при таком подходе.

А сделать можно многое. Например, получить любые файлы из песочницы приложения, сделать возможным перехват трафика (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

И всё это без рута!

При этом, чтобы попробовать защититься от подобных издевательств над собственными приложениями, автор написал небольшую библиотеку, которая может помочь определить, что в настоящий момент процесс работает из виртуального контейнера, в котором запускаются склонированные приложения.

stingray-subscribe-btn1