Mobile AppSec World
6.27K subscribers
162 photos
12 videos
21 files
749 links
Новости из мира безопасности мобильных приложений, а так же интересные статьи, обзоры инструментов, доклады, митапы и многое другое...

По всем вопросам - @Mr_R1p
Download Telegram
​​RCE в Instagram на Android и iOS

Очень подробная, длинная и качественная статья про найденную уязвимость в приложении Instagram для обеих платформ.

Дьявол, как обычно, кроется в деталях. Исследователи решили искать уязвимости не в самом приложении, а в используемых open-source библиотеках!

Как это обычно бывает, наиболее интересные баги всегда связаны с обработкой изображений, уже ни раз находили подобные проблемы и в приложениях и в самих операционных системах. В данном случае жертвой стала библиотека Mozjpeg. При помощи прекрасного инструмента для фаззинга American Fuzzy Lop (AFL) нашли ряд проблем, одну из которых почти докрутили до полноценного эксплойта. Но чуть не хватило 😁

В статье подробно расписан процесс анализа и объясняется, как именно исследователи строили и проверяли различные предположения. С выкладками кода, бинарщиной, манипуляциями с памятью, всё как надо)

Почитать на ночь,что надо 😁

#Android #iOS #Instagram #Vulnerability
​​Universal XSS в WebView

Описание одной из найденных уязвимостей, позволяющей выполнить произвольный JS код в рамках WebView и в некоторых особенно запущенных случаях получить доступ к привилегированным API-интерфейсам, предоставляемых приложением.

Сработало интересное поведение WebView, которое при настройке по умолчанию, запрещает иметь несколько окон, WebSettings.setSupportMultipleWindows(). Такая настройка позволяет из iframe обходить политику Same-Origin и выполнять произвольный JavaScript сразу на вашей странице.

Эта уязвимость затрагивает приложения, которые используют WebView с настройками по умолчанию и которые работают в системах с версией Android WebView до 83.0.4103.106.

Как защититься, если не уверены, что работаете на пропатченной версии:
1. Включите поддержку нескольких окон (WebSettings.setSupportMultipleWindows() установить в true). При этом поведение и внешний вид может остаться аналогичным и незаметным для пользователя.

2. Загружаете в WebView только доверенный контент со своих серверов.

Интересная находка, которая затрагивает сразу и приложения, использующие WebView и сами браузеры 😃

Пора автоматизировать и на h1?) 🤔

#Android #Vulnerability #XSS
Как отследить устройство используя камеру и спрашивая разрешения

На самом деле, достаточно старая бага и доклад, но от этого не менее изящная. Видео с конференции RSA, слайды с blackhat.

Вся соль заключается в том, что можно было вызвать экспортируемую Activity у приложения камеры, сделать фото или видео, поставить геометку и всё это без каких либо пермишенов со стороны приложения! Ни доступа к камере, ни к галерее, в общем ничего подозрительного.

При этом, чтобы дополнительно скрыть своё присутствие и не вызвать подозрения пользователя, что у него камера всегда включается сама, ребята сделали определение, что телефон заблокирован и только тогда записывали видео.

Чтобы убрать звуки камеры нашли способ обойти ограничение системы и программно, опять таки без permission, убирать звук телефона в ноль.

А благодаря геометкам на фото можно получить отличный девайс трекер 😁

Советую посмотреть выступление, хотябы часть с livedemo, выглядит очень здорово.

Пойду и на телефоне камеру заклею, что-ли...

#Android #Spyware #Vulnerability
Поиск 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