Mobile AppSec World
5.3K subscribers
142 photos
8 videos
19 files
675 links
Новости из мира безопасности мобильных приложений, а так же интересные статьи, обзоры инструментов, доклады, митапы и многое другое...

По всем вопросам - @Mr_R1p
Download Telegram
​​Всегда задавался вопросом, можно ли считать двухфакторной аутентификацией SMS-сообщение, которое приходит на то же устройство, с которого осуществляется вход в приложение? Как по мне, это скорее 1,5 фактора максимум 😄

Сколько работал, всегда были споры, что лучше, push или SMS? Как по мне - push намного удобнее, хотя бы потому, что начиная с Android 5.0 можно создать несколько типов уведомлений, которые будут показывать разный текст в зависимости от блокировки устройства:

Общедоступное - Уведомления отображаются на заблокированных устройствах

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

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

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

Так же и в ElcomSoft есть целый ряд статей про сравнение различных реализаций двухфакторки у Apple и как её в целом можно обойти. Вывод, на мой взгляд, один - SMS один из самых ненадежных способов доставить OTP, но его по прежнему использует очень многие..

Надеюсь, что когда-то мы все-таки откажемся от SMS для одноразовых паролей или оставим их как запасной вариант 🧐

#Android #iOS #TwoFactor #OTP
[Embedded.Android].Karim.Yaghmour.pdf
11.6 MB
Во время разработки своего инструмента нам пришлось изрядно покопаться в устройстве внутренностей Android, пытаясь понять, почему что-то не работает, добавлять свои модули в ядро и отключать хитрые проверки.

Так как исходный код Android, в большинстве своем, находится в отрытом доступе в проекте AOSP (Android Open Source Project), можно попробовать разобраться самому, как именно он устроен и какие механизмы безопасности имплементированы. А также, некоторые энтузиасты проводят статический анализ кода и ищут в нем уязвимости 🤓

Но на самом деле, самому полностью разобраться и даже первый раз собрать проект достаточно тяжело. Помочь в этом может интересная книга под названием "Embedded Android", в которой описана базовая структура AOSP-проекта, детальные инструкции по модификации и сборке, а так же некоторые ключевые моменты в коде.

Самое время начать разрабатывать свою собственную версию Android, чем еще заниматься на удалёнке 😉

#Android #AOSP #Embedded #Books
​​Когда начинаешь задумываться о разработке своего приложения, всегда держишь в голове, что делать его придётся для двух платформ iOS и Android. Но зачем два приложения, когда можно "немного" сэкономить и сделать одно, которое будет работать и там, и там?

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

Сегодня речь пойдет об одном из таких фреймворков - Flutter. Развивается данный проект компанией Google, и это пока единственный способ запустить ваше приложение на их новой операционной системе Fuchsia. Для написания приложений используется язык Dart, также разработанный Гуглом. В общем - если вы фанат Google - вам точно понравится 🤣

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

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

#iOS #Android #Analysis #Flutter #MiTM
​​Для исследования сетевой активности приложения, первым делом необходимо перенаправить трафик через свой прокси. Обычно это достаточно легко сделать, просто указав в настройках сети необходимый адрес прокси-сервера.

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

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

Но что делать на iPhone? Существует несколько способов, которыми я в том числе иногда пользуюсь:

- Поднять свою точку доступа и уже с нее весь трафик заворачивать в прокси

- Подключиться к своему серверу VPN и с него перенаправлять трафик на нужный прокси-сервер


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

Так сказать два в одном! 😂

#iOS #MitM #VPN #Proxy
​​В качестве обвязки для Frida я использую Python, так как мне этот язык привычен и можно найти много примеров именно такой связки.

Если же вы знаете и любите Java и хотите использовать Frida - этот гайд создан для вас. Внутри - большое количество примеров и объяснений, как и что работает. Примеры использования показаны на основе приложения, которое написал автор специально для данного гайда. Оно содержит много классов, использующих различные компоненты и подходы.

Так что даже, если Java не ваш язык, то на примере этого тестового приложения можно попрактиковаться в написании скриптов для Frida!

Автору респект, на всякий сохранил к себе, вдруг на Java написать что-то захочется 🤣

#Frida #Tools #Guide #Android
​​Что только не сделаешь, чтобы защитить свой API от ботов, злоумышленников, индусов с Acunetix и прочих нежелательных посетителей.

Особенно в этом преуспел Snapchat, который проделал огромную работу по обфускации и защите своего приложения. Тут тебе и код перенесенный в нативные библиотеки, и сложнейая обфускация, и специально оставленные "мертвые" участки кода, динамические вызовы библиотек и многое другое. В общем, полный набор!

Описание, как именно использует все эти техники Snapchat описаны в статье "Reverse Engineering Snapchat (Part I)". Автор разбирает используемые техники, описывает как и на что они влияют и от чего защищают. Можно позаимствовать некоторые из них для своего приложения :)

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

