Android Guards
3.32K subscribers
80 photos
1 video
3 files
206 links
Статьи, исследования, полезные ссылки и многое другое из мира безопасности Android платформы и приложений. Только проверенный контент!

YouTube: https://www.youtube.com/c/AndroidGuards

Поблагодарить: https://t.me/+oMgsdsq2ydY5MjQy
Download Telegram
Бесконечно можно смотреть на три вещи: как горит огонь, как течет вода, и как выходит очередная статья про ssl pinning. Но на этот раз я попробовал посмотреть на этот вопрос с точки зрения необходимости применения этой технологии в мобильных приложениях. Для этого я смоделировал сценарий, когда на устройство пользователя попадает сертификат злоумышленника, и как себя в этом случае начинают вести разные компоненты мобильного приложения в зависимости от настроек безопасности.
Тут уже пара авторитетных изданий написали про очередную "новую", атаку на Android которая конечно же всех погубит:
- Introducing MavenGate: a supply chain attack method for Java and Android applications (Oversecured)
- Разбираемся с MavenGate, новой атакой на цепочку поставок для Java и Android-приложений (Stingray)

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

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

В общем у кого есть желание, давайте обсудим это в комментариях. Может быть проблема действительно серьезная и всем разработчикам нужно начать боятся внимательнее следить за зависимостями, которые они затягивают в свои приложения (какой сюрприз 🫢)
Некоторое время назад разобрался и воспроизвел интересную уязвимость (CVE-2023-40121) в коде android фреймворка работающем с SQLite. Это тот редкий случай, когда в бюллетенях безопасности Android попадается действительно что-то интересное, а не всякие странные уязвимости позволяющие узнать существует какая-то иконка другого приложения или нет. Приятного чтения.

P.S. А вообще, если вам нравится все это творчество, то покидайте бустов на канал: https://t.me/boost/android_guards_today 🌚
#cve
Продолжаем разбирать прикольные уязвимости. На этот раз у нас уязвимость в библиотеке Jetpack Navigation. Суть ее в том, что она позволяет стороннему приложению открыть любой экран атакуемого приложения и передать туда параметры. Круто звучит? Вот и я так думаю. А Google не считает это уязвимостью и после получения репорта нам ответили, что "поправят документацию". Не будь как Google, исправляй ошибки в своих приложениях! И знай чем грозит использование библиотеки Navigation.
У разработчиков и исследователей безопасности часто бывает проблема с мапингом тех или иных уязвимостей на OWASP Mobile Top 10. Оказалось, что в Google тоже подумали про эту проблему и сделали такой мапинг. Помимо довольно неплохих описаний рисков и рекомендаций по фиксам, есть ссылки на отчеты на платформе hackerone и всякая дополнительная инфа по уязвимостям. Теперь можно ссылаться прямо на официальную документацию по Android когда репортите очередной android:allowBackup=true на багбаунти 🌚
Есть возможность разыграть пару проходок на PHD2024. От победителей потребуется предоставить свои данные для оформления проходов. ФИ, email, телефон, должность. Если вы с этим ок, то давайте разыграем. Ну или купите билет самостоятельно.
Final Results
40%
Все ок, играем
15%
Я хакер, мои данные это большой секрет
12%
Я не хакер, но мои данные все равно секрет
4%
Розыгрыш не нужен, куплю билет сам
29%
Почему я вообще подписан на этот канал? 🤔
Результаты голосования за конкурс вышли весьма забавными. Но большинство из проголосовавших решило, что розыгрыш проходок им нужен. Так тому и быть. Будет два задания, по одному на каждый билет. Выбирать победителя буду лично я. Никакого рандома. Первое задание будет для хакеров, второе для разработчиков. Поехали!

Задание на первую проходку: В комментариях под этим постом напишите с комфортным вам уровнем подробностей, какую самую серьезную уязвимость в android приложениях, системе или библиотеках от Google вы нашли в этом году.

UPD: приложения любые, а не только от Google. На всякий случай уточнил 😉
Хочу вам рассказать про прикольную фишку студии, которая чрезвычайно полезна для реверса. Декомпиляторы (привет HexRays), страдают такой болезнью как "распад переменных". В "нашем мире" это может выглядеть вот так:
String str = this.url;
if (str != null) {
String str2 = str;
doCoolThings(str2);
}

