iOS App Extensions

Вивчайте хакінг AWS від нуля до героя з htARTE (Експерт з червоної команди HackTricks AWS)!

Інші способи підтримки HackTricks:

Розширення додатків покращують функціональність додатків, дозволяючи їм взаємодіяти з іншими додатками або системою, надаючи власні функції або вміст. Ці розширення включають:

  • Спеціальна клавіатура: Пропонує унікальну клавіатуру у всіх додатках, замінюючи типову клавіатуру iOS.

  • Поділитися: Дозволяє обмінюватися інформацією в соціальних мережах або безпосередньо з іншими.

  • Сьогодні (віджети): Надає вміст або виконує завдання швидко з перегляду "Сьогодні" в Центрі сповіщень.

Коли користувач взаємодіє з цими розширеннями, наприклад, обмінюється текстом з додатка-господаря, розширення обробляє цей ввід у своєму контексті, використовуючи спільну інформацію для виконання своєї задачі, як описано в документації Apple.

Питання безпеки

Ключові аспекти безпеки включають:

  • Розширення та їхні додатки-господарі спілкуються через міжпроцесне спілкування, а не безпосередньо.

  • Віджет "Сьогодні" унікальний тим, що може запитати свій додаток відкрити через конкретний метод.

  • Доступ до спільних даних дозволяється в межах приватного контейнера, але прямий доступ обмежений.

  • Деякі API, включаючи HealthKit, недоступні для розширень додатків, які також не можуть запускати тривалі завдання, отримувати доступ до камери або мікрофону, за винятком розширень iMessage.

Статичний аналіз

Ідентифікація розширень додатків

Щоб знайти розширення додатків у вихідному коді, шукайте NSExtensionPointIdentifier в Xcode або перевіряйте пакунок додатка на наявність файлів .appex, що вказують на розширення. Без вихідного коду використовуйте grep або SSH для пошуку цих ідентифікаторів у пакунку додатка.

Підтримувані типи даних

Перевірте файл Info.plist розширення на наявність NSExtensionActivationRule, щоб визначити підтримувані типи даних. Це налаштування забезпечує, що розширення викликаються лише сумісними типами даних у додатках-господарях.

Обмін даними

Для обміну даними між додатком та його розширенням потрібен спільний контейнер, налаштований через "Групи додатків" і доступний через NSUserDefaults. Цей спільний простір необхідний для фонових передач, ініційованих розширеннями.

Обмеження розширень

Додатки можуть обмежувати певні типи розширень, зокрема спеціальні клавіатури, забезпечуючи відповідність обробці чутливих даних згідно з протоколами безпеки.

Динамічний аналіз

Динамічний аналіз включає:

  • Інспектування спільних елементів: Підключіться до NSExtensionContext - inputItems, щоб побачити підтримувані типи даних та походження.

  • Ідентифікація розширень: Дізнайтеся, які розширення обробляють ваші дані, спостерігаючи внутрішні механізми, такі як NSXPCConnection.

Інструменти, такі як frida-trace, можуть допомогти зрозуміти базові процеси, особливо тим, хто зацікавлений у технічних деталях міжпроцесного спілкування.

Посилання

Вивчайте хакінг AWS від нуля до героя з htARTE (Експерт з червоної команди HackTricks AWS)!

Інші способи підтримки HackTricks:

Last updated