#Snapchat #Reverse #iOS #Research
​​В чате (который доступен по кнопке "Обсудить"), очень верно отметили, что уже вышла вторая статья по Snapchat!

И да, автор не обманул, он действительно описывает, как ему удалось обойти те или иные проверки и получить-таки заветное значение токена. Правда, до конца он так и не рассказал, как взаимодействовать с их API, оставил так сказать поресерчить самим 😃

Но все равно классная статья! 🤓

#Snapchat #Reverse #iOS #Research
Learning Android Forensics.pdf
17.6 MB
Начал разбираться в своих завалах "книги, которые я обязательно потом прочитаю". Думаю, у всех есть такая папка 😁

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

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

Также приятно, что одним из авторов является наш соотечественник!

#Android #Books #Forensic
​​Сначала я планировал выкладывать книги по одной, но подумал, что скачать все разом будет проще, удобнее и полезнее.

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

- [A]ndroid [A]pplication [P]entest [G]uide - краткий немногословный гайд по различным тулам для анализа Android

- Android Hacker's Handbook - не самая свежая, но хорошая книга по анализу. Совмещает в себе и краткое описание структуры Android и методы "взлома"

- Android Malware and Analysis - очень хороший материал по семействам, типам малвари для Android, способам ее обнаружения различными методами (статический анализ, поведенческий анализ) и инструкциями по созданию собственной песочницы для экспериментов

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

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

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

- decompiling-android - пожалуй, наиболее полный гайд по декомпиляции и дизасемблированию (если можно его так назвать) приложений по Android. Если вы часто анализируете приложения методом "черного ящика" - эта книга вам точно поможет

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

- Mobile App Hackers Handbook - так же не самая свежая, но в целом актуальная книга по анализу приложений и инструментам, которые для этого используются. Чем-то напоминает мне MSTG

- XDA's_Android_Hacker's_Toolkit - книга от участников форума XDA про безопасность мобильных устройств, кастомным загрузчикам, специфике различных производителей

Уверен, что каждый найдет для себя что-то полезное хотя бы в одной из этих книг!
Enjoy!

#Android #Books #Education

https://drive.google.com/file/d/17y5k91lIU0QWK3HyToQRWYbJAVVTQn-v
​​В продолжении темы книг - подборка по безопасности и анализу мобильных приложений под iOS! Включает в себя:

- iOS App Reverse Engineering - отличная книга практических советов по анализу iOS приложений при помощи Reverse Engineering. Пожалуй, наиболее подробный материал, который я читал по этому направлению.

- iOS_Forensics_Cookbook - книга, посвященная анализу данных на системе iOS, как и где можно посмотреть данные, что полезного хранят в себе логи, бэкапы, и какие утилиты можно использовать для удобного анализа

- iOS_Hackers_Handbook - не самая свежая, но хорошая книга по анализу. Описанные техники не самые новые, но описание архитектуры и модели безопасности iOS описаны подробно и понятно

- Mac OS X and iOS Internals - наверное, одна из самых подробных и сложных для меня книг, которая максимально подробно описывает, что происходит внутри операционной системы, памяти, ядра и прочих темных переулках iOS

- Mobile App Hackers Handbook - хорошая книга для начала изучения безопасности мобильных приложений, дает представление простым и понятным языком о многих вещах, пытаясь совместить в себе и описание анализа приложений и защиты.

Их, конечно намного меньше, чем по Android, но есть что почитать вечерком :)
Enjoy!

#iOS #Books #Education

https://drive.google.com/file/d/1X9StporiApy_UP2gd1b-2djmwcIRq524
Android Books Part 2.zip
19.3 MB
Спасибо @ChadwickBlackford из нашего чата за еще несколько интересных материалов по Android, забрал себе в "библиотеку", будем изучать :)

Материалы включают в себя:

- Practical Android Application Exploitation - подробная презентация Workshop'а с DEFCON по практическому анализу Android.

- Hacking Android - по беглому просмотру может оказаться очень полезной, описывается использование различных методов анализа при помощи достаточно современных утилит, что выгодно отличает эту книгу от большого количества статей в интернете

Если у кого есть интересные материалы - пишите, потом соберем всё в одну большую подборку 🤓

#Android #Books #Education
​​Немного не про мобильные приложения, но где-то около, на тему IoT и популярных GPS-трекеров.

Честно говоря, я зачитался этими двумя статьями(первая и продолжение), которые опубликовали специалисты из компании Avast. Они провели полноценное исследование, как именно взаимодействуют популярные небольшие GPS-трекеры, их протоколы взаимодействия (GSM, SMS, HTTP, Web) и в каждом из них нашли шикарные уязвимости, которые позволяют полностью скомпрометировать устройство и следить за людьми (а в некоторых случаях и управлять машиной, если такой трекер интегрировать в машину). 😱

