iOS App Extensions

AWS hackleme konusunda sıfırdan kahramana dönüşmek için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!

HackTricks'i desteklemenin diğer yolları:

Uygulama uzantıları, uygulamaların diğer uygulamalarla veya sistemle etkileşimde bulunarak özel özellikler veya içerik sağlamasını sağlayarak uygulamaların işlevselliğini artırır. Bu uzantılar şunları içerir:

  • Özel Klavye: Varsayılan iOS klavyesini değiştirerek tüm uygulamalarda benzersiz bir klavye sunar.

  • Paylaş: Sosyal ağlarda veya doğrudan diğer kişilerle paylaşım yapmayı sağlar.

  • Bugün (Araçlar): Bildirim Merkezi'nin Bugün görünümünden hızlı bir şekilde içerik sağlar veya görevleri gerçekleştirir.

Bir kullanıcı, örneğin bir ana uygulamadan metin paylaşırken, uzantı bu girişi kendi bağlamında işler ve görevini yerine getirmek için paylaşılan bilgileri kullanır, Apple'ın belgelerinde ayrıntılı olarak açıklandığı gibi.

Güvenlik Düşünceleri

Ana güvenlik yönleri şunları içerir:

  • Uzantılar ve içerdikleri uygulamalar doğrudan değil, ara işlem iletişimi yoluyla iletişim kurar.

  • Bugün aracı, uygulamasının belirli bir yöntem aracılığıyla açılmasını isteyebilir.

  • Paylaşılan veri erişimi, özel bir konteyner içinde izin verilir, ancak doğrudan erişim kısıtlanır.

  • SağlıkKit gibi belirli API'ler, uygulama uzantılarına kapalıdır ve uzantılar uzun süreli görevler başlatamaz, kamera veya mikrofona erişemez, yalnızca iMessage uzantıları hariç.

Statik Analiz

Uygulama Uzantılarını Tanımlama

Kaynak kodunda uygulama uzantılarını bulmak için Xcode'da NSExtensionPointIdentifier arayın veya uzantıları gösteren .appex dosyalarını uygulama paketi içinde bulmak için grep veya SSH kullanın.

Desteklenen Veri Türleri

Desteklenen veri türlerini belirlemek için bir uzantının Info.plist dosyasında NSExtensionActivationRule kontrol edin. Bu yapılandırma, yalnızca uyumlu veri türlerinin ana uygulamalarda uzantıyı tetiklemesini sağlar.

Veri Paylaşımı

Bir uygulama ile uzantısı arasındaki veri paylaşımı, "App Groups" aracılığıyla kurulan ve NSUserDefaults üzerinden erişilen paylaşılan bir konteyner gerektirir. Bu paylaşılan alan, uzantılar tarafından başlatılan arka plan transferleri için gereklidir.

Uzantıları Sınırlama

Uygulamalar, özellikle özel klavyeler gibi belirli uzantı türlerini sınırlayabilir, böylece hassas veri işleme işlemleri güvenlik protokolleriyle uyumlu olur.

Dinamik Analiz

Dinamik analiz şunları içerir:

  • Paylaşılan Öğeleri İnceleme: Paylaşılan veri türlerini ve kökenlerini görmek için NSExtensionContext - inputItems'a bağlanın.

  • Uzantıları Tanımlama: Verilerinizi işleyen uzantıları görmek için NSXPCConnection gibi dahili mekanizmaları gözlemleyin.

frida-trace gibi araçlar, özellikle ara işlem iletişiminin teknik ayrıntılarına ilgi duyanlar için altta yatan süreçleri anlamada yardımcı olabilir.

Referanslar

AWS hackleme konusunda sıfırdan kahramana dönüşmek için htARTE (HackTricks AWS Kırmızı Takım Uzmanı)'ı öğrenin!

HackTricks'i desteklemenin diğer yolları:

Last updated