Mobile AppSec World
3.56K subscribers
95 photos
5 videos
15 files
621 links
Новости из мира безопасности мобильных приложений, а так же интересные статьи, обзоры инструментов, доклады, митапы и многое другое...

По всем вопросам - @Mr_R1p
Download Telegram
Как отследить устройство используя камеру и спрашивая разрешения

На самом деле, достаточно старая бага и доклад, но от этого не менее изящная. Видео с конференции 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
Выполнение произвольного кода в приложении Google

Отличная пятничная статья (хоть она и вышла несколько дней назад, но для меня она пятничная) про очень крутую уязвимость в приложении Google от уникальной компании Oversecured!

Уязвимость persistent local code execution. позволяет выполнить произвольный код в контексте приложения Google, а это значит получить очень и очень широкие возможности в системе. При этом достаточно всего одного запуска вредоносного приложения, для того, чтобы зловредный модуль остался в системе и делал свои темные дела.

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

Всем приятного чтения и хороших выходных!

#Google #Vulnerability #Oversecured
Веселые репорты с неожиданными последствиями

Обожаю такие исследования, они привносят много позитива в вечер пятницы!

Итак, получаем удаленный доступ к дилдо!

Название говорит само за себя, исследователь провел анализ приложения, которое представляло из себя что-то вроде социальной сети для владельцев определенных устройств и научился получать доступ к любому аккаунту, списку друзей, управлению подключенными устройствами и все-все возможные интересные фишки приложения.
Классная статья, большинство векторов автор показывает на примерах Frida и radare2, так что есть что почитать (помимо смешков над темой, конечно).

Надо вспомнить и найти несколько похожих исследований и составить подборку лучших багов 😂

Но на самом деле интересует, откуда этот исследователь вообще об этом приложении узнал?

#Fun #Vulnerability
CVE-2021-30737 (Memory corruption in ASN.1 decoder) - Writeup по writeup’у

Довольно интересную статью нашел, можно считать её описанием на описание уязвимости или writeup на writeup 😄

Оригинальный баг был найден в 2021 году и по нему написан достаточно увлекательное описание, как он был найден и в чем заключалась проблема.

Новый пост это скорее заметки, дополнения и размышления, как мог произойти баг в парсинге и обработке ASN.1 в iOS и где ещё можно поискать подобные уязвимости.

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

Приятного чтения и хорошей недели!

#iOS #vulnerability #writeup
URI Spoofing в клиенте мессенджера Signal для iOS

Достаточно необычная уязвимость в мессенджере Signal опубликовали исследователи.

В клиенте нашли инъекцию RTLO (RightToLeftOverride), которые позволяли отправлять пользователям ссылки, которые выглядели как нормальные, но вели на совершенно другой домен (тот, который читался справа налево). К примеру, можно отправить ссылку:
example.com/#files/ten.jpeg

Вставить перед ней специальный символ «обратного чтения» и клиент загрузит на самом деле адрес:
gepj.net/selif#/moc.elpmaxe


Гениально)) Регистрируем нужные домены и вперёд!

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

#ios #signal #vulnerability
Статья от OverSecured - Android security checklist: theft of arbitrary files

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

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

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

Как обычно (спасибо автору @bagipro за это), статья содержит детальные описания, примеры кода, реальные срабатывания и даже несколько PoC для эксплуатации. Люблю такие статейки.

Всем приятного чтения и хороших выходных!

#Oversecured #android #files #vulnerability #filestheft
Уязвимость утечки данных в процессорах Apple Silicon

Уязвимость (или даже вектор атаки) в новых процессорах Apple, с интересным названием "Augury" представила группа исследователей.

По сути, эта атака представляет собой использование особенности микроархитектурной оптимизации Data Memory-DependentPrefetcher (DMP).

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

Но мне хотелось бы верить, что все небольшие уязвимости и вектора атак сложатся в пазл и в итоге приведут наконец-то к jailbreak для 15 iOS 😄

#iOS #Vulnerability #Exploit
Уязвимость в UNISOC

Хорошая статья, правда не про приложения, а про мобильные устройства и их хардварную часть.

Уязвимость в чипсете UNISOC, которая позволяет, по факту, полностью отключить человека от мобильной сети.

Статья интересна техническим описанием протоколов и различными схемами коммуникации, многочисленными отсылками к документации и спецификациям. В общем, для лучшего понимания, как наши устройства работают - самое то!

Хорошего чтения!

#unisoc #vulnerability #dos
Уязвимости в Amazon Photo

Всё больше в последнее время новостей об 0-click RCE из связки нескольких уязвимостей или уязвимостей, связанных с получением доступа к файлам внутри приложения через Path Traversal в контент-провайдерах, в общем не совсем простые вещи. Но иногда, самые простые баги тоже могут за собой повлечь немало неприятностей.

Как и случилось с приложением Amazon Photos, где обычная экспортируемая Activity при вызове отправляла токен (и адрес сервера, куда этот токен отправлялся, контролировался злоумышленником). Вот собственно и вся бага :))
Весь интерес дальше, зная этот токен можно было получить полный доступ к фото и файлам пользователя (причем не только на чтение, но и запись).

Так что пожалуйста, соблюдайте общую гигиену ваших приложений, не экспортируйте лишнего и помните про Intent-фильтры, которые делают ваши компоненты экспортируемыми.

Ну и да, токены приватные не рассылайте кому попало :D

Всех с понедельником и хорошей недели!

#Amazon #Photo #Android #vulnerability
Samsung под прицелом

Последнее время почему-то достаточно много вещей находят именно в Самсунгах или их предустановленных приложениях.

Как пример, недавняя новость о том, что на всех устройствах Samsung можно получить системный shell. Эксплойт доступен даже с исходниками и пошаговым описанием, что необходимо сделать.

И вторая статья про две CVE в магазине приложений Galaxy App Store, которые позволяют устанавливать приложения без ведома пользователя и выполнить произвольный JS-код (а по факту открыть почти любую страницу).

Первая уязвимость заключается в некорректной обработке Intent, отправить который может любое приложение и "попросить" Galaxy App Store установить и открыть любое приложение, которое в нем есть.

Вторая бага это классическая уязвимость обхода проверки URL, который приходит в WebView из deeplink, а именно проверка его при помощи метода contains(). Почему-то именно его я очень часто встречаю при анализе приложений (особенно в последнее время).

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

#samsung #cve #vulnerability
Поверхность атаки на iOS-приложения

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

Представляет из себя набор уязвимостей, которые могут быть в iOS-приложениях. Но важен формат предоставления информации, а именно описание проблемы, фрагменты уязвимого кода, объяснение, чем он плох, пример исправленного кода и пояснение, что и как исправили и почему это хорошо. При этом примеры и на Objective и на Swift.

Крайне не привычно видеть подобное изложение проблемы, а особенно представить, сколько времени это заняло. Даже учитывая, что код достаточно простой в примерах, его количество поражает воображение (хотя, если его писал ChatGPT, такое возможно).

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

В общем, крайне рекомендую к чтению :)

#iOS #vulnerability #awesome