Что еще интересно - это механизм WhiteLabel, когда одно и то же устройство выпускается под десятками разных имён и различаются только картинками и интерфейсом (спойлер: практически все исследуемые трекеры используют один и тот же уязвимый API). То есть, одна уязвимость в любом из компонентов автоматически тиражируется на всё! 😏

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

#IoT #GPS #Research
Мне всегда очень нравились видео-курсы, презентации или видео материалы по анализу мобильных приложений. Просто потому, что это наглядно и для меня так проще воспринимать информацию. Уже после просмотра можно углубиться в техническую составляющую и засесть за заметки, которые делал по ходу выступления. А если еще спикер умеет рассказывать, вообще 🔥

Это к тому, что уже 2-го июля (в четверг) в 21:00 по Московскому времени пройдет вебинар от OWASP по безопасности и анализу iOS-приложений. Несколько тем, которые будут затронуты:

- Общие проблемы безопасности iOS приложений, основанные на реальных кейсах
- Начало работы, настройка среды для анализа
- Поверхность атаки на приложения экосистемы iOS
- Что можно сделать на не Jailbreak устройстве?

Выглядит достаточно интересно, я уже зарегистрировался, посмотрим, расскажут ли что интересное 🤓

#iOS #Analysis #Webinar

https://www.meetup.com/Bay-Area-OWASP/events/271550835/
​​В моей любимой извечной игре "спрячь root - найди root" Google сделал свой ход конем 🦄

В новых версиях SafetyNet появился крайне интересный функционал, представленный в виде нового поля "evaluationType", который определяет, как именно была выполнена проверка на легитимность устройства (программно или аппаратно).

Что интересно, раньше для определения факта "взлома" устройства использовалось только программная проверка, что позволяло такому софту, как например, Magisk, благополучно скрывать и себя и модификацию системы. Сейчас же, для некоторых моделей телефонов, завезли аппаратную проверку целостности загрузчика (boot image), для обхода которой нужно попытаться подменить вызовы внутри Google Play Services, что является той еще задачкой 😁

Я очень надеюсь, что это может стать первым шагом для производители Android-устройств в реализации "цепочки доверенной загрузки" по аналогии с iOS, вот это будет огонь! 🔥

#Android #SafetyNet #Root #Defense #Magisk
​​Чем меня радует Android - он не прекращает развиваться, и с каждой новой версией становится всё интереснее и безопаснее (надеюсь) 😁

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

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

Хочется верить, что так будет и дальше 😎

#Android #Security #Permissions #Release #Android11
​​И снова Snapchat или почему вас забанили? 😁

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

И вот ещё две интересные статьи про то, как и что проверяет Snapchat в Android приложении и в iOS версии для определения, что устройство взломано.

Ценность этой статьи в том, что некоторые проверки для меня оказались новыми и я стянул их в свои рекомендации для выявления root/jailbreak 😉

А с другой стороны, планирую добавить несколько хуков, чтобы обходить эти проверки)

В общем, крайне полезно 🤓

#Android #iOS #root #Jailbreak
​​Как заметили в нашем чате (доступен по кнопке "Обсудить"), буквально на днях прошёл Android Security Symposium, как сейчас принято, в онлайн формате 😁

Два дня интересных технических докладов про Android, которые я собираюсь на выходных посмотреть и изучить :) особенно интересено послушать про Memory Tagging for the Kernel, раньше я про такое не знал, но век живи, век учись 🤓

Первый и второй день уже доступны для просмотра! Enjoy!

#Android #webinars #conference
​​Не могу не поделиться шикарной библиотекой для реализации аутентификации в приложении по PIN-коду.

Библиотека вычисляет хэш PIN-кода с помощью функции PBKDF2 и сохраняет его в файле. Файл, в свою очередь зашифрован алгоритмом AES-256 в режиме GCM, а ключи хранятся в AndroidKeystore.

В своих рекомендациях на тренингах и после аудитов я предлагал использовать подобный подход, но теперь есть готовая библиотека, которая реализует всё за вас! 🔥

Разработчик библиотеки ведёт собственный канал @android_guards_today, на который я настоятельно рекомендую подписаться, контент авторский и очень годный! Ещё и чат есть 🤓

#Android #Cryptography #PIN
​​Всё тайное становится явным или как анализировать приложение, защищённое при помощи DexGuard.

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

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

И не зря, как оказалось 😁
Крайне интересный цикл статей по механизмам работы проверок в DexGuard и, самое главное, о недостатках и способах всё это обойти! 😱

#Android #DexGuard #DexProtector #Encryption #Obfuscation
​​Очень интересно наблюдать, как кто-то анализирует известные приложения и описывает свои находки.

Так и в случае с приложением Nike Run Club - исследователь задался целью выковырять данные из API и преобразовать их в удобный для себя формат. Но, приложение генерировало уникальную строку для авторизации и это нужно было обойти 😁

Хорошая статья про реализацию своей идеи, заодно и навыки Frida прокачать 😉

#Android #NikeRunClub #Revers #Frida