iOS Pentesting without Jailbreak
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.
Hoofidee
Toepassings wat onderteken is met die entitlement get_task_allow
laat derdeparty-toepassings toe om 'n funksie genaamd task_for_pid()
met die proses-ID van die aanvanklike toepassing as argument te loop om die taakpoort daaroor te verkry (in staat wees om dit te beheer en toegang tot sy geheue te verkry).
Dit is egter nie so eenvoudig soos om net die IPA te trek, dit weer te onderteken met die entitlement, en dit terug na jou toestel te flits nie. Dit is weens FairPlay-beskerming. Wanneer die handtekening van die app verander, word die DRM (Digital Rights Management) sleutel ongeldig gemaak en die app sal nie werk nie.
Met 'n ou jailbreak toestel is dit moontlik om die IPA te installeer, dit te dekripteer met jou gunsteling hulpmiddel (soos Iridium of frida-ios-dump), en dit terug van die toestel af te trek. Alhoewel, indien moontlik, word dit aanbeveel om net die kliënt te vra vir die gedekripteerde IPA.
Verkry gedekripteerde IPA
Kry dit van Apple
- Installeer die app om te pentest in die iPhone
- Installeer en begin Apple Configurator binne jou macos
- Open
Terminal
op jou Mac, en cd na/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps
. Die IPA sal later in hierdie gids verskyn. - Jy behoort jou iOS-toestel te sien. Dubbelklik daarop, en klik dan op Voeg by + → Apps vanaf die boonste menubalk.
- Na jy op Voeg by geklik het, sal Configurator die IPA van Apple aflaai, en probeer om dit na jou toestel te druk. As jy my aanbeveling vroeër gevolg het en die IPA reeds geïnstalleer het, sal 'n prompt wat jou vra om die app weer te installeer verskyn.
- Die IPA behoort afgelaai te wees binne
/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps
waar jy dit kan gryp.
Kyk na https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed vir meer gedetailleerde inligting oor hierdie proses.
Dekripteer die app
Om die IPA te dekripteer gaan ons dit installeer. As jy egter 'n ou jailbreak iPhone het, is dit moontlik dat die weergawe nie deur die toepassing ondersteun sal word nie, aangesien toepassings gewoonlik net die nuutste weergawes ondersteun.
So, om dit te installeer, ontsyfer net die IPA:
unzip redacted.ipa -d unzipped
Kontroleer die Info.plist
vir die minimum ondersteunde weergawe en as jou toestel ouer is as dit, verander die waarde sodat dit ondersteun word.
Zip die IPA terug:
cd unzipped
zip -r ../no-min-version.ipa *
Dan, installeer die IPA byvoorbeeld met:
ideviceinstaller -i no-min-version.ipa -w
Let wel dat jy dalk die AppSync Unified tweak van Cydia nodig het om enige invalid signature
foute te voorkom.
Sodra dit geïnstalleer is, kan jy die Iridium tweak van Cydia gebruik om die gedekripteerde IPA te verkry.
Patch entitlements & re-sign
Om die toepassing met die get-task-allow
entitlement te herteken, is daar verskeie gereedskap beskikbaar soos app-signer
, codesign
, en iResign
. app-signer
het 'n baie gebruikersvriendelike koppelvlak wat dit baie maklik maak om 'n IPA-lêer te herteken deur die IPA aan te dui wat herteken moet word, om dit get-task-allow
te plaas en die sertifikaat en voorsieningsprofiel te gebruik.
Wat die sertifikaat en ondertekeningsprofiele betref, bied Apple gratis ontwikkelaar ondertekeningsprofiele vir alle rekeninge deur Xcode. Skep eenvoudig 'n app en konfigureer een. Konfigureer dan die iPhone om die ontwikkelaar apps te vertrou deur na Settings
→ Privacy & Security
te navigeer, en klik op Developer Mode
.
Met die herteken IPA is dit tyd om dit op die toestel te installeer om dit te pentest:
ideviceinstaller -i resigned.ipa -w
Aktiveer Ontwikkelaarsmodus (iOS 16+)
Sedert iOS 16 het Apple Ontwikkelaarsmodus bekendgestel: enige binêre wat get_task_allow
dra of met 'n ontwikkelingssertifikaat onderteken is, sal weier om te begin totdat Ontwikkelaarsmodus op die toestel geaktiveer is. Jy sal ook nie Frida/LLDB kan aanheg tensy hierdie vlag aan is nie.
- Installeer of druk enige ontwikkelaars-ondertekende IPA na die foon.
- Navigeer na Instellings → Privaatheid & Sekuriteit → Ontwikkelaarsmodus en skakel dit aan.
- Die toestel sal herbegin; na die invoer van die wagwoord sal jy gevra word om Aan te Skakel Ontwikkelaarsmodus.
Ontwikkelaarsmodus bly aktief totdat jy dit deaktiveer of die foon skoonmaak, so hierdie stap hoef slegs een keer per toestel uitgevoer te word. Apple dokumentasie verduidelik die sekuriteitsimplikasies.
Moderne sideloading opsies
Daar is nou verskeie volwasse maniere om IPAs te sideload en weer te onderteken sonder 'n jailbreak:
Gereedskap | Vereistes | Sterkte | Beperkings |
---|---|---|---|
AltStore 2 / SideStore | macOS/Windows/Linux metgesel wat die IPA elke 7 dae met 'n gratis ontwikkelingsprofiel onderteken | Outomatiese herlaai oor Wi-Fi, werk tot iOS 17 | Vereis 'n rekenaar op dieselfde netwerk, 3-app beperking opgelê deur Apple |
TrollStore 1/2 | Toestel op iOS 14 – 15.4.1 kwesbaar vir die CoreTrust fout | Permanente ondertekening (geen 7-dae beperking); geen rekenaar benodig sodra dit geïnstalleer is | Nie ondersteun op iOS 15.5+ (fout reggestel) |
Vir roetine pentests op huidige iOS weergawes is Alt/Side-Store gewoonlik die mees praktiese keuse.
Hooking / dinamiese instrumentasie
Jy kan jou app presies soos op 'n jailbreak toestel hook sodra dit met get_task_allow
en Ontwikkelaarsmodus aan is:
# Spawn & attach with objection
objection -g "com.example.target" explore
# Or plain Frida
frida -U -f com.example.target -l my_script.js --no-pause
Onlangs Frida vrylatinge (>=16) hanteer outomaties pointer-authentisering en ander iOS 17 versagtings, so die meeste bestaande skripte werk reg uit die boks.
Geoutomatiseerde dinamiese analise met MobSF (geen jailbreak nie)
MobSF kan 'n dev-onderteken IPA op 'n werklike toestel instrumenteer met dieselfde tegniek (get_task_allow
) en bied 'n web UI met lêerstelselblaaier, verkeersvang en Frida-konsol【】. Die vinnigste manier is om MobSF in Docker te laat loop en dan jou iPhone via USB aan te sluit:
docker pull opensecurity/mobile-security-framework-mobsf:latest
docker run -p 8000:8000 --privileged \
-v /var/run/usbmuxd:/var/run/usbmuxd \
opensecurity/mobile-security-framework-mobsf:latest
# Browse to http://127.0.0.1:8000 and upload your resigned IPA
MobSF sal outomaties die binêre ontplooi, 'n Frida-bediener binne die app sandkas aktiveer en 'n interaktiewe verslag genereer.
iOS 17 & Lockdown Mode voorbehoude
- Lockdown Mode (Instellings → Privaatheid & Sekuriteit) blokkeer die dinamiese skakelaar om ongetekende of eksterne getekende dinamiese biblioteke te laai. Wanneer jy toestelle toets wat hierdie modus mag hê, maak seker dit is deaktiveer of jou Frida/objection sessies sal onmiddellik beëindig word.
- Pointer Authentication (PAC) word stelselwyd op A12+ toestelle afgedwing. Frida ≥16 hanteer PAC stripping deursigtig — hou net beide frida-server en die Python/CLI gereedskapketting op datum wanneer 'n nuwe groot iOS weergawe vrygestel word.
Verwysings
- https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed
- Apple ontwikkelaar dokumentasie – Ontsluiting van Ontwikkelaar Modus op 'n toestel: https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device
- Mobile Security Framework (MobSF): https://mobsf.github.io/Mobile-Security-Framework-MobSF/
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.