iOS Pentesting without Jailbreak
Reading time: 5 minutes
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.
Wazo Kuu
Programu zilizosainiwa na entitlement get_task_allow
zinawaruhusu programu za upande wa tatu kuendesha kazi inayoitwa task_for_pid()
na kitambulisho cha mchakato wa programu ya awali kama hoja ili kupata bandari ya kazi juu yake (kuwa na uwezo wa kuidhibiti na kufikia kumbukumbu yake).
Hata hivyo, si rahisi kama tu kuvuta IPA, kuisaini tena na entitlement, na kuirudisha kwenye kifaa chako. Hii ni kwa sababu ya ulinzi wa FairPlay. Wakati saini ya programu inabadilika, funguo za DRM (Usimamizi wa Haki za Kidijitali) zinabatilishwa na programu haitafanya kazi.
Kwa kifaa cha zamani kilichovunjwa, inawezekana kufunga IPA, kuifungua kwa kutumia chombo unachokipenda (kama Iridium au frida-ios-dump), na kuirudisha kutoka kwenye kifaa. Ingawa, ikiwa inawezekana, inapendekezwa kuomba tu kwa mteja kwa IPA iliyofunguliwa.
Pata IPA iliyofunguliwa
Pata kutoka Apple
- Funga programu ya kupima kwenye iPhone
- Funga na uzindue Apple Configurator ndani ya macos yako
- Fungua
Terminal
kwenye Mac yako, na cd hadi/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps
. IPA itaonekana katika folda hii baadaye. - Unapaswa kuona kifaa chako cha iOS. Bonyeza mara mbili juu yake, kisha bonyeza Ongeza + → Programu kutoka kwenye menyu ya juu.
- Baada ya kubonyeza Ongeza, Configurator itashusha IPA kutoka Apple, na kujaribu kuisukuma kwenye kifaa chako. Ikiwa ulifuata mapendekezo yangu awali na kufunga IPA tayari, ujumbe wa kukuuliza ufungue tena programu utaonekana.
- IPA inapaswa kushushwa ndani ya
/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps
ambapo unaweza kuichukua
Angalia https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed kwa maelezo zaidi kuhusu mchakato huu.
Kufungua programu
Ili kufungua IPA tunakwenda kuifunga. Hata hivyo, ikiwa una iPhone ya zamani iliyovunjwa, huenda toleo lake halitaungwa mkono na programu kwani kawaida programu zinasaidia tu matoleo ya hivi karibuni.
Hivyo, ili kuifunga, fungua tu IPA:
unzip redacted.ipa -d unzipped
Angalia Info.plist
kwa toleo la chini linaloungwa mkono na ikiwa kifaa chako ni cha zamani zaidi ya hicho, badilisha thamani ili iweze kuungwa mkono.
Zipisha tena IPA:
cd unzipped
zip -r ../no-min-version.ipa *
Kisha, sakinisha IPA kwa mfano na:
ideviceinstaller -i no-min-version.ipa -w
Kumbuka kwamba unaweza kuhitaji AppSync Unified tweak kutoka Cydia ili kuzuia makosa yoyote ya invalid signature
.
Mara tu inapowekwa, unaweza kutumia Iridium tweak kutoka Cydia ili kupata IPA iliyotafsiriwa.
### Patch entitlements & re-sign
Ili kusaini upya programu na get-task-allow
entitlement kuna zana kadhaa zinazopatikana kama app-signer
, codesign
, na iResign
. app-signer
ina kiolesura rafiki cha mtumiaji ambacho kinaruhusu kusaini kwa urahisi faili ya IPA kwa kuashiria IPA ya kusaini upya, kuweka get-taks-allow
na cheti na profaili ya usambazaji ya kutumia.
Kuhusu vyeti na profaili za kusaini, Apple inatoa profaili za kusaini za watengenezaji bure kwa akaunti zote kupitia Xcode. Unda tu programu na uipange. Kisha, panga iPhone kuamini programu za watengenezaji kwa kuenda kwenye Settings
→ Privacy & Security
, na bonyeza kwenye Developer Mode
.
Kwa IPA iliyosainiwa upya, ni wakati wa kuisakinisha kwenye kifaa ili kuifanya pentest:
ideviceinstaller -i resigned.ipa -w
Hook
Unaweza kwa urahisi kuunganisha programu yako kwa kutumia zana za kawaida kama frida na objection:
objection -g [your app bundle ID] explore
Marejeo
tip
Jifunze na fanya mazoezi ya AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Jifunze na fanya mazoezi ya GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Jifunze na fanya mazoezi ya Azure Hacking:
HackTricks Training Azure Red Team Expert (AzRTE)
Support HackTricks
- Angalia mpango wa usajili!
- Jiunge na 💬 kikundi cha Discord au kikundi cha telegram au tufuatilie kwenye Twitter 🐦 @hacktricks_live.
- Shiriki mbinu za hacking kwa kuwasilisha PRs kwa HackTricks na HackTricks Cloud repos za github.