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

По всем вопросам - @Mr_R1p
Download Telegram
​​Решая задачу по обнаружению Jailbreak на устройствах iOS, нередко мы используем различные OpenSource проекты. Один из них, под названием IOSSecuritySuite предоставляет не только возможность определять Jailbreak, но и обнаружение отладчика (debugger), запуск приложения на эмуляторе и установленные на устройстве программы для reverse engineering.

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

Но что более интересно, при анализе этой библиотеки я нашел крайне занятную статью по обходу этих проверок с использованием Frida. Текст написан очень хорошо, с примерами кода и объяснением, что и зачем. Для тех, кто начинает знакомство с Frida или хочет обогатить свой набор способов обхода проверок - очень рекомендую.

#iOS #Frida #JailBreak #Swift
​​Вопрос, который нередко возникает, когда обнаружили JailBreak или root доступ на устройсте, а что дальше делать-то? 🤔

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

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

Третий вариант - отправлять информацию о возможной компрометации устройства на сервер.
На мой взгляд - оптимальный вариант, при котором на сервер передается статус. Но главное, чтобы он не только передавался, но и использовался. Как вариант - использовать его в системах антифрода, как один из факторов, определяющих, стоит ли подтвердить дополнительно у пользователя его действие или нет. Уведомлять ли пользователя, что он работает на взломанном устройстве или нет. Я еще для себя не пришел к какому-то окончательному выводу. Наверное, всё-таки стоит это делать, ведь пользователь может и не догадываться о наличии root или JailBreak.

Так, к чему это всё?
Вышла новая версия unc0ver, позволяющая заджейлить практически все устройства на iOS 11.0 - 13.5! 💃💃💃
И пожалуй, это лучшая новость об iOS за последнее время!

#iOS #Jailbreak #unc0ver #fraud
​​Исправляешь найденный дефект в приложении, выпускаешь релиз, радуешься, отмечаешь успех 🥳🥳
Через какое-то время в этом же компоненте находят уже другой баг, ты его исправляешь и радуешься, но.. После фикса новой баги, снова повторяется предыдущая, о которой ты уже успел забыть!

Знакомая ситуация, правда? 😄

Вот и у компании Apple абсолютно так же, закрыв новую уязвимость, они переоткрыли уязвимость 2018 года 🙈

В этом посте обратите внимание на ссылки, которые ведут на первые статьи, подробно описывающие эксплуатацию и причину возникновения уязвимости, очень интересно! Еще занятно, что разработчики Jailbreak используют методы обфускации и защиты своих разработок, чтобы вендор не смог определить, что именно и как они эксплуатируют! Вот у кого нужно поучиться защите :D

#iOS #Jailbreak #Vulnerability #Apple
​​И снова Snapchat или почему вас забанили? 😁

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

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

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

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

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

#Android #iOS #root #Jailbreak
​​Jailbreak на iOS 14

Появился jailbreak для iOS 14! Пока что не для всех моделей, но всё-таки!

Тенденция очень радует, чем старше версия iOS, тем быстрее её ломают. Может это и не так, нужно проверить 😁

Для устройств на процессорах A9(X) jailbreak уже доступен:
- iPhone 6s, 6s Plus, and SE
- iPad 5th generation
- iPad Air 2
- iPad mini 4
- iPad Pro 1st generation
- Apple TV 4 and 4K
- iBridge T2

Интересно, что в iOS 14 Apple добавила новое средство защиты SEPOS на процессорах A10 и выше: если устройство было загружено из режима DFU и Secure Enclave получает запрос на расшифровку пользовательских данных, то сработает защита. Поскольку основной эксплойт checkm8 не может обойти это ограничение, то очень кстати оказалась выявленная недавно уязвимость blackbird, которая позволяет получить контроль над Security Enclave и отключить эту проверку.

Устройства, которые ждут "скрещивания" checkm8 и blackbird:
- iPhone 7 and 7 Plus
- iPad 6th and 7th generation
- iPod touch 7
- iPad Pro 2nd generation

По заверению исследователей, это дело нескольких недель.

Для остальных устройств, на процессорах выше А10(Х), на данный момент не понятно, сработает ли уязвимость blackbird.

Будем следить :)

#iOS #Jailbreak #iOS14 #checkm8
Нативный запуск iOS приложений на MacOS

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

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

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

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

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

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

#Apple #iOS #Jailbreak #M1
Обход проверок на наличие Jailbreak

В чате возник интересный вопрос, как обойти все проверки на Jailbreak в приложении iOS?

Как показывает практика, в большинстве случаев хватает обхода вполне обычных вещей, которые рекомендуют делать при детекте jailbreak:
- Проверка артефактов в файловой системе
- URL-схема Cydia
- Вызов fork() или system()
- Возможность записи вне директории приложения (при этом файл обычно содержит в себе слово jailbreak)
- и тд и тп)

