hacktricks/src/mobile-pentesting/ios-pentesting/extracting-entitlements-from-compiled-application.md

3.3 KiB

Uittreksel van Regte uit Gecompileerde Toepassing

{{#include ../../banners/hacktricks-training.md}}

Samevatting 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 Regte en Mobiele Provision Lêers

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. Tog kan regte eiendomslijste steeds uit die app-binary onttrek word, volgens die prosedures uiteengesit in die "iOS Basiese Sekuriteitstoetsing" hoofstuk, veral die "Verkryging van die 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 versoenbaar met die iOS weergawe), frida-ios-dump, of soortgelyke nutsprogramme benodig word om die app te ontsleutel en onttrek.

Uittreksel van die Regte Plist uit die 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 stringe 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"?>...

Beide metodes, 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 toeganklik is (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/...

Die aanpassing van die -A num, --after-context=num vlag stel in staat om meer of minder lyne te vertoon. 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 jailbroken 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.

{{#include ../../banners/hacktricks-training.md}}