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

По всем вопросам - @Mr_R1p
Download Telegram
Introduction to Security of Mobile Applications for Android

Всем привет!
Не так давно вышло отличное видео про введение в безопасность Android-приложений.

Очень советую всем, кто хотел бы вкатиться в эту область или расширить свой кругозор относительно разработки. В примерах, которые приводит Игорь в своем докладе, он рассматривает как раз написанное нами уязвимое приложение Secure Notes, которое мы публиковали на OFFZONE в качестве CTF.

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

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

Игорь, Лина, спасибо вам за контент и приложение 😄

#securenotes #android #video #training
Обход SSL Pinning во Flutter-приложениях

Всем привет!
Давно не было интересных новостей и вот самая актуальная тема всех чатов - обход пиннинга!

На этот раз это видео про обход этого во Flutter-based приложениях. И это весьма интересно, так как Flutter внутри себя использует несколько другие подходы и стандартные скрипты по снятию защиты не работают.

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

А вообще в канале достаточно много интересных видео на тему анализа мобильных приложений и использования Frida и других инструментов. Тае что, кому заходит видео-инструкции и кто выдерживает индусский акцент, может быть достаточно интересно.

#android #pinning #flutter
Как на самом деле магазины приложений проверяют ваше приложение на уязвимости перед публикацией.

Всем привет!

Не могу не поделиться, хоть и из отпуска, нашим исследованием.

Как вы помните, на OFFZONE мы проводили CTF, в котором было представлено приложение с реальными уязвимостями. Тогда я обещал, что мы о нем еще поговорим. Время пришло 🙂

Мы загрузили наше уязвимое приложение во все популярные магазины, наблюдали за процессом их публикации и тому, какие проверки наше приложение проходило.

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

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

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

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

Статья выше разделена на две части:
- Первая рассказывает о нашем приложении, как оно устроено, какие проблемы мы в него закладывали, к чему они могут привести. Давно планировали это написать, но решили совместить, так что всем, кто решал наш CTF и хотел посмотреть, что было еще, добро пожаловать!

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

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

И если когда-то вам скажут о том, что аудит не нужен, так как есть проверки на стороне магазинов, просто покажите им эту статью.

Лайки, репосты и прочие активности очень приветствуются!

Ну а я дальше отдыхать 🌴🏝️

#research #android #googleplay #ctf
Please open Telegram to view this post
VIEW IN TELEGRAM
Pending Intents, что это и зачем?

Крайне полезная статья про механизм Pending Intents в Android, которая очень хорошо структурирована.

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

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

#android #intents
Анализ Android-трояна GodFather

Чем еще заняться в старый новый год? Конечно же, поизучать разные малвари :)

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

Что сказать, на месте авторов я бы поизучал безопасность приложений.. Например, ужасная функция защиты от работы на эмуляторе, ключ шифрования 'ABC', зашитый в коде, не очень хорошая обфускация (судя по скринам), как-то не впечатляет :)

И еще одна интересная статья по этому же троянцу от Group, которая описывает немного другие аспекты, есть как технические, так и поведенческие моменты, но все равно очень интересно почитать.

Хоть и не сильно мне нравятся подобные темы, но иногда можно и посмотреть, что скрыто внутри малвари, попадаются иногда очень технически интересные экземпляры и статьи по их разбору :)

Всех с наступающим старым новым годом!

#Android #Malware #godfather
Новая атака на цепочку поставок: Java и Android под ударом!

Буквально на днях компания Oversecured выпустила потрясающую статью про новую атаку на цепочку поставок. В этот раз под ударом оказались Java-пакеты и, конечно, под раздачу попал и Android...

Способ атаки крайне прост и изящен. Для того, чтобы загрузить новую версию или измененную старую в репозиторий, например, MavenCentral необходимо подтвердить, что ты это ты. Как это сделать? Перевернуть имя пакета и на указанном домене разместить dns-запись.

К примеру, пакет com.stingray.mobile превращается в домен mobile.stingray.com. И, добавив несколько полей в TXT-запись мы получаем верифицированный аккаунт, который может загружать новые и обновлять существующие версии.

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

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

Идеальный план и более того, ребята провели исследование всех библиотек в нескольких репозиториях и получили крайне интересные цифры по уязвимым либам:
1. По доменам: 3,710 or 14.18%
2. На основании приватных github-репо: 291 or 3.86%

Крайне интересные цифры.

Снимаю шляпу перед исследователями такого уровня :)

Я думаю, что скоро нас ждет интересное продолжение :)

#oversecured #supplychain #android
URL extractor или как получить IP и домены из apk

Относительно недавно встала задача поискать все урлы, Хосты, домены и IP в Android-приложении.

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

Нашел репозиторий, который как раз делает то, что необходимо, собирает из APK (или даже из директории), все подходящие по формату строки и сортирует их по файликам.

По сути, это просто баш-скрипт, который декомпилирует приложение и также грепом проходится по файлам. Использует apktool и jadx.

В целом, неплохая отправная точка, чтобы начать делать что-то своё или быстро получить результат.

Пока в работе не пробовал, но очень скоро расскажу, насколько оно фалзит.

Если кто-то использует нечто подобное, тоже буду крайне признателен за советы :)

