iOS Extracting Entitlements From Compiled Application

AWS hacklemeyi sıfırdan kahramanla öğrenin htARTE (HackTricks AWS Kırmızı Takım Uzmanı)!

HackTricks'i desteklemenin diğer yolları:

Sayfanın özeti https://mas.owasp.org/MASTG/tests/ios/MASVS-PLATFORM/MASTG-TEST-0069/#review-entitlements-embedded-in-the-compiled-app-binary

Yetkilendirmeleri ve Mobil İzin Dosyalarını Çıkarma

Bir uygulamanın IPA'sıyla veya jailbreak yapılmış bir cihazdaki yüklenmiş bir uygulamayla uğraşırken, .entitlements dosyalarını veya embedded.mobileprovision dosyasını doğrudan bulmak mümkün olmayabilir. Bununla birlikte, yetkilendirme özellik listeleri, "iOS Temel Güvenlik Testi" bölümünde belirtilen prosedürler izlenerek uygulama ikili dosyasından çıkarılabilir.

Şifrelenmiş ikili dosyalarla bile, bu dosyaların çıkarılması için belirli adımlar uygulanabilir. Bu adımlar başarısız olursa, Clutch (iOS sürümüyle uyumluysa), frida-ios-dump veya benzeri araçlar kullanılarak uygulama şifrelenerek çıkarılabilir.

Uygulama İkili Dosyasından Yetkilendirmeler Plist'inin Çıkarılması

Uygulama ikili dosyası bir bilgisayarda erişilebilir durumdaysa, binwalk kullanılarak tüm XML dosyaları çıkarılabilir. Aşağıdaki komut bunu nasıl yapacağını göstermektedir:

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

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

Alternatif olarak, radare2 kullanılabilir. Sessizce bir komut çalıştırır ve çıkar, uygulama ikili dosyasında "PropertyList" içeren tüm dizeleri arar:

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

Her iki yöntem de, plist dosyalarının çıkarılmasını sağlar. İlk dosyanın (0x0015d2a4) incelenmesi, Telegram'ın orijinal yetkilendirme dosyasının başarılı bir şekilde kurtarıldığını ortaya koyar.

SSH aracılığıyla jailbreak yapılmış cihazlarda erişilen uygulama ikili dosyaları için grep komutu, tüm dosyaları ASCII metin olarak işlemek için -a, --text bayrağıyla kullanılabilir:

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

-A num, --after-context=num bayrağını ayarlamak, daha fazla veya daha az satırın görüntülenmesine olanak tanır. Bu yöntem, şifrelenmiş uygulama ikili dosyaları için bile uygulanabilir ve birden fazla App Store uygulaması üzerinde doğrulanmıştır. Daha önce bahsedilen araçlar, benzer amaçlar için jailbroken iOS cihazlarda da kullanılabilir.

Not: Bu görev için strings komutunun doğrudan kullanımı, ilgili bilgileri bulma konusundaki sınırlamaları nedeniyle önerilmez. Bunun yerine, daha etkili sonuçlar için ikili dosya üzerinde -a bayrağıyla grep kullanmak veya radare2 (izz)/rabin2 (-zz) kullanmak tavsiye edilir.

AWS hackleme konusunda sıfırdan kahramana htARTE (HackTricks AWS Red Team Expert) ile öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated