<summary><strong>Nauka hakowania AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, 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** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) na GitHubie.
**Tożsamość weryfikacyjna** to zbiór kluczy publicznych i prywatnych powiązanych z kontem dewelopera Apple. Aby **podpisywać aplikacje**, musisz zapłacić **99 dolarów/rok** za rejestrację w **Programie Deweloperskim Apple**, aby uzyskać swoją tożsamość weryfikacyjną. Bez tego nie będziesz mógł uruchamiać aplikacji ze źródła na fizycznym urządzeniu. Inną opcją jest użycie **urządzenia z jailbreakiem**.
Począwszy od Xcode 7.2 Apple udostępnił opcję tworzenia **bezpłatnego profilu weryfikacyjnego dla deweloperów iOS**, który pozwala pisać i testować aplikację na prawdziwym iPhone'ie. Przejdź do _Xcode_ --> _Preferencje_ --> _Konta_ --> _+_ (Dodaj nowe ID aplikacji do swoich danych uwierzytelniających) --> _Kliknij utworzone ID Apple_ --> _Zarządzaj Certyfikatami_ --> _+_ (Rozwój Apple) --> _Gotowe_\
\_\_Następnie, aby uruchomić aplikację na swoim iPhone'ie, musisz najpierw **wskazać iPhone'owi, aby zaufał komputerowi**. Następnie możesz spróbować **uruchomić aplikację na urządzeniu mobilnym z Xcode**, ale pojawi się błąd. Przejdź do _Ustawienia_ --> _Ogólne_ --> _Profile i Zarządzanie Urządzeniami_ --> Wybierz niezaufany profil i kliknij "**Zaufaj**".
Pierwszą rzeczą, którą musisz wiedzieć, jest to, że **przeprowadzenie testu penetracyjnego wewnątrz symulatora będzie znacznie bardziej ograniczone niż w przypadku urządzenia z jailbreakiem**.
Narzędziem Apple do tworzenia/debugowania/instrumentowania aplikacji iOS jest **Xcode**. Można go użyć do pobrania innych komponentów, takich jak **symulatory** i różne **wersje SDK** wymagane do budowy i **testowania** aplikacji.\
Zaleca się **pobranie** Xcode z **oficjalnego sklepu z aplikacjami**. Inne wersje mogą zawierać złośliwe oprogramowanie.
Wewnątrz `/Users/<nazwa_użytkownika>/Library/Developer/CoreSimulator/Devices` możesz znaleźć wszystkie **zainstalowane symulatory**. Jeśli chcesz uzyskać dostęp do plików aplikacji utworzonej w jednym z emulatorów, może być trudno ustalić **w którym zainstalowano aplikację**. Szybkim sposobem **znalezienia poprawnego UID** jest uruchomienie aplikacji w symulatorze i wykonanie:
Gdy już znasz UID, aplikacje zainstalowane w nim można znaleźć w `/Users/<username>/Library/Developer/CoreSimulator/Devices/{UID}/data/Containers/Data/Application`
Jednakże zaskakująco aplikacji nie znajdziesz tutaj. Musisz uzyskać dostęp do `/Users/<username>/Library/Developer/Xcode/DerivedData/{Application}/Build/Products/Debug-iphonesimulator/`
Corellium to jedyny publicznie dostępny emulator iOS. Jest to rozwiązanie typu enterprise SaaS z modelem licencji na użytkownika i nie oferuje żadnej licencji próbnej.
Apple ściśle wymaga, aby kod uruchamiany na iPhone'ie był **podpisany certyfikatem wydanym przez Apple**. **Jailbreaking** to proces aktywnego **omijania takich ograniczeń** i innych kontroli bezpieczeństwa wprowadzonych przez system operacyjny. Dlatego po zjailbreakowaniu urządzenia, **sprawdzanie integralności**, które jest odpowiedzialne za sprawdzanie zainstalowanych aplikacji, jest łatane, więc jest **omijane**.
Mimo częstego porównywania, **rootowanie** na Androidzie i **jailbreaking** na iOS to fundamentalnie różne procesy. Rootowanie urządzeń z Androidem może wymagać **zainstalowania binariów `su`** lub **zastąpienia systemu spersonalizowanym ROM-em z rootem**, co niekoniecznie wymaga wykorzystywania exploitów, jeśli bootloader jest odblokowany. **Instalowanie spersonalizowanych ROM-ów** zastępuje system operacyjny urządzenia po odblokowaniu bootloadera, czasami wymagając exploitu.
W przeciwieństwie do tego, urządzenia z iOS nie mogą instalować spersonalizowanych ROM-ów ze względu na ograniczenie bootloadera do uruchamiania tylko obrazów podpisanych przez Apple. **Jailbreaking iOS** ma na celu ominięcie zabezpieczeń podpisu kodu Apple'a w celu uruchamiania niepodpisanego kodu, proces ten jest utrudniony przez ciągłe ulepszenia zabezpieczeń Apple'a.
Jailbreaking iOS staje się coraz trudniejsze, ponieważ Apple szybko łata podatności. **Zmniejszenie wersji iOS** jest możliwe tylko przez ograniczony czas po wydaniu, co sprawia, że jailbreaking jest kwestią czasową. Urządzenia używane do testów bezpieczeństwa nie powinny być aktualizowane, chyba że ponowne zjailbreakowanie jest gwarantowane.
Aktualizacje iOS są kontrolowane przez **mechanizm wyzwań i odpowiedzi** (bloki SHSH), pozwalający na instalację tylko odpowiedzi podpisanych przez Apple. Ten mechanizm, znany jako "okno podpisu", ogranicza możliwość przechowywania i późniejszego używania pakietów OTA firmware. Strona [IPSW Downloads website](https://ipsw.me) jest źródłem do sprawdzania aktualnych okien podpisów.
Narzędzia do jailbreakingu różnią się w zależności od wersji iOS i urządzenia. Zasoby takie jak [Can I Jailbreak?](https://canijailbreak.com), [The iPhone Wiki](https://www.theiphonewiki.com) i [Reddit Jailbreak](https://www.reddit.com/r/jailbreak/) dostarczają aktualnych informacji. Przykłady to:
Jailbreaking **usuwa narzucone przez system operacyjny izolowanie**, pozwalając aplikacjom na dostęp do całego systemu plików. Ta swoboda umożliwia instalację niezatwierdzonych aplikacji i dostęp do większej liczby interfejsów API. Jednak dla zwykłych użytkowników, jailbreaking **nie jest zalecany** ze względu na potencjalne ryzyka bezpieczeństwa i niestabilność urządzenia.
* Po zjailbreakowaniu urządzenia z iOS **zazwyczaj instalowane są pliki i foldery**, które można przeszukać, aby określić, czy urządzenie jest zjailbreakowane.
* Na zjailbreakowanym urządzeniu aplikacje uzyskują **dostęp do odczytu/zapisu nowych plików** poza piaskownicą.
* Niektóre **wywołania API** będą **zachowywać się inaczej**
**Więcej informacji na temat wykrywania jailbreakingu** [**tutaj**](https://www.trustwave.com/en-us/resources/blogs/spiderlabs-blog/jailbreak-detection-methods/)**.**
* Możesz spróbować uniknąć tych wykryć za pomocą `ios jailbreak disable` z **objection**
* Możesz także zainstalować narzędzie **Liberty Lite** (https://ryleyangus.com/repo/). Po dodaniu repozytorium, aplikacja powinna pojawić się w zakładce „Wyszukaj”
<summary><strong>Dowiedz się, jak hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, 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** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repos.