• 🚨 Ещё можно успеть на курс «OSINT: технология боевой разведки» от Академии Кодебай

    🔍 Изучите методы разведки с использованием открытых источников (OSINT) для проведения успешных атак.
    🛠️ Освойте ключевые инструменты, такие как Maltego, TheHarvester и другие.
    🧪 Пройдите практические лабораторные работы, имитирующие реальную разведку.
    🧠 Развивайте навыки, которые помогут вам стать экспертом в области информационной безопасности.

    Запись открыта до 23 мая Подробнее о курсе ...

Статья Как взломать приложение на iOS: гайд для пентестеров

Как взломать приложение на iOS? Загружая новую программу на смартфон, большинство из нас считает, что остается в безопасности. Но это ошибочное мнение. Приложение - источник онлайн-вирусов, часто начинено программами-вымогателями и другим ПО, через которое утекают персональные данные. Особенно в зону риска попадают компании, которые устанавливают корпоративные приложения. Ведь через зловредные программы можно потерять массу ценных данных и даже корпоративные средства. Поэтому многие компании прибегают к услугам пентестеров, чтобы те оценили уязвимости в приложениях. Впрочем, если вы чувствуете в себе силы подойти к делу самостоятельно, мы предлагаем вам супер-гайд.

OSINT: стадия сбора информации о системе

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

Чтобы оценить клиента, необходимо провести бинарный анализ и вычислить незащищённые API; анализ файловой системы для понимания сенситивных файловых артефактов; анализ среды выполнения, с оценкой свиззлинга - обращения к компонентам вектора.

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

Наконец, атака на сервер предполагает анализ TCP-атак (манипуляция Интернет-соединениями) и HTTP-флуда. Рассматриваются overflow протокол, управляющий содержимым блочного элемента, а также SQL (возможность атаки на базу данных) и XSS (межсайтовый скриптинг), соответственно.

Кроме базового понимания, как можно поразить операционную систему, вам предстоит обратить внимание на тип мобильного приложения, ведь в каждом случае будет свой вектор атаки. Так, в случае с нативным приложением для iOS, имеем дело с языками программирования Objective-C или Swift. Значит, чтобы углубиться в архитектуру нативного приложения нам понадобится прокси либо виртуальная приватная сеть . В свою очередь, браузерные или гибридные приложения основаны на традиционных технологиях веб-приложений.

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

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

Изъять файлы из сборки также можно при помощи GCC. Приложение GNU Compiler Collection находится в открытом доступе.

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

Как создать благоприятную среду?

Если в случае с браузерными и гибридными приложениями мы можем тестировать ПО на различных платформах, приложения на iOS требуют создания определенной среды выполнения.

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

Для этой цели подойдёт, например, такой инструмент, как evasi0n. Чтобы получение доступа админа к операционной системе прошло благополучно, нужно учитывать несколько моментов:
  • выполните резервное копирование устройства, используя iTunes или iCloud - так вы обеспечите себе ход к отступлению, если что-то пойдет не так;
  • выключите кодовый замок iOS перед началом джейлбрейкингу;
  • до конца работы evasi0n не использовать iOS или iTunes;
  • если процесс остановился, перезагрузите приложение или даже девайс;
  • если пользуетесь операционной системой 10.8 и видите ошибку открытия evasi0n, кликните на иконку приложения, выберите "Открыть" - и в следующем диалоговом окне также нажмите "Открыть".

Подготовьтесь к тестовой атаке: достаньте оружие

Когда смартфон готов, вам понадобится ещё несколько инструментов для анализа и сбора информации.

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

Если вам нужно осуществить бинарный анализ, воспользуйтесь Android Apktool или виртуальной машиной Android Reverse Engineering.

Ваше приложение зашифровано? Проделайте декриптинг при помощи таких инструментов, как AppCrack или DumpDecrypted.

Наконец, для сетевого анализа скачайте Burp Proxy, Android Proxy, OWASP ZAP, Wireshark и Tcpdump.

Проведём более глубокий анализ приложения

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

  1. Контроль над идентификацией, аутентификацией и доступов показывает, что находится в хранилище для паролей от аккаунтов (key chain), является основой для брутфорс-атак и подделки параметров.
  2. Валидация и декодирование входящих данных даёт возможность внести зловредные программы и инициировать фаззинг, тем самым тестировав способность приложения принимать неправильные сведения.
  3. Получить контроль над криптографией означает завладеть базой данных паролей SQLite и впоследствии менять конфигурации крипта файлов.
  4. Управление пользовательскими данными и сессиями демонстрирует ID сессий, а также время завершения работы. На этой стадии в работу приложения можно внести ошибки и изменения.
  5. Наконец, аудит открывает доступ к логам, собирает информацию о пользователях.
Проводим атаку на клиента

На этой стадии наша задача - обнаружить незащищённые API. Нужно подвергнуть код дебаггингу, при помощи, например, IDA Pro или Hopper App.

Чтобы определить уязвимости, такие, как SQL-инъекции, приложение можно тестировать при помощи фаззинга или внести зловредные коды. Для анализа нативных приложений подходят такие инструменты, как iOKit, способные оценить риски, связанные с локальным хранилищем данных, поиском информации в браузере в базах данных SQLite. Кроме того, таким образом мы узнаем, какие данные зашифрованы. Если находим крипт файлов, здесь же стоит верифицировать, какой тип криптографии использовался в графе сенситивной информации.

Что предполагает атака на сеть?

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

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

Кроме того, оценивая вероятность сетевой атаки, нужно провести ещё ряд тестов.
  1. Наблюдаем за запросами и ответами между клиентом и сервером. Если приложение использует базовую аутентификацию https, вы в зону риска, и такие команды стоит проводить через SSL.
  2. Контроль и получение доступа над различными ролями возможен благодаря изменению параметров. Внесите ключ API в папку, которую сложно достать, проведя файловый анализ, в случае с нативным приложениями. Если работаете с веб-приложениями, проведите спайдеринг.
  3. ID-токены сессий отправляются посредством методов GET, находятся в URL. Вы сможете наблюдать за ними, пользуясь прокси или сниффером (анализатором трафика).
  4. Мобильные приложении наиболее уязвимы в вопросах слабого шифрования и протоколов. Это также нужно учитывать во время анализа.

Моделируем атаки на сервер

Для тестирования инфраструктуры мобильного приложения понадобятся такие инструменты, как Nmap. Цель - визуализировать и обнаружить потенциальные уязвимости и эксплойты.

Внесите в тест также загрузку незащищённых файлов и обмен документами.

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

Заключения

В завершение - бонус - несколько ресурсов, которые расширят ваши горизонты в пентестинге:
Damn Vulnerable iOS Application ( );
;
.

_so_a7wdhvlxvuxf00fco2thqy6sgvprbae5jkkrsmrrmmnn9ipowr6tdro99ryag6w7ubd9ajgpa03i8hskcba0ylvfqp...png
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!

Курс AD