iOS Toetsomgewing
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
Apple Ontwikkelaar Program
ân Provisioning identiteit is ân versameling van publieke en private sleutels wat aan ân Apple ontwikkelaar rekening gekoppel is. Om apps te teken moet jy 99$/jaar betaal om te registreer in die Apple Ontwikkelaar Program om jou provisioning identiteit te verkry. Sonder dit sal jy nie in staat wees om toepassings vanaf die bronkode op ân fisiese toestel te loop nie. ân Ander opsie om dit te doen is om ân jailbroken toestel te gebruik.
Begin in Xcode 7.2 het Apple ân opsie verskaf om ân gratis iOS ontwikkeling provisioning profiel te skep wat jou toelaat om jou toepassing op ân werklike iPhone te skryf en te toets. Gaan na Xcode â> Voorkeure â> Rekeninge â> + (Voeg nuwe Appli ID by jou geloofsbriewe) â> Klik op die Apple ID wat geskep is â> Bestuur Sertifikate â> + (Apple Ontwikkeling) â> Klaar
__Dan, om jou toepassing op jou iPhone te laat loop moet jy eers aangee dat die iPhone die rekenaar vertrou. Dan kan jy probeer om die toepassing op die mobiele toestel vanaf Xcode te laat loop, maar ân fout sal verskyn. Gaan dus na Instellings â> Algemeen â> Profiele en Toestuurbestuur â> Kies die onbetroubare profiel en klik âVertrouâ.
Let daarop dat toepassings wat deur dieselfde teken sertifikaat geteken is, hulpbronne op ân veilige manier kan deel, soos sleutelhouer items.
Die provisioning profiele word binne die foon gestoor in /Library/MobileDevice/ProvisioningProfiles
Simulator
Tip
Let daarop dat ân simulator nie dieselfde is as ân emulator. Die simulator simuleer net die gedrag van die toestel en funksies, maar gebruik hulle nie werklik nie.
Simulator
Die eerste ding wat jy moet weet is dat om ân pentest binne ân simulator uit te voer baie meer beperk sal wees as om dit op ân jailbroken toestel te doen.
Al die gereedskap wat benodig word om ân iOS app te bou en te ondersteun, is slegs amptelik ondersteun op Mac OS.
Apple se de facto gereedskap vir die skep/debugging/instrumentering van iOS toepassings is Xcode. Dit kan gebruik word om ander komponente soos simulators en verskillende SDK weergawe wat benodig word om jou app te bou en te toets af te laai.
Dit word sterk aanbeveel om Xcode van die amptelike app winkel af te laai. Ander weergawes mag malware dra.
Die simulator lĂȘers kan gevind word in /Users/<username>/Library/Developer/CoreSimulator/Devices
Om die simulator te open, hardloop Xcode, druk dan in die Xcode tab â> Open Ontwikkelaar gereedskap â> Simulator
__In die volgende beeld kan jy deur op âiPod touch [âŠ]â te klik, ân ander toestel kies om op te toets:
.png)
.png)
Toepassings in die Simulator
Binne /Users/<username>/Library/Developer/CoreSimulator/Devices kan jy al die geĂŻnstalleerde simulators vind. As jy toegang wil hĂȘ tot die lĂȘers van ân toepassing wat binne een van die emulators geskep is, kan dit moeilik wees om te weet in watter een die app geĂŻnstalleer is. ân Vinige manier om die regte UID te vind is om die app in die simulator uit te voer en uit te voer:
xcrun simctl list | grep Booted
iPhone 8 (BF5DA4F8-6BBE-4EA0-BA16-7E3AFD16C06C) (Booted)
Once you know the UID the apps installed within it can be found in /Users/<username>/Library/Developer/CoreSimulator/Devices/{UID}/data/Containers/Data/Application
However, surprisingly you wonât find the application here. You need to access /Users/<username>/Library/Developer/Xcode/DerivedData/{Application}/Build/Products/Debug-iphonesimulator/
And in this folder you can find the package of the application.
Emulator
Corellium is the only publicly available iOS emulator. It is an enterprise SaaS solution with a per user license model and does not offer any trial license.
No Jailbreak needed
Check this blog post about how to pentest an iOS application in a non jailbroken device:
iOS Pentesting withuot Jailbreak
Jailbreaking
Apple vereis streng dat die kode wat op die iPhone loop, onderteken moet wees deur ân sertifikaat wat deur Apple uitgereik is. Jailbreaking is die proses om aktief soos beperkings en ander sekuriteitsbeheermaatreĂ«ls wat deur die OS in plek gestel is, te omseil. Daarom, sodra die toestel gejailbreak is, word die integriteitskontrole wat verantwoordelik is vir die kontrole van geĂŻnstalleerde toepassings, reggestel sodat dit omseil word.
Tip
Anders as Android, kan jy nie na âOntwikkelaarsmodusâ in iOS oorgaan om ongetekende/onbetroubare kode op die toestel te loop nie.
Android Rooting vs. iOS Jailbreaking
Terwyl dit dikwels vergelyk word, is rooting op Android en jailbreaking op iOS fundamenteel verskillende prosesse. Rooting Android-toestelle kan behels die installering van die su binĂȘre of die vervanging van die stelsel met ân ge-rootte pasgemaakte ROM, wat nie noodwendig eksplosiewe benodig nie as die bootloader ontgrendel is. Flashing custom ROMs vervang die toestel se OS na die ontgrendeling van die bootloader, wat soms ân eksplosiewe benodig.
In teenstelling hiermee kan iOS-toestelle nie pasgemaakte ROMs flits nie weens die bootloader se beperking om slegs Apple-ondertekende beelde te begin. Jailbreaking iOS het ten doel om Apple se kodeondertekening beskerming te omseil om ongetekende kode te laat loop, ân proses wat gekompliseerd word deur Apple se deurlopende sekuriteitsverbeterings.
Jailbreaking Challenges
Jailbreaking iOS word al hoe moeiliker namate Apple kwesbaarhede vinnig regstel. Downgrading iOS is slegs vir ân beperkte tyd na ân vrystelling moontlik, wat jailbreaking ân tydsensitive saak maak. Toestelle wat vir sekuriteitstoetsing gebruik word, moet nie opgedateer word nie, tensy her-jailbreaking gewaarborg word.
iOS-opdaterings word beheer deur ân uitdaging-respons meganisme (SHSH blobs), wat installasie slegs toelaat vir Apple-ondertekende antwoorde. Hierdie meganisme, bekend as ân âonderteken vensterâ, beperk die vermoĂ« om OTA firmware-pakkette te stoor en later te gebruik. Die IPSW Downloads website is ân hulpbron om huidige onderteken vensters te kontroleer.
Jailbreak Varieties
- Tethered jailbreaks vereis ân rekenaarverbinding vir elke herbegin.
- Semi-tethered jailbreaks laat boot in nie-gejailbreakte modus toe sonder ân rekenaar.
- Semi-untethered jailbreaks vereis handmatige her-jailbreaking sonder die behoefte aan ân rekenaar.
- Untethered jailbreaks bied ân permanente jailbreak-oplossing sonder die behoefte aan her-toepassing.
Jailbreaking Tools and Resources
Jailbreaking gereedskap verskil volgens iOS weergawe en toestel. Hulpbronne soos Can I Jailbreak?, The iPhone Wiki, en Reddit Jailbreak bied opdaterings inligting. Voorbeelde sluit in:
- Checkra1n vir A7-A11 chip toestelle.
- Palera1n vir Checkm8 toestelle (A8-A11) op iOS 15.0-16.5.
- Unc0ver vir iOS weergawes tot 14.8.
Die aanpassing van jou toestel dra risikoâs, en jailbreaking moet met omsigtigheid benader word.
Jailbreaking Benefits and Risks
Jailbreaking verwyder OS-opgelegde sandboxing, wat toelaat dat toepassings toegang tot die hele lĂȘerstelsel het. Hierdie vryheid stel die installasie van nie-goedgekeurde toepassings en toegang tot meer APIâs in staat. Tog, vir gewone gebruikers, word jailbreaking nie aanbeveel weens potensiĂ«le sekuriteitsrisikoâs en toestel onstabiliteit nie.
After Jailbreaking
Jailbreak Detection
Verskeie toepassings sal probeer om te detecteer of die mobiele toestel gejailbreak is en in daardie geval sal die toepassing nie loop nie
- Na jailbreaking word ân iOS lĂȘers en vouers gewoonlik geĂŻnstalleer, hierdie kan gesoek word om te bepaal of die toestel gejailbreak is.
- In ân gejailbreakte toestel kry toepassings lees/skryf toegang tot nuwe lĂȘers buite die sandbox
- Sommige API oproepen sal anders optree
- Die teenwoordigheid van die OpenSSH diens
- Die oproep van
/bin/shsal 1 teruggee in plaas van 0
Meer inligting oor hoe om jailbreaking te detecteer hier.
You can try to avoid this detections using objectionâs ios jailbreak disable
Jailbreak Detection Bypass
- You can try to avoid this detections using objectionâs
ios jailbreak disable - You could also install the tool Liberty Lite (https://ryleyangus.com/repo/). Once the repo is added, the app should appear in the âSearchâ tab
References
Tip
Leer en oefen AWS Hacking:
HackTricks Training AWS Red Team Expert (ARTE)
Leer en oefen GCP Hacking:HackTricks Training GCP Red Team Expert (GRTE)
Leer en oefen Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Ondersteun HackTricks
- Kyk na die subskripsie planne!
- Sluit aan by die đŹ Discord groep of die telegram groep of volg ons op Twitter đŠ @hacktricks_live.
- Deel hacking truuks deur PRs in te dien na die HackTricks en HackTricks Cloud github repos.
HackTricks

