4.3 KiB
Extracting Entitlements from Compiled Application
{% hint style="success" %}
Learn & practice AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Learn & practice GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE)
Support HackTricks
- Check the subscription plans!
- Join the 💬 Discord group or the telegram group or follow us on Twitter 🐦 @hacktricks_live.
- Share hacking tricks by submitting PRs to the HackTricks and HackTricks Cloud github repos.
Samevatting van die bladsy 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
Wanneer jy met 'n app se IPA of 'n geïnstalleerde app op 'n jailbroken toestel werk, mag dit nie moontlik wees om .entitlements
-lêers of die embedded.mobileprovision
-lêer direk te vind nie. Dit is egter steeds moontlik om die entitlements eiendomslijste uit die app-binary te onttrek, volgens die prosedures uiteengesit in die "iOS Basic Security Testing" hoofstuk, veral die "Acquiring the App Binary" afdeling.
Selfs met versleutelde binaries kan sekere stappe gebruik word om hierdie lêers te onttrek. Indien hierdie stappe misluk, kan gereedskap soos Clutch (indien dit met die iOS weergawe versoenbaar is), frida-ios-dump, of soortgelyke nutsmiddels benodig word om die app te ontsleutel en onttrek.
Extracting the Entitlements Plist from the App Binary
Met die app-binary toeganklik op 'n rekenaar, kan binwalk gebruik word om alle XML-lêers te onttrek. 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 te verlaat, terwyl daar gesoek word na alle strings in die app-binary 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"?>...
Both methods, binwalk en radare2, stel die ekstraksie van plist
-lêers in staat, met 'n inspeksie van die eerste een (0x0015d2a4) wat 'n suksesvolle herstel van die oorspronklike regte lêer van Telegram onthul.
Vir app-binaries wat op jailbreak-toestelle verkry word (bv. via SSH), kan die grep opdrag met die -a, --text
vlag gebruik word om alle lêers as ASCII-teks te behandel:
$ grep -a -A 5 'PropertyList' /var/containers/Bundle/Application/...
Adjustering van die -A num, --after-context=num
vlag laat toe dat meer of minder lyne vertoon word. Hierdie metode is lewensvatbaar selfs vir versleutelde app-binaries en is teen verskeie App Store-apps geverifieer. Gereedskap wat vroeër genoem is, kan ook op jailbreak iOS-toestelle vir soortgelyke doeleindes gebruik word.
Nota: Direkte gebruik van die strings
opdrag word nie aanbeveel vir hierdie taak nie weens sy beperkings in die vind van relevante inligting. In plaas daarvan, is dit raadsaam om grep met die -a
vlag op die binêre te gebruik of radare2 (izz
)/rabin2 (-zz
) te benut vir meer effektiewe resultate.