mirror of
https://github.com/HackTricks-wiki/hacktricks.git
synced 2025-10-10 18:36:50 +00:00
Translated ['src/mobile-pentesting/ios-pentesting/ios-pentesting-without
This commit is contained in:
parent
95eec834c0
commit
0f81207814
@ -2,15 +2,13 @@
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
||||
|
||||
## 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.
|
||||
|
||||
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
|
||||
|
||||
@ -19,16 +17,15 @@ Met 'n ou jailbreak toestel, is dit moontlik om die IPA te installeer, **dit te
|
||||
1. Installeer die app om te pentest in die iPhone
|
||||
2. Installeer en begin [Apple Configurator](https://apps.apple.com/au/app/apple-configurator/id1037126344?mt=12) binne jou macos
|
||||
3. 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.
|
||||
4. Jy behoort jou iOS-toestel te sien. Dubbelklik daarop, en klik dan op Voeg by + → Apps vanaf die boonste menu bar.
|
||||
4. Jy behoort jou iOS-toestel te sien. Dubbelklik daarop, en klik dan op Voeg by + → Apps vanaf die boonste menu.
|
||||
5. 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.
|
||||
6. 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](https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed) vir meer gedetailleerde inligting oor hierdie proses.
|
||||
|
||||
Kyk na [https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed](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.
|
||||
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:
|
||||
```bash
|
||||
@ -50,27 +47,72 @@ Let daarop dat jy dalk **AppSync Unified tweak** van Cydia nodig het om enige `i
|
||||
Sodra dit geïnstalleer is, kan jy **Iridium tweak** van Cydia gebruik om die gedekripteerde IPA te verkry.
|
||||
|
||||
|
||||
### Patch regte & herteken
|
||||
### Patch entitlements & re-sign
|
||||
|
||||
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`.
|
||||
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 gee en die sertifikaat en voorsieningsprofiel wat gebruik moet word.
|
||||
|
||||
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:
|
||||
```bash
|
||||
ideviceinstaller -i resigned.ipa -w
|
||||
```
|
||||
### Hook
|
||||
---
|
||||
|
||||
Jy kan jou app maklik koppel met algemene gereedskap soos frida en objection:
|
||||
### 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 in staat wees om Frida/LLDB aan te sluit tensy hierdie vlag aan is nie.
|
||||
|
||||
1. Installeer of druk **enige** ontwikkelaars-ondertekende IPA na die foon.
|
||||
2. Navigeer na **Instellings → Privaatheid & Sekuriteit → Ontwikkelaarsmodus** en skakel dit aan.
|
||||
3. 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](https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device) 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:
|
||||
```bash
|
||||
objection -g [your app bundle ID] explore
|
||||
# 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
|
||||
```
|
||||
Onlangse 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)
|
||||
|
||||
[MobSF](https://mobsf.github.io/Mobile-Security-Framework-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【turn6view0†L2-L3】. Die vinnigste manier is om MobSF in Docker te loop en dan jou iPhone via USB aan te sluit:
|
||||
```bash
|
||||
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 afgedwing op A12+ toestelle. 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](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/>
|
||||
|
||||
{{#include ../../banners/hacktricks-training.md}}
|
||||
|
Loading…
x
Reference in New Issue
Block a user