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

По всем вопросам - @Mr_R1p
加入频道
KVM теперь и на Android

Вот это прям breaking news, система виртуализации KVM может стать частью Android платформы! Слайды с выступления можно скачать тут.

Насколько я понимаю развитие Android в плане платформы, они всячески пытаются уйти от фрагментации ядра Android различными вендорами и упростить обновление самой операционной системы. Первым шагом к этому стало появление общего образа ядра (Generic Kernel Image), что поможет вендорам более гибко использовать код для поддержки различных аппаратных вещей и меньше влезать в само ядро.

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

Статья очень интересная,хоть и немного сложна для понимания (по крайней мере мне 😁).

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

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

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

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

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

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

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

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

#Android #Vulnerability #Oversecured
​​Уязвимое банковское приложение для Android

Как подсказывает @testing_guy в нашем чате, совсем недавно релизнулся Damn Vulnerable Bank, то есть, уязвимый мобильный банк для Android. А значит, новый CTF и обучающее приложение.

Состоит из серверной части и клиентского приложения.

Может быть достаточно интересно, содержит в себе детект рута и запуска на эмуляторе, анти-дебаггинг проверки для отслеживания Фриды и ей подобными, webview и deeplink и много чего ещё.

Ну и интерфейс ничего, кому-то можно и на заметку взять 😂

#Android #ctf
Перехват трафика для Instagram и Facebook

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

Но благодаря таким статьям, про перехват трафика в приложениях Facebook и Instagram для iOS, понимание становится чуть ближе.

Автор достаточно подробно рассказывает, как он анализировал приложение, что бы определить, где выполняется проверка на сертификаты, как её найти в бинарнике и главное, каким способом можно этот бинарь пропатчить. Статья с многочисленными ссылками и отсылками к инструментам или описаниям, что тоже очень полезно!

Хоть две эти статьи и похожи друг на друга, всё равно в каждой из них есть уникальные ссылки на разные материалы. Ну или прямая инструкция, как отключить пиннинг в Facebook и Instagram, что тоже неплохо 😁

#iOS #SSLPinning #Facebook #Instagram
Получение любого файла из внутренней директории Firefox

И снова в главной роли Firefox, только теперь с возможностью получения любого файла из внутренней директории приложения, включая базу с cookie 🍪

Происходит эта уязвимость из-за неверной конфигурации content Provider, немного странная обработка файлов внутри Firefox и немного магии с iframe :)

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

Но что мне больше всего интересно, кто-то правда использует Firefox на Android? ))
Forwarded from Android Guards
Появились видео с Android Summit 2020, который прошел в начале октября. Я как-то пропустил это событие, а там есть что посмотреть. По "нашей теме" там 4 видео, что в общем-то редкость для таких мероприятий:

Practical security for Android apps - новички традиционно найдут для себя много полезных практических советов о том как делать безопасные приложения в 2020, а зубастые (и бородатые) security-специалисты ничего нового не найдут, зато получат видео на которое можно посылать новичков или надергать советов, которые потом можно выдать за свои 😉

Modern security for Android Developers - совсем уж прописные истины, о которых не говорил только ленивый. Да и все ленивые кажется тоже давно уже расшевелились и сказали. Новичкам стоит это смотреть на х2 с целью накопать каких-нибудь недостающих знаний, всем остальным можно не смотреть.

Modern Android Hacking - хороший доклад с довольно нудным вступлением (первые 10 минут можно смело пропустить). Рассмотрены случаи перехвата данных из буфера обмена, "угона" интентов (**intent hijacking**) и злоупотребления возможностями доступности (**accessibility abuse**). Советы по защите от рассмотренных векторов атак также прилагаются.

Defending Your Users - не слишком технический, но от этого не менее интересный доклад о комплексном подходе к обеспечению безопасности мобильных приложений. Лейтмотивом доклада является мысль, о которой часто забывают - безопасность приложения, это не только крутые защиты реализованные в вашем исходном коде. Рекомендую к просмотру.
Получение трафика без Proxy в iOS

Нашёл тут интересную утилиту, которая обещает получение полного дампа трафика любого iOS приложения, включая запросы из WKWebView и UIWebView.

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

Честно говоря, немного смахивает на магию, но пока совершенно нет времени проверить и посмотреть в код, что же там происходит.

Но, если это и правда работает, должно быть достаточно удобно. Ещё бы этот файлик прив ести в формат, который принимает burp 😁

#iOS #Network #Sniff
Плагин для VS Code, который облегчит вам жизнь

Только сегодня спрашивали, а есть ли докер для всех популярных инструментов, которые используются для анализа Android приложений?

Это, конечно не совсем докер, но очень удобный плагин для VSCode под названием APKLab. Содержит в себе Apktool, Jadx, uber-apk-signer и позволяет использовать все эти инструменты напрямую из VSCode.

А так же, всё-таки можно это завернуть в докер, используя Remote Containers.

Подарок для тех, кто использует VSCode, по наводке от замечательного @testing_guy 😁

#Android #Containers #VSCode
Нативный запуск iOS приложений на MacOS

