Mobile AppSec World
5.3K subscribers
142 photos
8 videos
19 files
675 links
Новости из мира безопасности мобильных приложений, а так же интересные статьи, обзоры инструментов, доклады, митапы и многое другое...

По всем вопросам - @Mr_R1p
Download Telegram
​​CVE-2020-9964 - iOS, утечка информации

Не так давно вышла новая версия iOS 14 и её тут же начали ковырять исследователи на возможность jailbreaķ. Одно время даже была новость про отвязанный jail 😱 Вот это было бы чудесно, конечно, но пока ещё нет.

Вместе с этим, выходят обзоры на уязвимости, закрытые в новой версии. Один из таких обзоров посвящен вопросу управления памяти. В описании Apple сказано, что благодаря уязвимости «локальный пользователь может читать память ядра» и называет ее «проблемой инициализации памяти».

Само по себе это не сильно опасно, но может помочь при дальнейших атаках.

#iOS #Kernel #CVE #Vulnerability
​​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
Установка приложений без ведома пользователей на Samsung S20

Прочитал тут занятную статью про возможность установки приложений без ведома пользователей на телефонах Samsung, использующую уязвимую версию приложения Galaxy Store.

Интересно, что уязвимость опять заключалась в механизме WebView, который некорректно валидировал передаваемый ему URL приложения и давал возможность указания протокола http 🤦‍♂️ Ссылку можно было передать через чтение NFC тэга. Соответственно, осуществив MiTM атаку и дописав небольшой JS код в ответ сервера можно было заставить установить любое приложение из Samsung Store.

Что меня сильно смущает в таких уязвимостях, это процесс успешной атаки:
- Злоумышленник загружает вредоносное приложение в Galaxy Store
- Злоумышленник должен быть в одной Wi-Fi сети с жертвой.
- Телефон должен просканировать подготовленную метку NFC.
- Злоумышленник должен перехватить HTTP-трафик и внедрить вредоносный JavaScript в ответ сервера.
- Телефон пользователя должен быть Samsung'ом с уязвимой версией приложения

Интересно, какие звезды должны сойтись, чтобы все пункты из этого перечня совпали? Ну разве только на конференции какой-то налепить меток с текстом "Срочно скачай меня и выиграй айпад" 😂

Ну и фикс от Samsung был божественный - они запретили URL с http))

#Android #Samsung #Vulnerability
Серьезные уязвимости в приложении Evernote

Сегодня вышла ещё одна потрясающая статья от компании Oversecured, которая раскрывает детали обнаруженных уязвимостей в приложении Evernote.

Тут полный набор, начиная от UXSS, прослушивания пользователя, кражи cookie, перезаписывание произвольных файлов в директории, в общем ломай не хочу 😁

Как обычно, все уязвимости сопровождаются описанием и работающим PoC для эксплуатации. Читая такие статьи, всегда находишь для себя что-то интересное и новое, что можно применять при анализе приложений.

Кстати говоря, основателем компании Oversecured является @bagipro, наш соотечественник, посты которого я периодически публикую, так как невозможно таким не поделиться 😁

Советую попробовать прогнать свои приложения через этот сканер, благо есть 5 бесплатных сканов для новых учёток, а последующие стоят всего 10$, которые абсолютно не жалко.

Думаю, он способен найти много интересного в ваших приложениях. 😄

#Android #Vulnerability #Oversecured
Баг в Facebook за 15К$

Короткая статья, я бы даже сказал, скорее заметка, как можно найти дефект стоимостью в 15 тысяч $, просто пообщавшись с коллегой 😁

На самом деле, суть проблемы в передаче третьей стороне чуть больше данных, чем требуется. В данном случае, в Facebook Messenger при поиске gif-ок вместе с запросом улетал и access токен от вашего аккаунта в Facebook 😁 Мелочь, а приятно.

Скорее всего, в приложении стоял обработчик, который пихал аксесс токен во все запросы автоматически, чтобы не делать этого каждый раз руками. И в этот обработчик так же попали и запросы от стороннего сервиса картинок. Я могу быть абсолютно не прав, это лишь предположение.

На самом деле, такие ошибки часто встречаются и даже в OWASP MASVS есть требование по анализу данных, передаваемых третьей стороне. Так что при добавлении новой функциональности, особенно, если она относится к third-party сервисам, хорошо бы прогнать эту функциональность через анализаторы или ручками посмотреть, что ничего лишнего никуда не утекает. 😉

