Izvlačenje Ovlašćenja iz Kompajlirane Aplikacije

Reading time: 3 minutes

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks

Sažetak stranice https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary

Izvlačenje Ovlašćenja i Mobilnih Provision Fajlova

Kada se radi sa IPA aplikacijom ili instaliranom aplikacijom na jailbreak-ovanom uređaju, možda neće biti moguće direktno pronaći .entitlements fajlove ili embedded.mobileprovision fajl. Ipak, liste svojstava ovlašćenja se i dalje mogu izvući iz binarnog fajla aplikacije, prateći procedure opisane u poglavlju "Osnovno Bezbednosno Testiranje iOS-a", posebno u sekciji "Sticanje Binarne Aplikacije".

Čak i sa enkriptovanim binarnim fajlovima, određeni koraci se mogu primeniti za izvlačenje ovih fajlova. Ako ovi koraci ne uspeju, alati kao što su Clutch (ako je kompatibilan sa verzijom iOS-a), frida-ios-dump ili slične utilite mogu biti potrebni za dekripciju i ekstrakciju aplikacije.

Izvlačenje Plist-a Ovlašćenja iz Binarne Aplikacije

Sa binarnim fajlom aplikacije dostupnim na računaru, binwalk se može koristiti za izvlačenje svih XML fajlova. Komanda ispod prikazuje kako to učiniti:

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 izvršavanje 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"?>...

Obe metode, binwalk i radare2, omogućavaju ekstrakciju plist fajlova, pri čemu inspekcija prvog (0x0015d2a4) otkriva uspešno vraćanje originalnog fajla sa entitlements iz Telegrama.

Za binarne aplikacije pristupene na jailbroken uređajima (npr. putem SSH), grep komanda sa -a, --text flagom može se koristiti da tretira sve fajlove kao ASCII tekst:

bash
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...

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 potvrđena 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.

tip

Učite i vežbajte AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Učite i vežbajte GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)

Podržite HackTricks