Согласно новостям на новом чипе М1 теперь можно нативно запускать приложения iOS. Это значит, что не нужно специально запускать симулятор или ставить приложение на реальное устройство, теперь MacOS умеет их запускать сама даже без симулятора!

А если верить некоторым записям в твитторе, то к этим приложениям так же можно подключаться при помощи Frida или lldb. 😍

То есть, теоритически, исследовать приложения, если у тебя новый мак, станет намного проще. Больше не нужно джейлить устройство и следить за выпусками очередного jailbreak или что-то еще, просто скачал приложение, переподписал его, запустил его и веред к звездам!

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

Но если все будет стабильно и мы получим подтверждение, что все инструменты работают как надо, это будет очень круто.

Надеемся на лучшее :)

#Apple #iOS #Jailbreak #M1
Баг в 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
Как работает рандомизация адресного пространства в iOS

Система iOS предоставляет ряд техник для защиты от эксплуатации различных переполнений (стека, кучи и прочих страшных вещей). Среди них PIE (Position Independed Executable), SSP (Stack Smashing Protection), ASLR (Address Space Layout Randomization). Вот как раз о последнем и пойдет сегодня речь.

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

Но вот в этой статье достаточно просто описан механизм, что такое эта рандомизация адресного пространства, зачем она нужна, как работает и самое интересное, как можно это обойти, для этого всего-то нужно пропатчить ядро 😁

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

Если вам не интересна вторая часть бинарщины про патчинг ядра, все равно рекомендую посмотреть на первую часть статьи)

#iOS #Kernel #Patching
Разнообразие уязвимостей в deeplink и Webview

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

В данной статье разобраны некоторые из возможных сценариев эксплуатации таких уязвимостей, а именно CSRF и SSRF. Достаточно интересный вектор атаки с использованием мобильных приложений :)

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

#Android #Deeplink #Webview
Постоянный root на эмуляторе

Замечательный @testing_guy прислал свеженький репозиторий (всего пара дней ему), с интересной функциональностью рутования андроид эмулятора.

Я сначала не мог понять, зачем это нужно, ведь эмуляторы без Google Play Services идут из коробки вместе с root пользователем. Но потом вспомнил то время, когда я использовал Xposed.

Действительно, root на Android эмуляторах есть, но он не такой же, как если бы вы получили его на реальном девайсе. Как минимум, при загрузке эмулятора adb server стартует из под обычного пользователя. То есть, если необходим фреймворк для анализа, такой, как Xposed, этот вариант не подойдёт, эти инструменты требуют постоянного и полноценного рута со всеми необходимыми бинарями, вроде su.

В сети есть много гайдов по тому, как зарутовать эмулятор, но они все датированы достаточно лохматым годом и почти не работают. Я в свое время написал для этого свои скрипты, которые работали на 7-м Android.

Автор же этой утилиты (набора скриптов), предлагает способ автоматизации этого процесса и гарантирует работоспособность на 9-м Android, что очень здорово!

Теперь, чтобы использовать все удобства Xposed достаточно запустить несколько команд и получить практически готовую среду! Ещё есть опция автоматом прописать СА сертификат от burp с системное хранилище, что упрощает перехват трафика.

Такая среда тестирования очень даже удобна, особенно, если вы больше любите писать на java (хуки для Xposed), а не JS (Frida).

#Android #Xposed #Emulator #Root
Xposed на Genymotion
В догонку к предыдущему сообщению, @c0de_l поделился модулем для Magisk под названием EdXposed.

Не пользовался им, но если правильно понимаю - это плагин для Magisk, который позволяет установить Xposed на устройстве с Android 9-й версии и выше и при этом пользоваться всеми удобствами и благами Magisk, например защитой от определения SafetyNet 😉

И более того, эта версия модуля специально предназначена для работы с бесплатной версией Genymotion! 🔥

#Android #Magisk #Genymotion
Онлайн-воркшоп по Android-разработке

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

А технологии, особенно в Android (как мне кажется), развиваются очень быстро и в скором времени начинаешь ощущать, что уже не всегда понимаешь что и как работает в приложении.

Иногда я хожу на разные бесплатные вебинары по разработке, чтобы хотябы понимать, что гуглить 😁 Как раз сегодня в 18:00 будет воркшоп для начинающих разработчиков. Судя по описанию, это совсем база, но если вы хотели понять, как написать первое приложение и из чего состоит Android приложуха - может быть полезно.

Это не реклама, просто ребята попросили поддержать бесплатное мероприятие. Почему бы и нет? :) Вдруг кому поможет)

#Android #Development
Распаковщик зашифрованных приложений

Несколько раз встречал вопросы про DexGuard, DexProtector и проблемы с анализом приложений, которые зашифрованы ими.

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

На Github есть проект, который может с этим помочь. Основан на базе Frida и дампе расшифрованного dex-файла из памяти. Аналогичный механизм используется в frida-dump на iOS, чтобы получить расшифрованный ipa.

Работает скрипт на Android 4-11 и поддерживает "распаковку" Jiagu, DexProtector, DexGuard и Yidun. 🔥

#Android #DexProtector #DexGuard #Unpack #tools