iOS Pentesting without Jailbreak
Reading time: 5 minutes
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.
Hoof idee
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 menu bar.
- Nadat 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 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 sy 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 daarop dat jy dalk AppSync Unified tweak van Cydia nodig het om enige invalid signature
foute te voorkom.
Sodra dit geïnstalleer is, kan jy Iridium tweak van Cydia gebruik om die gedekripteerde IPA te verkry.
Patch regte & herteken
Om die toepassing met die get-task-allow
regte 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 gee en die sertifikaat en voorsieningsprofiel te gebruik.
Wat die sertifikaat en ondertekeningsprofiele betref, bied Apple gratis ontwikkelaar ondertekeningsprofiele vir alle rekeninge deur Xcode aan. 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
Hook
Jy kan jou app maklik koppel met algemene gereedskap soos frida en objection:
objection -g [your app bundle ID] explore
Verwysings
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.