mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
10 KiB
10 KiB
iOS Pentesting Checklist
{{#include ../banners/hacktricks-training.md}}
Підготовка
- Прочитайте Основи iOS
- Підготуйте своє середовище, прочитавши Середовище тестування iOS
- Прочитайте всі розділи Початкового аналізу iOS, щоб дізнатися про загальні дії для тестування iOS-додатка
Зберігання даних
- Plist файли можуть використовуватися для зберігання чутливої інформації.
- Core Data (база даних SQLite) може зберігати чутливу інформацію.
- YapDatabases (база даних SQLite) може зберігати чутливу інформацію.
- Firebase неправильна конфігурація.
- Realm бази даних можуть зберігати чутливу інформацію.
- Couchbase Lite бази даних можуть зберігати чутливу інформацію.
- Бінарні куки можуть зберігати чутливу інформацію
- Кешовані дані можуть зберігати чутливу інформацію
- Автоматичні знімки можуть зберігати візуальну чутливу інформацію
- Keychain зазвичай використовується для зберігання чутливої інформації, яка може залишитися при перепродажу телефону.
- Підсумовуючи, просто перевірте наявність чутливої інформації, збереженої додатком у файловій системі
Клавіатури
- Чи дозволяє додаток використовувати користувацькі клавіатури?
- Перевірте, чи зберігається чутлива інформація у файлах кешу клавіатур
Логи
- Перевірте, чи реєструється чутлива інформація
Резервні копії
- Резервні копії можуть використовуватися для доступу до чутливої інформації, збереженої у файловій системі (перевірте початковий пункт цього контрольного списку)
- Також, резервні копії можуть використовуватися для модифікації деяких конфігурацій додатка, а потім відновлення резервної копії на телефоні, і оскільки модифікована конфігурація завантажується, деяка (безпекова) функціональність може бути обійдена
Пам'ять додатків
- Перевірте наявність чутливої інформації всередині пам'яті додатка
Пошкоджена криптографія
- Перевірте, чи можете ви знайти паролі, що використовуються для криптографії
- Перевірте використання застарілих/слабких алгоритмів для відправки/зберігання чутливих даних
- Перехоплюйте та моніторте криптографічні функції
Локальна аутентифікація
- Якщо в додатку використовується локальна аутентифікація, вам слід перевірити, як працює аутентифікація.
- Якщо використовується Фреймворк локальної аутентифікації, його можна легко обійти
- Якщо використовується функція, яку можна динамічно обійти, ви можете створити власний скрипт frida
Витік чутливої функціональності через IPC
- Користувацькі обробники URI / Глибокі посилання / Користувацькі схеми
- Перевірте, чи додаток реєструє будь-який протокол/схему
- Перевірте, чи додаток реєструється для використання будь-якого протоколу/схеми
- Перевірте, чи додаток очікує отримати будь-яку чутливу інформацію з користувацької схеми, яка може бути перехоплена іншим додатком, що реєструє ту ж схему
- Перевірте, чи додаток не перевіряє та не очищає введення користувачів через користувацьку схему, і чи може бути використана якась вразливість
- Перевірте, чи додаток викриває будь-яку чутливу дію, яку можна викликати з будь-якого місця через користувацьку схему
- Універсальні посилання
- Перевірте, чи додаток реєструє будь-який універсальний протокол/схему
- Перевірте файл
apple-app-site-association
- Перевірте, чи додаток не перевіряє та не очищає введення користувачів через користувацьку схему, і чи може бути використана якась вразливість
- Перевірте, чи додаток викриває будь-яку чутливу дію, яку можна викликати з будь-якого місця через користувацьку схему
- UIActivity Sharing
- Перевірте, чи може додаток отримувати UIActivities і чи можливо експлуатувати будь-яку вразливість зі спеціально підготовленою активністю
- UIPasteboard
- Перевірте, чи додаток копіює щось у загальний буфер обміну
- Перевірте, чи додаток використовує дані з загального буфера обміну для чогось
- Моніторте буфер обміну, щоб перевірити, чи копіюється якась чутлива інформація
- Розширення додатків
- Чи використовує додаток будь-яке розширення?
- WebViews
- Перевірте, які види webviews використовуються
- Перевірте статус
javaScriptEnabled
,JavaScriptCanOpenWindowsAutomatically
,hasOnlySecureContent
- Перевірте, чи може webview доступати до локальних файлів з протоколом file:// (
allowFileAccessFromFileURLs
,allowUniversalAccessFromFileURLs
) - Перевірте, чи може Javascript отримати доступ до Native методів (
JSContext
,postMessage
)
Мережева комунікація
- Виконайте MitM для комунікації і шукайте веб-вразливості.
- Перевірте, чи перевіряється ім'я хоста сертифіката
- Перевірте/обійдіть Pinning сертифікатів
Різне
- Перевірте наявність автоматичного патчінгу/оновлення механізмів
- Перевірте наявність шкідливих бібліотек сторонніх розробників
{{#include ../banners/hacktricks-training.md}}