# Lista kontrolna pentestingu iOS
\ Użyj [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), aby łatwo budować i **automatyzować przepływy pracy** zasilane przez **najbardziej zaawansowane** narzędzia społecznościowe na świecie.\ Uzyskaj dostęp już dziś: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% hint style="success" %} Ucz się i ćwicz Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Ucz się i ćwicz Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Wsparcie dla HackTricks * Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)! * **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
{% endhint %} ### Przygotowanie * [ ] Przeczytaj [**Podstawy iOS**](ios-pentesting/ios-basics.md) * [ ] Przygotuj swoje środowisko, czytając [**Środowisko testowe iOS**](ios-pentesting/ios-testing-environment.md) * [ ] Przeczytaj wszystkie sekcje [**Wstępnej analizy iOS**](ios-pentesting/#initial-analysis), aby poznać wspólne działania do pentestingu aplikacji iOS ### Przechowywanie danych * [ ] [**Pliki Plist**](ios-pentesting/#plist) mogą być używane do przechowywania wrażliwych informacji. * [ ] [**Core Data**](ios-pentesting/#core-data) (baza danych SQLite) może przechowywać wrażliwe informacje. * [ ] [**YapDatabases**](ios-pentesting/#yapdatabase) (baza danych SQLite) może przechowywać wrażliwe informacje. * [ ] [**Firebase**](ios-pentesting/#firebase-real-time-databases) błędna konfiguracja. * [ ] [**Bazy danych Realm**](ios-pentesting/#realm-databases) mogą przechowywać wrażliwe informacje. * [ ] [**Bazy danych Couchbase Lite**](ios-pentesting/#couchbase-lite-databases) mogą przechowywać wrażliwe informacje. * [ ] [**Cookies binarne**](ios-pentesting/#cookies) mogą przechowywać wrażliwe informacje. * [ ] [**Dane w pamięci podręcznej**](ios-pentesting/#cache) mogą przechowywać wrażliwe informacje. * [ ] [**Automatyczne zrzuty**](ios-pentesting/#snapshots) mogą zapisywać wizualne wrażliwe informacje. * [ ] [**Keychain**](ios-pentesting/#keychain) jest zazwyczaj używany do przechowywania wrażliwych informacji, które mogą zostać pozostawione przy odsprzedaży telefonu. * [ ] Podsumowując, po prostu **sprawdź, czy aplikacja zapisuje wrażliwe informacje w systemie plików.** ### Klawiatury * [ ] Czy aplikacja [**pozwala na używanie niestandardowych klawiatur**](ios-pentesting/#custom-keyboards-keyboard-cache)? * [ ] Sprawdź, czy wrażliwe informacje są zapisywane w [**plikach pamięci podręcznej klawiatur**](ios-pentesting/#custom-keyboards-keyboard-cache). ### **Logi** * [ ] Sprawdź, czy [**wrażliwe informacje są rejestrowane**](ios-pentesting/#logs). ### Kopie zapasowe * [ ] [**Kopie zapasowe**](ios-pentesting/#backups) mogą być używane do **uzyskania dostępu do wrażliwych informacji** zapisanych w systemie plików (sprawdź początkowy punkt tej listy kontrolnej). * [ ] Ponadto, [**kopie zapasowe**](ios-pentesting/#backups) mogą być używane do **modyfikacji niektórych konfiguracji aplikacji**, a następnie **przywrócenia** kopii zapasowej na telefonie, a jako **zmodyfikowana konfiguracja** jest **ładowana**, niektóre (bezpieczeństwa) **funkcjonalności** mogą być **obejście**. ### **Pamięć aplikacji** * [ ] Sprawdź wrażliwe informacje w [**pamięci aplikacji**](ios-pentesting/#testing-memory-for-sensitive-data). ### **Złamana kryptografia** * [ ] Sprawdź, czy możesz znaleźć [**hasła używane do kryptografii**](ios-pentesting/#broken-cryptography). * [ ] Sprawdź użycie [**przestarzałych/słabych algorytmów**](ios-pentesting/#broken-cryptography) do wysyłania/przechowywania wrażliwych danych. * [ ] [**Hook i monitoruj funkcje kryptograficzne**](ios-pentesting/#broken-cryptography). ### **Lokalna autoryzacja** * [ ] Jeśli w aplikacji używana jest [**lokalna autoryzacja**](ios-pentesting/#local-authentication), powinieneś sprawdzić, jak działa autoryzacja. * [ ] Jeśli używa [**Frameworka lokalnej autoryzacji**](ios-pentesting/#local-authentication-framework), może być łatwo obejście. * [ ] Jeśli używa [**funkcji, która może być dynamicznie obejście**](ios-pentesting/#local-authentication-using-keychain), możesz stworzyć niestandardowy skrypt frida. ### Ekspozycja wrażliwej funkcjonalności przez IPC * [**Niestandardowe obsługiwacze URI / Deeplinks / Niestandardowe schematy**](ios-pentesting/#custom-uri-handlers-deeplinks-custom-schemes). * [ ] Sprawdź, czy aplikacja **rejestruje jakikolwiek protokół/schemat**. * [ ] Sprawdź, czy aplikacja **rejestruje się do użycia** jakiegokolwiek protokołu/schematu. * [ ] Sprawdź, czy aplikacja **oczekuje otrzymania jakichkolwiek wrażliwych informacji** z niestandardowego schematu, które mogą być **przechwycone** przez inną aplikację rejestrującą ten sam schemat. * [ ] Sprawdź, czy aplikacja **nie sprawdza i nie oczyszcza** danych wejściowych użytkowników przez niestandardowy schemat i czy jakaś **vulnerabilność może być wykorzystana**. * [ ] Sprawdź, czy aplikacja **ekspozytuje jakąkolwiek wrażliwą akcję**, która może być wywołana z dowolnego miejsca przez niestandardowy schemat. * [**Uniwersalne linki**](ios-pentesting/#universal-links). * [ ] Sprawdź, czy aplikacja **rejestruje jakikolwiek uniwersalny protokół/schemat**. * [ ] Sprawdź plik `apple-app-site-association`. * [ ] Sprawdź, czy aplikacja **nie sprawdza i nie oczyszcza** danych wejściowych użytkowników przez niestandardowy schemat i czy jakaś **vulnerabilność może być wykorzystana**. * [ ] Sprawdź, czy aplikacja **ekspozytuje jakąkolwiek wrażliwą akcję**, która może być wywołana z dowolnego miejsca przez niestandardowy schemat. * [**Udostępnianie UIActivity**](ios-pentesting/ios-uiactivity-sharing.md). * [ ] Sprawdź, czy aplikacja może odbierać UIActivities i czy możliwe jest wykorzystanie jakiejkolwiek vulnerabilności z specjalnie przygotowaną aktywnością. * [**UIPasteboard**](ios-pentesting/ios-uipasteboard.md). * [ ] Sprawdź, czy aplikacja **kopiuje cokolwiek do ogólnej pamięci podręcznej**. * [ ] Sprawdź, czy aplikacja **używa danych z ogólnej pamięci podręcznej do czegokolwiek**. * [ ] Monitoruj pamięć podręczną, aby zobaczyć, czy jakiekolwiek **wrażliwe dane są kopiowane**. * [**Rozszerzenia aplikacji**](ios-pentesting/ios-app-extensions.md). * [ ] Czy aplikacja **używa jakiegokolwiek rozszerzenia**? * [**WebViews**](ios-pentesting/ios-webviews.md). * [ ] Sprawdź, jakiego rodzaju webviews są używane. * [ ] Sprawdź status **`javaScriptEnabled`**, **`JavaScriptCanOpenWindowsAutomatically`**, **`hasOnlySecureContent`**. * [ ] Sprawdź, czy webview może **uzyskać dostęp do lokalnych plików** z protokołem **file://** **(**`allowFileAccessFromFileURLs`, `allowUniversalAccessFromFileURLs`). * [ ] Sprawdź, czy Javascript może uzyskać dostęp do **metod** **Native** (`JSContext`, `postMessage`). ### Komunikacja sieciowa * [ ] Wykonaj [**MitM na komunikacji**](ios-pentesting/#network-communication) i poszukaj luk w zabezpieczeniach w sieci. * [ ] Sprawdź, czy [**nazwa hosta certyfikatu**](ios-pentesting/#hostname-check) jest sprawdzana. * [ ] Sprawdź/obejdź [**Pinning certyfikatów**](ios-pentesting/#certificate-pinning). ### **Różne** * [ ] Sprawdź [**mechanizmy automatycznego łatania/aktualizacji**](ios-pentesting/#hot-patching-enforced-updateing). * [ ] Sprawdź [**złośliwe biblioteki stron trzecich**](ios-pentesting/#third-parties). {% hint style="success" %} Ucz się i ćwicz Hacking AWS:[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)\ Ucz się i ćwicz Hacking GCP: [**HackTricks Training GCP Red Team Expert (GRTE)**](https://training.hacktricks.xyz/courses/grte)
Wsparcie dla HackTricks * Sprawdź [**plany subskrypcyjne**](https://github.com/sponsors/carlospolop)! * **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.** * **Podziel się sztuczkami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na GitHubie.
{% endhint %}
\ Użyj [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks), aby łatwo budować i **automatyzować przepływy pracy** zasilane przez **najbardziej zaawansowane** narzędzia społecznościowe na świecie.\ Uzyskaj dostęp już dziś: {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}