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

По всем вопросам - @Mr_R1p
Download Telegram
Установка приложений без ведома пользователей на 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
Сколько «живет» iOS до Jailbreak

Не так давно появился Jailbreak для iOS 14, причем практически на следующий день после выхода beta-версии. Тогда мне стало интересно, а какая статистика по времени "взлома" каждой из версий iOS?

Благо, на помощь пришла статья из Википедии 😄 Ну и на этой почве решили сделать небольшую инфографику, спасибо коллегам за идею и оформление :)

Ну и на Хабр постанули в качестве эксперимента)
CVE-2020-0267: длинная история одной уязвимости

Я наконец-то этого дождался, уязвимость (пока единственную критическую в Android 11), получившую идентификатор CVE-2020-0267, которую мы с коллегой @jd7drw нашли в операционной системе Android, наконец-то пофиксили.

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

Механизм идеальный, создаем приложение, которое может нести какую-то полезную нагрузку, например, показывать курс криптовалюты или сделать тиндер для котиков. 😻
Но помимо основного приложения в бэкграунде создается Activity с указанным параметром taskAffinity. В этом параметре необходимо указать имя пакета приложения, которое мы хотим подменить. Собственно всё, наш зловред готов.

После этих нехитрых манипуляций при нажатии на иконку приложения, имя которого мы указали в taskAffinity, вместо запуска нормального приложения будет выведена на передний план Activity злоумышленника. Эта Activity может полностью копировать интерфейс подменяемого приложения и отправлять вводимые учетные данные на сторонний сервер. При этом, если есть двух-факторная аутентификация, никто не мешает по аналогичной схеме отправить смс-код на сервер. После кражи учетных данных можно свернуть свою активность и запустить/показать пользователю реальное приложение, которое он хотел запустить.

А если подменить приложение настроек, то можно попробовать защититься и от удаления 👹

Эту уязвимость мы зарепортили еще в 2017 году, и какого было моё удивление, когда ее "переоткрыли" спустя два года, назвали звучным именем StrandHogg и дико распиарили. Суть абсолютно такая же, но CVE они не получили (вроде бы).

Чуть позже выложу код PoC, чтобы можно было потестить самим 😉

Это наша первая CVE и упоминание на странице благодарностей Android и я думаю, что эта пятница явно удалась!

#Android #CVE #TaskHijacking #Research
Занимательный CTF от TrendMicro

Вышел обзор занимательного CTF от компании TrendMicro.

Он примечателен тем, что для его решения не потребуется root-прав, Frida или подмены чего-либо в runtime. Всё что понадобится - jadx и adb 😁

CTF основан на понимании механизма интентов и различных компонентов Android. И некоторые из задач в том числе на сообразительность)

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

"It creates ContextFactoryFactory (yeah, Java developers love factories)"

😁😁

#Android #CTF #Writeup
Сканер уязвимостей в Android приложениях GJoy Dex Analysizer

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

Написан на С++, не использует Java и не требует установки. Имеет собственный язык описания правил и развивается с 2015 года.

Приложение только под винду 😭
К сожалению, руки пока не дошли его посмотреть, выглядит интересно, но насколько хорошо работает, пока непонятно 😁

#Android #Tools
Улучшения экрана блокировки и аутентификации в Android 11

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

То есть, если вы разблокировали экран наименее безопасным, с точки зрения Android способом, например через Bluetooth девайс, вам будет доступно намного меньше возможностей, чем когда вы разблокируете телефон вводом пароля.

Достаточно логичная предосторожность :)

#Android #Google #Auth
Быстрое изменение Android Network Config

Самый простой способ пустить приложение через прокси - задать его глобально в настройках. Также, иногда бывают ситуации когда не хочется пускать весь трафик устройства через прокси, а смотреть только на определенное приложение. Для этого можно использовать ProxyDroid, он весьма удобен и рулит перенаправлением трафика через манипуляции с iptables. Для этого на устройстве/эмуляторе нужен рут, наличие пакета iptables и поддержка модуля NAT (не всегда,к сожалению, это доступно). Есть ещё хитрый способ с VPN, но это для ценителей 😁

Допустим, трафик мы пустили, но приложение не доверяет пользовательским конфигам из-за настроек в network-security-config.

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

Далеко не всегда это нужно, но если потребуется, сэкономить себе драгоценные 10-15 минут, то можно и воспользоваться 😅

#Android #APK #proxy
Что и как хранит Snapchat на iOS?

Отличную статью про анализ данных Snapchat порекомендовал в нашем чате @testing_guy, спасибо!

На самом деле, после прочтения остался вопрос, почему Snapchat хранит столько информации в открытом виде и не использует более защищённые способы хранения,хотябы через NSFileProtection?

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

Скорее всего их политика такая же, как и у WhatsUp, который вообще всё хранит plaintext в базе :) Модель угроз, которая не учитывает локального нарушителя с доступом к устройству. То если что-то случилось с трубкой, то это ваши проблемы))

Также стоит отметить и первую статью автора про начало пути в форензике и анализе iOS приложений.

Ну и напоследок, если захочется поэкспериментировать и посмотреть, какие файлы вообще доступны на устройстве до момента первой разблокировки, у автора есть классная утилита для этого! Пойду ребутну тестовый айфон и посмотрю, кто ещё забивает на рекомендации по использованию iOS Data Protection 😁

#iOS #Snapchat #Forensic
​​Перехват XPC сообщений в iOS

В Android существует известный всем механизм межпроцессного взаимодействия - binder (я давно писал про него тут и тут).

На iOS с межпроцессным взаимодействием сложнее и одним из возможных способов трансляции сообщений между приложениями является механизм XPC, основанный на передаче plist-структур при помощи libSystem и launchd. Вот тут кратко описан пример, как это работает, чуть повеселее, чем описание Apple таки. 😄

Достаточно интересно, что некоторые системные компоненты имеют XPC интерфейсы. Так, например, в далёком 2012 году на iOS 5 можно было отправлять сообщения без ведома пользователя, используя системный сервис com.apple.chatkit.

Для анализа таких взаимодействий существует несколько библиотек, причем одна из них, более новая и с большим количеством функционала, реализована с использованием frida.

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

#iOS #IPC #XPC
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