Из кода видно, что str2 здесь явно лишняя, и декомпилятор просто не смог ее заинлайнить. Решить эту проблему очень просто: ПКМ на str2, далее Refactor->Inline variable. Также доступно по хоткею: ⌥⌘N (macOS)/Ctrl+Alt+N (Windows/Linux). Ну и студия также показывает подсказку прямо на месте. Если никогда не пользовались, то рекомендую.

btw, в HexRays так тоже можно 🌚
Меня часто спрашивают (да успокойся ты уже, никто тебя об этом не спрашивает...) как качать скилл анализа мобильных приложений если InsecureBank надоел? Мне всегда нравились настоящие, а не выдуманные задачи, поэтому я в основном прохладно отношусь к разного рода CTF. Чтобы развивать навыки на невыдуманных задачах их (задачи) нужно откуда-то брать. И по моему скромному мнению имеет смысл начать с анализа open source приложений, которые можно добыть из магазина F-Droid например. Чем менее уверенно вы себя чувствуете, тем менее популярное и большое вам нужно там выбрать. А все найденные уязвимости сдаете разработчику приложения. И это будет отличным продолжением для погружающихся в анализ защищенности мобилок. Дальше уже есть смысл учавствовать в bug bounty программах. Но сразу туда лезть не рекомендую. Без устойчивых навыков получите только дизмораль и никакого профита. Что касается самих программ, то их можно найти как на площадках вроде Standoff365 и BI.ZONE, так и в виде self-hosted программ у конкретных вендоров. Вендоров, которые включают мобильные приложения в скоуп BB не так много, но они есть, и вот буквально недавно ребята из Яндекса обновили описания уязвимостей и правила для участия в их программе. Легкой прогулкой это не будет, но если чувствуете, что поиск багов в open source апах вам наскучил, то заскакивайте в мобильный челлендж от Яндекса. Удачного похека!
Конкурс на вторую проходку на PHD. На этот раз для разработчиков. Опишите самую сложную уязвимость которую вам когда-либо приносили (QA, апсеки, внешний аудит, кто угодно). Вот прямо такую, что вы сначала ничего не поняли, а потом как поняли. А потом опять не поняли как фиксить, а потом поняли и пофиксили плохо и вам принесли байпас... Ну вот это вот все 😅 Самый топовый расказчик получит бесплатную проходку на PHD.

Итоги этого и прошлого этапа подведем в середине недели.
Какое время, такие и конкурсы 🤕 Разработчики не пожелали получить, проходку, поэтому обе две уходят хакерам. В результате напряженных обсуждений всем составом жюри в моей голове, из двух участников было выбрано два победителя: @qasimis и @iamwii2. С чем вас и поздравляю 🫡 Чуть позже приду в личку за информацией для оформления проходок. На PHD у нас будет мобильный стенд, так что приходите развиртуализироваться и потрындеть за уязвимости.
Команда анализа мобильных приложений компании Positive Technologies подготовила пару активностей на предстоящем Positive Hack Days.

1. Уже ставший традиционным конкурс Snatch, который в прошлом году обзавелся мобильным приложением. В мобильной части этого конкурса вы получаете приложение с уязвимостями, которые мы в том или ином виде встречали в дикой природе сами. Вам нужно будет эти уязвимости найти, отправить по ним отчеты и получить внутреннюю валюту и мерч. Задача предельно простая 😎
2. Для тех, кто еще не чувствует в себе достаточное количество мидихлорианов чтобы грузить приложение в jadx и разматывать уязвимости - смогут принять участие в викторине. Там нужно будет ответить на несколько несложных вопросов и получить охапку внутренней валюты, которую можно будет обменять на мерч (а может быть что-то еще).

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

Ну а если вам все это тяжело или скучно и хочется прийти пообщаться про безопасность мобилок, то всех рады будем видеть. Я буду эпизодически появляться на этом стенде, так что все желающие развиртуализироваться ловите меня там. До встречи!
Немного юмора 🙃 Пока разработчики будут читать такие книги, у android хакеров всегда будет работа 😎
В свежем бюллетене безопасности Android есть неприметная CVE-шка c традиционно мутным описанием и не менее мутным патчем. Зачем гугл так делает - загадка. Но хорошо, что есть не только "не прекрасный" гугл, но еще и нормальные исследователи которые это нашли, зарепортили и сделали очень подробный разбор.