#iOS #Facebook #Messenger #Vulnerability
Подменяем Runtime Permissions в Android

Очень прикольную багу нашел наш соотечественник из компании MobileUp. Возможность подмены текста и иконки в всплывающем диалоге Runtime Permissions.

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

В данном случае, приложение может запросить доступ к смс и звонкам, перекрыть системное уведомление и написать любой текст! 😁 Шикарная штука)

Что мне непонятно, почему этот трюк работает только с 7-й версии Android, а в 6-й, когда появился механизм Runtime Permissions, система запрещает перекрывать системные диалоги. Поменялся механизм или просто решили, что эта мера защиты не нужна?))

И кстати, в конце статьи есть ссылка на библиотеку, которая сделает всё за вас и поможет в несколько кликов "украсить" ваши запросы на доступ к чему либо.

Так что тщательно проверяйте в настройках, какие именно разрешения есть у приложения. Вполне может оказаться, что фонарик, который попросил разрешение на доступ к камере, чтобы помогать вам правильно настроить свет, на самом деле в тайне читает ваши СМС 😏

#Vulnerability #Android #Permissions
Эксплуатация уязвимости в ядре Android

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

Но не в этом случае :) Один из участников Project Zero, специализирующийся на iOS решил попробовать свои силы с Android и нашёл несколько серьёзных уязвимостей.

Но более интересно в этой статье его сопоставление отличий в эксплуатации и мерах защиты в двух самых популярных мобильных операционных системах.

#Android #iOS #Kernel #Vulnerability
Новый стандарт межпроцессного взаимодействия на Mac

Недавно стало известно о новом формате межпроцессного взаимодействия на Mac, выпущенных с новым процессором М1.

Новый формат получил название M1racless и позволяет двум любым приложениям скрытно обмениваться между собой данными без использования памяти, сокетов, файлов и любых других стандартных функций операционной системы. При этом это возможно осуществить для процессов, запущенных от разных пользователей и с разными привилегиями 🔥

Ну а если серьезно, то это новая крутая уязвимость в самом чипе М1 и ее нельзя исправить программно, то есть - нужна новая аппаратная ревизия чипа) Уязвимость получила идентификатор CVE-2021-30747 и большую статью с ответами на большинство вопросов, которые возникают, когда слышишь про такую уязвимость.

По большому счету, чего-то безумно страшного не случилось, просто некоторые приложения смогут без ведома пользователя и операционной системой общаться между собой =) И в статье автор очень хорошо расписывает ответы на самые частые вопросы с неплохим юмором в ответах)

#Mac #CVE #Vulnerability
Уязвимость в Mattermost приложении под Android

Уязвимость Persistant Arbitrary code execution в приложении Mattermost под Android. Очень интересная бага, учитывая, что это OpenSource проект, и на его основе многие компании строят свои внутренние мессенджеры. Так что, если вы используете в компании Mattermost, то обновитесь на свеженькую версию)

Суть атаки в наличии уязвимости Path Traversal в одном из параметров, который принимает ContentProvider. Благодаря этому можно перезаписать одну из нативных библиотек в приложении и при следующем запуске будет выполнен код, который атакующий зашил в метод OnLoad внутри натива.

Крайне знакомая техника, где же я о ней читал? 🤔

#Mattermost #Vulnerability #ACE
Разбор уязвимости в Android Verified Boot Process на примере... велотренажера

В Android есть процесс доверенной загрузки, который впервые появился в Android 4.4 (но был настолько ужасным, что им никто не пользовался), и в последствии был существенно доработан в 6-й и 7-й версиях Android. И хотя он недотягивает до цепочки доверия в iOS, но тем не менее работает 😃

И вот, в компании McAfee обнаружили инересну багу в велотренажерах, на которых установлен тот самый Android) Что позволяло при физическом доступе перезалить модифицированный образ загрузчика и получить удаленный root-доступ к велотренажерам. А там и запись видео со звуком, слив информации и прочие веселые вещи.

На самом деле статья интересна не конкретно велотренажерами, а тем, как в ней описан процесс доверенной загрузки, как он работает и шаги, которые были предприняты, чтобы выявить проблемы.

Можно почитать, интересный материал за чашкой кофе с утра ☕️

#Android #VerifiedBoot #Vulnerability #Sport