hacktricks/mobile-pentesting/ios-pentesting/extracting-entitlements-from-compiled-application.md
2024-02-10 13:11:20 +00:00

66 lines
5.4 KiB
Markdown

# Izdvajanje privilegija iz kompajlirane aplikacije
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu na HackTricks-u** ili **preuzmete HackTricks u PDF formatu** proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>
Sažetak stranice [https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary](https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary)
### **Izdvajanje privilegija i mobilnih provizionih fajlova**
Kada se bavite IPA aplikacijom ili instaliranom aplikacijom na jailbroken uređaju, možda neće biti moguće pronaći `.entitlements` fajlove ili `embedded.mobileprovision` fajl direktno. Međutim, privilegije mogu biti izdvojene iz binarne aplikacije, prateći postupke opisane u poglavlju "iOS Basic Security Testing", posebno u odeljku "Acquiring the App Binary".
Čak i sa enkriptovanim binarnim fajlovima, određeni koraci mogu biti primenjeni za izdvajanje ovih fajlova. Ukoliko ovi koraci ne uspeju, može biti potrebno koristiti alate kao što su Clutch (ako je kompatibilan sa verzijom iOS-a), frida-ios-dump ili slični alati za dekripciju i izdvajanje aplikacije.
#### **Izdvajanje Entitlements Plist fajla iz binarne aplikacije**
Sa binarnom aplikacijom dostupnom na računaru, **binwalk** se može koristiti za izdvajanje svih XML fajlova. Sledeća komanda demonstrira kako to uraditi:
```bash
$ binwalk -e -y=xml ./Telegram\ X
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------
1430180 0x15D2A4 XML document, version: "1.0"
1458814 0x16427E XML document, version: "1.0"
```
Alternativno, **radare2** se može koristiti za tiho pokretanje komande i izlazak, pretražujući sve stringove u binarnom fajlu aplikacije koji sadrže "PropertyList":
```bash
$ r2 -qc 'izz~PropertyList' ./Telegram\ X
0x0015d2a4 ascii <?xml version="1.0" encoding="UTF-8" standalone="yes"?>...
0x0016427d ascii H<?xml version="1.0" encoding="UTF-8"?>...
```
Oba metoda, binwalk i radare2, omogućavaju ekstrakciju `plist` datoteka, a pregled prvog (0x0015d2a4) otkriva uspešno vraćanje [originalne datoteke privilegija iz Telegrama](https://github.com/peter-iakovlev/Telegram-iOS/blob/77ee5c4dabdd6eb5f1e2ff76219edf7e18b45c00/Telegram-iOS/Telegram-iOS-AppStoreLLC.entitlements).
Za binarne aplikacije pristupljene na jailbroken uređajima (npr. putem SSH-a), komanda **grep** sa opcijom `-a, --text` može se koristiti za tretiranje svih datoteka kao ASCII teksta:
```bash
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
```
Prilagođavanje zastavice `-A num, --after-context=num` omogućava prikazivanje više ili manje linija. Ova metoda je primenjiva čak i na šifrovane binarne aplikacije i proverena je na više aplikacija iz App Store-a. Prethodno pomenuti alati takođe se mogu koristiti na jailbroken iOS uređajima u slične svrhe.
**Napomena**: Direktno korišćenje komande `strings` nije preporučljivo za ovaj zadatak zbog ograničenja u pronalaženju relevantnih informacija. Umesto toga, preporučuje se korišćenje grep sa zastavicom `-a` na binarnom fajlu ili korišćenje radare2 (`izz`)/rabin2 (`-zz`) za efikasnije rezultate.
<details>
<summary><strong>Naučite hakovanje AWS-a od nule do heroja sa</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
Drugi načini podrške HackTricks-u:
* Ako želite da vidite **vašu kompaniju reklamiranu u HackTricks-u** ili **preuzmete HackTricks u PDF formatu**, proverite [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)!
* Nabavite [**zvanični PEASS & HackTricks swag**](https://peass.creator-spring.com)
* Otkrijte [**The PEASS Family**](https://opensea.io/collection/the-peass-family), našu kolekciju ekskluzivnih [**NFT-ova**](https://opensea.io/collection/the-peass-family)
* **Pridružite se** 💬 [**Discord grupi**](https://discord.gg/hRep4RUj7f) ili [**telegram grupi**](https://t.me/peass) ili nas **pratite** na **Twitter-u** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
* **Podelite svoje hakovanje trikove slanjem PR-ova na** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github repozitorijume.
</details>