Суть проблемы: имея разрешение WRITE_SECURE_SETTINGS можно выполнять код от имени любого приложения в системе.

Да, разрешение не самое простое, но во-первых его имеет adb, а во-вторых устройства и сценарии бывают разные. Поэтому однозначно рекомендую ознакомиться с разбором.
#cve
Попался мне тут свежий репорт по уязвимости в одном известном продукте 🌚 Старый добрый path traversal с перезаписью файла.
Стоит сказать, что приложение написано довольно свежо и современно. Это не какая-то поделка времен Android 4.0.1. Kotlin, Single activity, Compose, архитектура(!). Все по взрослому 🙃 Но идеальных систем не бывает и ошибки случаются. Никогда об этом не забывайте, и не опускайте руки. Даже если вам кажется, что "в приложении багов нет", это означает ровно одно — вы уделили недостаточно времени анализу.

Обязательно попробуйте найти что-нибудь в этом приложении. Там есть много интересных мест 😉
⛔️ UPD: По ряду причин было решено отложить эту активность до следующего PHD и не проводить ее на ИТ-Пикнике. Все откликнувшиеся не удаляйтесь. Ближе к PHD свяжусь с вами чтобы понять осталось еще желание прийти побеседовать или нет.

⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯⎯

Некоторое время назад мне хотелось провести на канале полу-шутливую активность под названием "публичное собеседование". Потом, как обычно, закончилось время и идею я отложил. Сейчас решил ее реанимировать уже в более "взрослом" виде. Вот как это будет выглядеть: 17-го августа, в рамках фестиваля ИТ-Пикник, при поддержке ребят из Positive Hack Media, я хочу провести пару 10-ти минутных собеседований на условную позицию "хакер мобильных приложений". От меня - смешные и не очень вопросы по безопасности мобилок, от вас - желание получить мерч и должность прийти на это мероприятие ногами и поддержать беседу. Все это великолепие будет транслироваться на канале Positive Hack Media. Кто хорошо пройдет собес - получит проходку на настоящее собеседование в нашу команду анализа мобильных приложений 😎 А проходку на ИТ-Пикник вы получаете в любом случае. Оставляйте заявки в комментариях под этим постом - просто сообщение Я готов. Если кандидатов будет много, то подумаю как провести отбор.
Наконец-то началась работа над важным артефактом, который, как я верю, выведет уязвимости в мобильных приложениях из полумаргинального состояния и никому больше не надо будет сидеть и мучительно думать "а на что это вообще похоже? хss или уже csrf? а может это вообще не уязвимость?". Авторам документа не позавидуешь, потому что задача сложная, но когда она будет решена, можно будет смело вешать MASWE идентификаторы на отчеты и прекратить эти бесконечные споры слепого с глухим на тему опасности уязвимости и всего остального. Красота же, ну!
От лета осталось совсем чуть-чуть и скоро в школу... Кхм.. К чему это я собственно - 18 августа стартует новый поток стажировки PT Start. Я как-то рассказывал уже про интенсив от нашей команды занимающейся мобильными приложениями. Тогда студентам было рассказано про три интересные уязвимости и предложены не самые простые задания. В целом, стажировка направлена на то, чтобы довести выпускника IT или ИБ специальности до "кондиционного состояния" и дать базовые навыки и понятия необходимые для работы. Для тех, кто пройдет стажировку успешно, будет возможность присоединиться к какой-то из команд Positive Technologies. В том числе к команде анализа мобильных приложений. Нам нужна свежая кровь и светлые головы 😐

Ах да, стажировка оплачиваемая. Желаю удачи в прохождении отбора.
Please open Telegram to view this post
VIEW IN TELEGRAM
Опять Android, опять навигация. Я уже рассказывал вам про интересную технику эксплуатации уязвимости в библиотеке Jetpack Navigation, которую обнаружил мой коллега. Кто не читал, обязательно ознакомьтесь. В той статье шла речь про навигацию для приложений использующих фрагменты. Но проблема не только в них. Поэтому я решил посмотреть что там с расширением для Jetpack Compose и оказалось, что там все еще веселее. Техники эксплуатации этой уязвимости даже более простые, чем в предыдущем варианте. Исследование вышло в двух вариантах:
1. На английском языке в блоге PT SWARM
2. На русском языке в моем личном блоге

Надеюсь вам понравится.