Частично обход таких проверок можно найти в objection, в соответствующем модуле.

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

Маленькая заметка
Безумно неудобно искать что-то на codeshare, так как там нет поиска, но зато есть замечательный поисковый механизм гугла, который может нам помочь в этом. Вводим в гугле site:https://codeshare.frida.re/ jailbreak. И теперь видим все результаты с сайта codeshare в которых есть слово jailbreak. Не идеал, но достаточно удобно.

Есть еще отличная преза про детект Jail и обхода этих проверок. Посмотреть можно вот тут.

Ну и конечно, статья, которая уже была на канале, но все равно актуальная и тоже по теме - анализ Pokeon Go на предмет обнаружения Jail и Frida. Тоже можно почерпнуть много интересного от разработчиков, которые много сил приложили к тому, чтобы обнаруживать читеров (хотя все равно иногда безуспешно).

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

Если у вас есть наработки или какие-то скрипты в паблике, которые вы используете для обхода проверок, напишите, пожалуйста в чате или в комментах к этому посту, попробуем собрать свое небольшое CodeShare =) Может кому-то это сэкономит время и силы)

P.S. За ссылки на статьи и скрипты спасибо @vadimszzz и @hd_421

Спасибо!

#iOS #jailbreak #bypass #frida
Переподпись IPA-файлов для iOS без срока действия!

Спасибо @vadimszzz за отличную новость!

Не так давно был обнаружен интересный баг в iOS, из-за которого CoreTrust система доверяет любому корневому сертификату. И спустя некоторое время появились PoC для эксплуатации этой уязвимости. А теперь, появился специальный инструмент, который полностью автоматизирует переподпись приложения для эксплуатации этой баги

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

Но зачем так сложно, спросите вы, ведь на jailed-устройствах есть замечательный AppSync Unified, который как раз убирает проверку подписи и позволяет запускать неподписанные приложения. А вся соль в том, что перепакованное таким образом приложение будет работать всегда, даже если джейл слетел или вы его убрали. То есть, джейлим устройство, переподписываем и устанавливаем приложение, убираем джейл, все работает так же, как и раньше!

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

На Reddit есть большой тред, посвященный этому репозиторию и возникающим проблемам.

Enjoy!

#permasigner #ios #jailbreak #CoreTrust #resign
Jailbreak для iOS 15

Интересные новости приехали, а именно про открытый и доступный Jail для iOS 15 - Palera1n Jailbreak. По контенту статьи доступные устройства для джейла:

iPhone X, iPhone 8, iPhone 8 Plus, iPhone 7, iPhone 7 Plus, iPhone 6s, iPhone 6s Plus, iPhone 6, iPhone 6 Plus, iPhone SE

А так же версии:
- iOS 15.1.1, 15.1, 15.0.2 , 15.0.1, 15
- iOS 15.4, iOS 15.3, iOS 15.2
- iOS 15.7, iOS 15.6, iOS 15.5

Не уверен, что это чистая правда и что всё работает, но очень надеюсь в скором времени проверить лично)

Если это действительно так, то нужно подождать ещё пару месяцев до того времени, как наиболее популярные твики допишут под новую версию и можно будет полноценно использовать устройство для всяких непотребств анализа приложений 😄

Но в любом случае, даже если частично правда (так как в репо авторов немного другая информация), это в любом случае хороший такой лучик надежды на долгожданный джейл на 15 iOS!

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

#iOS #jailbreak #news
Удивительное рядом

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

Проблема на Линукс и маке была простой, джейл успешно проходил, но приложение Palera1n не появлялось, чтобы не делали, а софт под Винду помог о_О

Я очень сильно удивился, потому что до этого момента был уверен, что единственный внятный инструментарий для винды это 3uTools, но нет.

Внутри лежит адаптированный под Винду чекрейн и палерейн. Ничего нового, но блин, работает же 😅

Так что, у кого были проблемы с линуксом/маком, добро пожаловать в клуб))

#palera1n #winra1n #jailbreak
Очередной обход проверок на Jailbreak

Всем таким же, как и я любителям видео с индуским английским посвящается!

Видео про обход нескольких проверок на Jailbreak:
- ptrace
- sysctl
- getppid
- dyld_get_image_name
- strstr

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

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

Хорошим способом является сочетание методов, например через твики (Shadow, A-ByPass и т.д.), и реализация дополнительных обходов уже через фрида.

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

«халлоу, туудэй ви вилл лёрн хау ту байпась мост жеилбрек детекшн»

#ios #jailbreak #bypass