Иногда возникает необходимость узнать, какие баги были найдены в каком-нибудь топовом приложении для Android. Причин для этого может быть масса: от попыток раскрутить вектор дальше и поиска схожих уязвимостей до банальных проверок на хардкод. Попробуем провернуть, а поможет нам в этом связка HackApp + Vulners.
HackApp — это условно-бесплатный тулкит и сервис для поиска багов в мобильных приложениях. HackApp ведут свою базу найденных уязвимотей, где подробно описывают векторы атак и уязвимые версии. Vulners — это бесплатный и открытый движок для поиска уязвимостей в различных продуктах. Кроме самих багов, Vulners находит и показывает связанные с уязвимостью сплоиты, патчи и даже новости из открытых источников.
[ad name=»Responbl»]
Как найти уязвимости в android?
С помощью Vulners и HackApp можно искать по уязвимостям более чем 22 025 топовых Android-приложений из Google Play! Store. Для поиска нужно указать тип type:hackapp. В результатах поиска отображается тайтл, количество уязвимостей по степени критичности (красный кружок — критичные, желтый кружок — средняя критичность, серый кружок — примечание), информация о приложении (иконка, текущая версия, разработчик и дата релиза).
Ссылка на бюллетень уязвимостей приложения имеет вид https:// vulners.com/hackapp/HACKAPP:RU.SBERBANK_SBBOL.APK. В бюллетене перечисляются все уязвимости с кратким описанием и указывается, какие версии приложения считаются уязвимыми. Полное описание уязвимостей доступно по ссылке на сайте HackApp.
Но настоящей киллер-фичей является возможность найти приложения, чьи не- радивые разработчики захардкодили внутри учетные записи от Amazon AWS. Простейший запрос https://vulners.com/search?query=type:hackapp%20 AWS%20credentials выдаст целую кучу таких «перлов».
Отлично, у нас есть AWS_KEY. Теперь нужен еще AWS_SECRET_KEY. Давай не будем останавливаться и заглянем в «домик» разработчиков? 🙂
Уязвимый APK можно удобно скачать прямо с сайта HackApp. Дальше раскрываем всем известным способом:
java -jar apktool_2.1.1.jar d 895ed3de13f747aae061db3da06283cd.apk
Запускаем grep и… вуаля! Кажется, мы что-то и правда нашли:
MacBook-Pro:895ed3de13f747aae061db3da06283cd pwner$ grep -R "AKIAI5AWXTYSXJGU55QA" ./
.//smali/com/adobe/air/AdobeAIR.smali: .field private static final TEST_ACCESS_KEY:Ljava/lang/String; = "AKIAI5AWXTYSXJGU55QA" .//smali/com/adobe/air/AdobeAIR.smali: const-string v1, "AKIAI5AWXTYSXJGU55QA"
Что тут скажешь: pwned in less than 1 minute! Комбинируя эти два инструмента и простой полнотекстовый поиск, можно вытащить еще много постыдных секретов мобильных приложений :).
Удачи и успешных познаний!