Иногда возникает необходимость узнать, какие баги были найдены в каком-нибудь топовом приложении для Android. Причин для этого может быть масса: от попыток раскрутить вектор дальше и поиска схожих уязвимостей до банальных проверок на хардкод. Попробуем провернуть, а поможет нам в этом связка HackApp + Vulners.
HackApp — это условно-бесплатный тулкит и сервис для поиска багов в мобильных приложениях. HackApp ведут свою базу найденных уязвимостей, где подробно описывают векторы атак и уязвимые версии. Vulners — это бесплатный и открытый движок для поиска уязвимостей в различных продуктах. Кроме самих багов, Vulners находит и показывает связанные с уязвимостью сплоиты, патчи и даже новости из открытых источников.
С помощью 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%20AWS%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!
Комбинируя эти два инструмента и простой полнотекстовый поиск, можно вытащить еще много постыдных секретов мобильных приложений :).
Удачи и успешных познаний!