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

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

  1. Funga programu ya kupima kwenye iPhone
  2. Funga na uzindue Apple Configurator ndani ya macos yako
  3. 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.
  4. Unapaswa kuona kifaa chako cha iOS. Bonyeza mara mbili juu yake, kisha bonyeza Ongeza + → Programu kutoka kwenye menyu ya juu.
  5. 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.
  6. 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:

bash
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:

bash
cd unzipped
zip -r ../no-min-version.ipa *

Kisha, sakinisha IPA kwa mfano na:

bash
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 SettingsPrivacy & Security, na bonyeza kwenye Developer Mode.

Kwa IPA iliyosainiwa upya, ni wakati wa kuisakinisha kwenye kifaa ili kuifanya pentest:

bash
ideviceinstaller -i resigned.ipa -w

Hook

Unaweza kwa urahisi kuunganisha programu yako kwa kutumia zana za kawaida kama frida na objection:

bash
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