iOS Extracting Entitlements From Compiled Application
Summary of the page https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary
Extracting Entitlements and Mobile Provision Files
Kada se radi sa IPA aplikacijom ili instaliranom aplikacijom na jailbroken uređaju, možda neće biti moguće direktno pronaći .entitlements
datoteke ili embedded.mobileprovision
datoteku. Međutim, liste svojstava entitlements i dalje se mogu izvući iz binarne datoteke aplikacije, prateći procedure opisane u poglavlju "iOS Basic Security Testing", posebno u odeljku "Acquiring the App Binary".
Čak i sa enkriptovanim binarnim datotekama, određeni koraci se mogu primeniti za ekstrakciju ovih datoteka. Ako ovi koraci ne uspeju, alati kao što su Clutch (ako je kompatibilan sa verzijom iOS-a), frida-ios-dump ili slične uslužne programe mogu biti potrebni za dekripciju i ekstrakciju aplikacije.
Extracting the Entitlements Plist from the App Binary
Sa binarnom datotekom aplikacije dostupnom na računaru, binwalk se može koristiti za ekstrakciju svih XML datoteka. Komanda ispod prikazuje kako to učiniti:
Alternativno, radare2 može biti korišćen za tiho pokretanje komande i izlazak, pretražujući sve stringove u aplikacionom binarnom fajlu koji sadrže "PropertyList":
Obe metode, binwalk i radare2, omogućavaju ekstrakciju plist
fajlova, pri čemu inspekcija prvog (0x0015d2a4) otkriva uspešno vraćanje originalnog fajla sa ovlašćenjima iz Telegrama.
Za aplikacione binarne fajlove pristupene na jailbreakovanim uređajima (npr. putem SSH), grep komanda sa -a, --text
flagom može se koristiti da tretira sve fajlove kao ASCII tekst:
Podešavanje -A num, --after-context=num
opcije omogućava prikaz više ili manje linija. Ova metoda je izvodljiva čak i za enkriptovane aplikacione binarne datoteke i verifikovana je na više aplikacija iz App Store-a. Alati pomenuti ranije mogu se takođe koristiti na jailbreakovanim iOS uređajima u slične svrhe.
Napomena: Direktna upotreba strings
komande se ne preporučuje za ovaj zadatak zbog njenih ograničenja u pronalaženju relevantnih informacija. Umesto toga, preporučuje se korišćenje grep-a sa -a
opcijom na binarnoj datoteci ili korišćenje radare2 (izz
)/rabin2 (-zz
) za efikasnije rezultate.
Last updated