Firebase Cloud Messaging - как отправить push миллиарду пользователей
Во время анализа приложений мы постоянно находим различные токены от сервисов аналитики, а иногда и от нескольких, разных сервисов геолокации, карт и многих других, не сильно критичных (вроде) 😄
После этой статьи я стану намного пристальнее на них смотреть и на те возможности, что они дают. И обязательно добавлю такую проверку в анализ.
Если кратко - багхантер практически с помощью одного grep, детального изучения документации и функционала сервисов FCM получил возможность отправить любое push-сообщение от имени уязвимого приложения. А в их числе оказались и гугловские сервисы (Google music, Youtube Music и т.д.),то есть миллиарды пользователей 😱
В статье подробно описан процесс анализа, изучения сервиса FCM, есть алгоритм, как искать и проверять валидность таких ключей (что с их помощью действительно можно отправить push), как сделать PoC и как митигировать подобные риски.
И спасибо автору за ссылки на материалы, статьи и утилиты, которые он использовал при анализе. Помимо нескольких интересных вещей по мобильным приложениям, есть и на что посмотреть в части прикладных инструментов.
Советую прямо сегодня посмотреть ваши мобильные приложения на наличия ключей FCM и проверить, валидны ли они для отправки произвольных пушей.
Потрясная статья, конечно 😁
#Android #BugBounty #Research #FCM
Во время анализа приложений мы постоянно находим различные токены от сервисов аналитики, а иногда и от нескольких, разных сервисов геолокации, карт и многих других, не сильно критичных (вроде) 😄
После этой статьи я стану намного пристальнее на них смотреть и на те возможности, что они дают. И обязательно добавлю такую проверку в анализ.
Если кратко - багхантер практически с помощью одного grep, детального изучения документации и функционала сервисов FCM получил возможность отправить любое push-сообщение от имени уязвимого приложения. А в их числе оказались и гугловские сервисы (Google music, Youtube Music и т.д.),то есть миллиарды пользователей 😱
В статье подробно описан процесс анализа, изучения сервиса FCM, есть алгоритм, как искать и проверять валидность таких ключей (что с их помощью действительно можно отправить push), как сделать PoC и как митигировать подобные риски.
И спасибо автору за ссылки на материалы, статьи и утилиты, которые он использовал при анализе. Помимо нескольких интересных вещей по мобильным приложениям, есть и на что посмотреть в части прикладных инструментов.
Советую прямо сегодня посмотреть ваши мобильные приложения на наличия ключей FCM и проверить, валидны ли они для отправки произвольных пушей.
Потрясная статья, конечно 😁
#Android #BugBounty #Research #FCM
Советы по мобильному BugBounty
Статья, в которой автор рассказывает свой опыт участия в BugBounty программах, связанных с мобильными приложениями.
Весьма познавательно, особенно вступительная часть про первый репорт, который разбился о суровую реальность "эксплуатабельности" 😄
Что ещё полезно утянуть, так это список проверок, которые можно автоматизировать и улучшить первоначальный базовый анализ (по крайне мере регулярки точно подрезать можно).
Автор так же упоминает интересный блог, в котором мне зашла последняя статья о забытых ключах HockeyApp. Да-да, опять куча приложений, в которых оставили ключи.. С их помощью можно было залить новую версию версию приложения в HockeyApp. Это могла быть версия с майнером, малварь или что ещё интересное 🤓
#Android #iOS #BugBounty #HockeyApp
Статья, в которой автор рассказывает свой опыт участия в BugBounty программах, связанных с мобильными приложениями.
Весьма познавательно, особенно вступительная часть про первый репорт, который разбился о суровую реальность "эксплуатабельности" 😄
Что ещё полезно утянуть, так это список проверок, которые можно автоматизировать и улучшить первоначальный базовый анализ (по крайне мере регулярки точно подрезать можно).
Автор так же упоминает интересный блог, в котором мне зашла последняя статья о забытых ключах HockeyApp. Да-да, опять куча приложений, в которых оставили ключи.. С их помощью можно было залить новую версию версию приложения в HockeyApp. Это могла быть версия с майнером, малварь или что ещё интересное 🤓
#Android #iOS #BugBounty #HockeyApp
Ivan R Blog
Tips for Mobile Bug Bounty Hunting
My good friend Pete Yaworski [https://twitter.com/yaworsk] encouraged me to join
the bug bounty scene for a long time before I decided to jump in and start using
my mobile app sec knowledge to ethically hack on mobile apps from public bug
bounty programs.…
the bug bounty scene for a long time before I decided to jump in and start using
my mobile app sec knowledge to ethically hack on mobile apps from public bug
bounty programs.…
Критические уязвимости в MobileIron MDM
MDM - Mobile Device Management, управление корпоративными устройствами, очень популярная вещь в больших компаниях. Но что произойдёт, если внутри самой этой системы присутствуют уязвимости, позволяющие выполнить любой код?
Это значит, что можно получить доступ к системе, а также данные об огромном количестве сотрудников. Ну и что-то им установить :)
В статье приведено описание уязвимости, как она была найдена и проэксплуатирована и есть ссылка на доклад. Один из интересных моментов, что автор после выхода фикса подождал некоторое время, выяснил, что Facebook не накатил патчи, залил к ним шелл и написал в багбаунти программу 😁 дабл профит))
#mdm #facebook #bugbounty #research
MDM - Mobile Device Management, управление корпоративными устройствами, очень популярная вещь в больших компаниях. Но что произойдёт, если внутри самой этой системы присутствуют уязвимости, позволяющие выполнить любой код?
Это значит, что можно получить доступ к системе, а также данные об огромном количестве сотрудников. Ну и что-то им установить :)
В статье приведено описание уязвимости, как она была найдена и проэксплуатирована и есть ссылка на доклад. Один из интересных моментов, что автор после выхода фикса подождал некоторое время, выяснил, что Facebook не накатил патчи, залил к ним шелл и написал в багбаунти программу 😁 дабл профит))
#mdm #facebook #bugbounty #research
Советы для мобильного BugBounty
Советы для мобильного BugBounty от потрясающего ресерчера @bagipro:
1. Декомпилировать приложение с помощью jadx.
2. Найти все обработчики deeplink из AndroidManifest.xml, они выглядят как
5. Теперь попробуйте использовать свои собственные домены через adb (
6. Можно повторить тоже самое для iOS приложений. Обычно функциональность аналогична, но сама реализация может отличаться.
Отчет на H1, который эксплуатирует эту багу.
Спасибо огромное @bagipro, что он делится своим опытом, это очень полезно!
#BugBounty #H1 #Android #iOS
Советы для мобильного BugBounty от потрясающего ресерчера @bagipro:
1. Декомпилировать приложение с помощью jadx.
2. Найти все обработчики deeplink из AndroidManifest.xml, они выглядят как
<data android:scheme="airbnb" android:host="d"/>
3. Grep'нуть шаблон из обработчика, в данном случае airbnb://d
4. Можно найти множество захардкоженных URL-адресов, например airbnb://d/openurl?url=https:// http://airbnb.com/blabla
. Это намного проще, чем изучать исходники5. Теперь попробуйте использовать свои собственные домены через adb (
adb shell am start -a android.intent.action.VIEW airbnb://d/openurl?url=http:// http://evil.com
) или вставить ссылку в HTML-страницу (см. отчет H1 ниже)6. Можно повторить тоже самое для iOS приложений. Обычно функциональность аналогична, но сама реализация может отличаться.
Отчет на H1, который эксплуатирует эту багу.
Спасибо огромное @bagipro, что он делится своим опытом, это очень полезно!
#BugBounty #H1 #Android #iOS
Twitter
Sergey Toshin
#bugbounty You must love #Android deeplinks! They are the easiest way to get bounties 1. Decompile an app with jadx 2. Collect all deeplink handlers from AndroidManifest.xml, they look like <data android:scheme="airbnb" android:host="d"/>
Поиск Arbitary Code Execution в Android приложениях
В продолжении рубрики советы для мобильного BugBounty от одного из лучших багхантеров @bagipro:
1) Пишем hook для xposed или frida для определения вызова методов File.exists() и фильтруем по расширению .so
2) Ищем в декомпилированных исходниках использование методов ZipFile и всех его методов (например entries(), getEntry() и т.д.)
3) Если в найденных методах нет проверки на наличие специальных символов, например zipFile.getName().contains("../"), это означает, что возможно перезаписать произвольные файлы в процессе разархивации файла.
4) Найдите способ подменить файл, который распаковывается (достаточно часто эти файлы хранятся на SD-карте или путь к таким файлам передается через незащищенные компоненты приложения)
5) Скомпилируйте нативную библиотеку, которая выполняет произвольный код (например, записывает идентификатор пользователя в файл или выполняет команду chmod 777), создайте zip-файл, содержащий Path Traversal в имени и заставьте приложение его обработать.
Офигенный подход, простой и изящный. Я иногда не понимаю, как он это делает 😄 Еще раз спасибо, что делишься опытом!
Кстати, кто-то уже написал готовый скрипт для Frida, так что можно его прям брать и проверять "свои" приложения!
А есть ли у вас похожие наработки и уязвимости, на которые вы проверяете приложения?
#BugBounty #bagipro #Vulnerability #ACE
В продолжении рубрики советы для мобильного BugBounty от одного из лучших багхантеров @bagipro:
1) Пишем hook для xposed или frida для определения вызова методов File.exists() и фильтруем по расширению .so
2) Ищем в декомпилированных исходниках использование методов ZipFile и всех его методов (например entries(), getEntry() и т.д.)
3) Если в найденных методах нет проверки на наличие специальных символов, например zipFile.getName().contains("../"), это означает, что возможно перезаписать произвольные файлы в процессе разархивации файла.
4) Найдите способ подменить файл, который распаковывается (достаточно часто эти файлы хранятся на SD-карте или путь к таким файлам передается через незащищенные компоненты приложения)
5) Скомпилируйте нативную библиотеку, которая выполняет произвольный код (например, записывает идентификатор пользователя в файл или выполняет команду chmod 777), создайте zip-файл, содержащий Path Traversal в имени и заставьте приложение его обработать.
Офигенный подход, простой и изящный. Я иногда не понимаю, как он это делает 😄 Еще раз спасибо, что делишься опытом!
Кстати, кто-то уже написал готовый скрипт для Frida, так что можно его прям брать и проверять "свои" приложения!
А есть ли у вас похожие наработки и уязвимости, на которые вы проверяете приложения?
#BugBounty #bagipro #Vulnerability #ACE
Telegram
Mobile AppSec World
Советы для мобильного BugBounty
Советы для мобильного BugBounty от потрясающего ресерчера @bagipro:
1. Декомпилировать приложение с помощью jadx.
2. Найти все обработчики deeplink из AndroidManifest.xml, они выглядят как <data android:scheme="airbnb" a…
Советы для мобильного BugBounty от потрясающего ресерчера @bagipro:
1. Декомпилировать приложение с помощью jadx.
2. Найти все обработчики deeplink из AndroidManifest.xml, они выглядят как <data android:scheme="airbnb" a…
Обход биометрической аутентификации в WhatsUp
Достаточно интересный баг нашел один из исследователей в приложении WhatsUp.
В WhatsUp можно настроить экран блокировки, чтобы после определенного периода неактивности пользователя нельзя было прочитать чаты, позвонить и т.д. Суть обхода заключалась в том, что достаточно было позвонить на этот номер и счетчик времени сбрасывался и считал, что пользователь ещё активен.
Стандартная ошибка логики в приложении, от которой никто не защищен, даже у Apple была бага, связанная с неправильным инкрементом счетчика пинкода от устройства, что позволяло перебрать полностью все 4-х значные коды за 48 часов.
Статья достаточно небольшая и легкая, но кейс прикольный)
#whatsup #android #bugbounty
Достаточно интересный баг нашел один из исследователей в приложении WhatsUp.
В WhatsUp можно настроить экран блокировки, чтобы после определенного периода неактивности пользователя нельзя было прочитать чаты, позвонить и т.д. Суть обхода заключалась в том, что достаточно было позвонить на этот номер и счетчик времени сбрасывался и считал, что пользователь ещё активен.
Стандартная ошибка логики в приложении, от которой никто не защищен, даже у Apple была бага, связанная с неправильным инкрементом счетчика пинкода от устройства, что позволяло перебрать полностью все 4-х значные коды за 48 часов.
Статья достаточно небольшая и легкая, но кейс прикольный)
#whatsup #android #bugbounty
Medium
WhatsApp Bug Bounty: Bypassing biometric authentication using voip
Bypassing biometric authentication just by making a call and access the app completely
Сборник WriteUp по уязвимостям приложений Facebook
Нашел занятный репозиторий, который собирает в себе все описания найденных багов в приложениях Facebook, включая WhatsUp, Instagram и прочие сервисы компании.
Сразу в едином месте можно посмотреть всё, что было найдено в разных версиях и сколько за это получили исследователи :) ну и там не только приложения, но и любые баги в Web в том числе.
Так что, если вы нашли багу в приложениях этой компании и написали WriteUp, можно смело создавать PR 😉
#writeup #facebook #bugbounty
Нашел занятный репозиторий, который собирает в себе все описания найденных багов в приложениях Facebook, включая WhatsUp, Instagram и прочие сервисы компании.
Сразу в едином месте можно посмотреть всё, что было найдено в разных версиях и сколько за это получили исследователи :) ну и там не только приложения, но и любые баги в Web в том числе.
Так что, если вы нашли багу в приложениях этой компании и написали WriteUp, можно смело создавать PR 😉
#writeup #facebook #bugbounty
GitHub
Facebook-BugBounty-Writeups/README.md at main · jaiswalakshansh/Facebook-BugBounty-Writeups
Collection of Facebook Bug Bounty Writeups. Contribute to jaiswalakshansh/Facebook-BugBounty-Writeups development by creating an account on GitHub.