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

5.4 KiB

Izdvajanje privilegija iz kompajlirane aplikacije

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u:

Sažetak stranice 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:

$ 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":

$ 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.

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:

$ 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.

Naučite hakovanje AWS-a od nule do heroja sa htARTE (HackTricks AWS Red Team Expert)!

Drugi načini podrške HackTricks-u: