RCE в Instagram на Android и iOS
Очень подробная, длинная и качественная статья про найденную уязвимость в приложении Instagram для обеих платформ.
Дьявол, как обычно, кроется в деталях. Исследователи решили искать уязвимости не в самом приложении, а в используемых open-source библиотеках!
Как это обычно бывает, наиболее интересные баги всегда связаны с обработкой изображений, уже ни раз находили подобные проблемы и в приложениях и в самих операционных системах. В данном случае жертвой стала библиотека Mozjpeg. При помощи прекрасного инструмента для фаззинга American Fuzzy Lop (AFL) нашли ряд проблем, одну из которых почти докрутили до полноценного эксплойта. Но чуть не хватило 😁
В статье подробно расписан процесс анализа и объясняется, как именно исследователи строили и проверяли различные предположения. С выкладками кода, бинарщиной, манипуляциями с памятью, всё как надо)
Почитать на ночь,что надо 😁
#Android #iOS #Instagram #Vulnerability
Очень подробная, длинная и качественная статья про найденную уязвимость в приложении 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
Описание одной из найденных уязвимостей, позволяющей выполнить произвольный 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
На самом деле, достаточно старая бага и доклад, но от этого не менее изящная. Видео с конференции RSA, слайды с blackhat.
Вся соль заключается в том, что можно было вызвать экспортируемую Activity у приложения камеры, сделать фото или видео, поставить геометку и всё это без каких либо пермишенов со стороны приложения! Ни доступа к камере, ни к галерее, в общем ничего подозрительного.
При этом, чтобы дополнительно скрыть своё присутствие и не вызвать подозрения пользователя, что у него камера всегда включается сама, ребята сделали определение, что телефон заблокирован и только тогда записывали видео.
Чтобы убрать звуки камеры нашли способ обойти ограничение системы и программно, опять таки без permission, убирать звук телефона в ноль.
А благодаря геометкам на фото можно получить отличный девайс трекер 😁
Советую посмотреть выступление, хотябы часть с livedemo, выглядит очень здорово.
Пойду и на телефоне камеру заклею, что-ли...
#Android #Spyware #Vulnerability
YouTube
Hey Google, Activate Spyware! When Google Assistant Uses a Vulnerability as a Feature
Erez Yalon, Director of Security Research, Checkmarx
This talk will highlight serious security findings in Android smartphones, enabling attackers to remotely control, take, and retrieve photos, videos, and geolocation from victims’ phones without the victim…
This talk will highlight serious security findings in Android smartphones, enabling attackers to remotely control, take, and retrieve photos, videos, and geolocation from victims’ phones without the victim…
Поиск 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…