iOS Extracting Entitlements From Compiled Application

Leer AWS-hacking vanaf nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Opsomming van die bladsy https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary

Uittreksel van Toekennings en Mobiele Voorsieningslêers

Wanneer jy te doen het met 'n app se IPA of 'n geïnstalleerde app op 'n jailbroken-toestel, mag dit nie moontlik wees om .entitlements-lêers of die embedded.mobileprovision-lêer direk te vind nie. Tog kan toekennings-eienskappe-lyste steeds uit die app-binêre lêer gehaal word deur die prosedures te volg wat in die hoofstuk "iOS Basiese Sekuriteitstoetsing" uiteengesit word, veral die afdeling "Die App-binêre bekom".

Selfs met versleutelde binêre lêers kan sekere stappe gebruik word om hierdie lêers uit te trek. As hierdie stappe misluk, mag gereedskap soos Clutch (as dit versoenbaar is met die iOS-weergawe), frida-ios-dump, of soortgelyke hulpmiddels benodig word om die app te ontsluit en uit te trek.

Uittreksel van die Toekennings Plist uit die App-binêre

Met die app-binêre lêer toeganklik op 'n rekenaar, kan binwalk gebruik word om alle XML-lêers uit te trek. Die onderstaande opdrag demonstreer hoe om dit te doen:

$ binwalk -e -y=xml ./Telegram\ X

DECIMAL       HEXADECIMAL     DESCRIPTION
--------------------------------------------------------------------------------
1430180       0x15D2A4        XML document, version: "1.0"
1458814       0x16427E        XML document, version: "1.0"

Alternatiewelik kan radare2 gebruik word om stilweg 'n opdrag uit te voer en af te sluit, deur te soek na alle strings in die app binêre lêer wat "PropertyList" bevat:

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

Beide metodes, binwalk en radare2, maak die ekstraksie van plist lêers moontlik, met 'n inspeksie van die eerste een (0x0015d2a4) wat 'n suksesvolle herwinning van die oorspronklike entitlements-lêer van Telegram onthul.

Vir app-binêre lêers wat op jailbroken-toestelle toegang verkry (bv. via SSH), kan die grep-opdrag met die -a, --text vlag gebruik word om alle lêers as ASCII-teks te hanteer:

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

Die aanpassing van die -A num, --after-context=num vlag maak dit moontlik om meer of minder lyne te vertoon. Hierdie metode is selfs bruikbaar vir versleutelde app-binêre lêers en is geverifieer teen verskeie App Store-apps. Gereedskap wat vroeër genoem is, kan ook gebruik word op jailbroken iOS-toestelle vir soortgelyke doeleindes.

Nota: Direkte gebruik van die strings-opdrag word nie aanbeveel vir hierdie taak nie as gevolg van sy beperkings om relevante inligting te vind. Dit is raadsaam om in plaas daarvan grep met die -a-vlag op die binêre lêer te gebruik of radare2 (izz)/rabin2 (-zz) te gebruik vir meer doeltreffende resultate.

Leer AWS-hacking van nul tot held met htARTE (HackTricks AWS Red Team Expert)!

Ander maniere om HackTricks te ondersteun:

Last updated