#android #extract #url
Определение обфускации приложения при помощи обученной модели.

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

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

Интересно, что мы пошли похожим путем, с единственной разницей, что мы сами определяем обфусцирован класс или нет, что дает больше контроля, чем модель предсказания и плюс есть возможность настроить параметры. Но, это не так популярно и тв не можешь говорить, что везде используешь AI&ML :D

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

Будьте бдительны на фронтах контроля обфускации 😈

#android #obfuscation #ml
Магические файлы .bak в SharedPreferences

Всем привет!

Наткнулся на крайне занятную статью, которая рассказывает о работе механизма SharedPreferences с файлами с расширением .bak

До этого момента, я даже не знал, что так можно. Оказывается, если внутри SP есть файл, например, credentials.xml и рядом лежит credentials.xml.bak, то при загрузке этого файла первый будет удален, файл бекапа будет переименован и использоваться, как оригинальный, что подтверждается анализом исходников.

Это может помочь, если у вас есть возможность записать файл в директорию, но приложение проверяет наличие файла перед записью

if(file.exists()) abort();

Я пока с таким не сталкивался, но однозначно буду иметь это поведение ввиду.

Ну или по крайней мере проверю, может оно вообще не так, но по коду выглядит логично :)

#android #sharedprefs
Эксплуатация уязвимостей в Deeplink и Webview

Цикл статей из двух частей (раз и два) про эксплуатацию различных проблем, связанных с технологиями deeplink и WebView.

Первая часть рассказывает о том, что такое webview, а также показывает возможность эксплуатации XSS и доступа к Java-объектам.

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

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

#android #deeplink #webview
Deobfuscating Android ARM64 strings with Ghidra

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

Но намного более интересно, это подробное описание взаимодействия с Ghidra, как использовать, как отлаживать, как автоматизировать через Python.

Очень советую тем, кто работает с этим инструментом или планирует изучать.

#android #ghidra #reverse
Make drozer great again

Не могу пройти мимо этой новости, спустя 7 долгих лет произошло обновление любимого многими инструмента drozer

Теперь он поддерживает python3! И очень надеюсь на добавление нового функционала.

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

Пока что не поддерживается запуск на Windows и есть определенные проблемы со стабильностью в ряде случаев, но все равно это по настоящему возрождение легенды :)

#drozer #android
Общественная зарядная станция, как вектор угрозы для мобильного приложения

Всем привет!

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

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

И хотя приведенные в стате вектора атак выглядят не очень страшно, особенно, учитывая, что мало чего удастся достичь на устройстве с заблокированном экраном, задуматься все таки стоит. Как минимум о:
1. На зарядке мы часто пользуемся телефоном или держим его разблокированным (дети смотрят мультики, например)
2. Приведенные вектора атак, как мне кажется, далеко не единственные (если знаете что-то еще, поделитесь в комментариях)
3. Есть еще прикольная техника АТ-команд

Да много чего, я думаю, можно придумать :)

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

#attack #ios #android #cable
Обход ограничений безопасности Android

А вот и отличный пример того, что валидация и санитизация входных данных поможет избежать 80% проблем.

Из-за того, что в одном месте проверка есть, а в другом забыли, стало возможно выполнять любые действия от имени приложения (run as). Получить приватные файлы приложения, данные из AccountManager и все, что можно сделать из атакуемого приложения. Эксплойт состоит всего из 4-х строк, зато какие возможности!

Уязвимы версии Android 12 и 13, и, хотя для эксплуатации требуется ряд вещей, это очень интересный способ исследовать приложения на незапатченных версиях и весьма интересный способ анализа, если нет рута на устройстве.

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

#android #cve
Аналогичная поверхность атаки и способы защиты для Android

А рядом, кстати, лежит и аналогичная статья по Android, крайне подробная и очень интересная.

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

Я прям очень доволен, что удалось это найти, хороший контент, хотя полностью досконально еще не успел изучить, сразу делиться)))

#android #vulnerabilities #awesome
Fuzzing библиотек Android при помощи Frida и Radamsa

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

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

И сделал) Используя Frida для оркестрации вызова функций Java и Stalker для обратной связи. И Radamsa для мутации данных.

Хороших выходных и фаззинга!

#Fuzzing #android #frida
Обход проверок на Fridа

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

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

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

#Frida #root
Фокус на безопасность мобильных приложений

Всем привет!

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

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

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

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

Приятного чтения, надеюсь, вам понравится!

#android #ios #mobile #habr
И снова Path Traversal в Android-приложениях

Теперь под атакой Path Traversal оказались такие популярные приложения, как файл менеджер от Сяоми и WPS Office. Многие из нас пользуются ими или хотя бы слышали про них. При этом в Сяоми удалось выполнить произвольный код через замену .so файла.

Суть все также, что и раньше, отправляем в Intent путь к внутреннему файлу через ../../

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

При этом, ребята из Microsoft (те, кто обнаружил проблемы), подошли основательно, написав еще и в Google, благодаря чему появилась еще одна статья в документации (знакомо, правда @OxFi5t?).

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

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

Будьте в безопасности и хорошего кодинга :)

#android #pathtraversal #xiaomo