Herhangi bir Samsung Galaxy cihazında sistem kabuğu erişimi nasıl elde edilir

Hızlı Linkler

  • Önkoşullar
  • Sistem kabuğu erişimi elde etmek için herhangi bir Samsung Galaxy cihazından nasıl yararlanılır
  • Doğrulama
  • Çözüm

Google her ayın ilk Pazartesi günü aşağıdakileri yayınlar: Android Güvenlik Bülteni. Android işletim sisteminin çeşitli bileşenlerindeki azaltılmış tüm güvenlik açıklarını şu şekilde açıklar: Google'ın kendisi veya diğer üçüncü taraflarca gönderilen Linux çekirdeği ve yamalarının yanı sıra tarih. Samsung gibi büyük OEM'lerin Android konusunda kendi görüşleri var, bu nedenle kendi yamalarını ve güncellemelerini güvenlik güncellemelerine de dahil etmeyi tercih ediyorlar.

Bununla birlikte, her boşlukla ilgilenmek oldukça zordur. Çok sayıda saldırı vektörü mevcuttur ve bazen bunlara dayalı olarak kendi istismar zincirinizi oluşturabilirsiniz. önceden bilinen bir güvenlik açığından birini aşmak için yeni bir yönteminiz olduğu için korumalar. Bu tam olarak XDA Kıdemli Üyesinin yaptığı şeydir. K0mraid3 Bunu, en son amiral gemisi olanlar da dahil olmak üzere her Samsung Galaxy cihazında sistem kabuğu erişimine izin veren dört yıllık bir güvenlik açığıyla yaptı. Aynı olmasa da

kök ayrıcalıklarına sahip olmak, bu yeterince yüksek bir yerel ayrıcalık artışıdır.

Güvenlik açığının birincil giriş noktası Samsung Text-To-Speech'te (paket adı: com.samsung. SMT), her Samsung Galaxy cihazında bulunabilen önceden yüklenmiş bir sistem uygulamasıdır. Buradaki fikir, uygulamanın yüklü sürümünü belirli bir güvenlik açığına sahip yapıya düşürmektir (v3.0.02.2 kesin olmak gerekirse) ve ardından onu bir kitaplık yüklemeye zorlayın, bu da sistem ayrıcalığına (UID 1000) sahip bir kabuk açar.

Bu istismar hakkında daha fazla bilgi edinmek istiyorsanız, şuraya göz atmayı unutmayın: XDA Baş Teknik Editörü Adam Conway'in açıklayıcısı. Bu istismarın tüm kapsamını ve nasıl çalıştığını anlamak için K0mraid3 ile konuştu.

  1. Tekrarlamak gerekirse, bu kök (UID 0) erişimi değildir, ancak sistem kabuğu erişimi, başka şekilde kısıtlanmış bir grup ikili dosyayı çalıştıracak kadar güçlüdür.
  2. K0mraid3'ün kavram kanıtı bir yardımcı APK gerektirir ve yararlanma zincirini başlatmadan önce onu en az bir kez çalıştırmanız gerekir.
  3. Tek kullanıcı arayüzü, yani Samsung'un özel Android kaplamasının yerleşik güç tasarrufu rutinleri, TTS uygulaması, yardımcı APK ve kabuk arasındaki iletişimi engelleyebileceğinden sorunlu olabilir. Bu nedenle, uygulamalar için güç tasarrufu profilini önceden “Sınırsız” olarak ayarlamanızı öneririz.

Önkoşullar

  1. İstismarın önceden derlenmiş yapısını şuradan indirin: XDA forum başlığı veya aşağıda bağlantısı verilen resmi GitHub deposu: K0mraid3s Sistem Kabuğu İstismarı
  2. Arşivi bir yere çıkarttığınızda Samsung Text-To-Speech APK'sının savunmasız sürümünü bulmalısınız. (samsungTTSVULN2.apk), yardımcı uygulama (Komraid3s_POC_Vx.x.apk) ve adlı bir Windows yürütülebilir dosyası systemshell-vx.x.exe.
  3. En son sürümünün olduğundan emin olun ADB PC'nize/Mac'inize/Chromebook'unuza yüklenir. Ayrıca şunu da unutmayın: Samsung USB sürücülerini yükleyin/güncelleyin Windows kullanıcısıysanız.

Sistem kabuğu erişimi elde etmek için herhangi bir Samsung Galaxy cihazından nasıl yararlanılır

Manuel yöntem

  1. Hedef Galaxy cihazını USB hata ayıklama açıkken bilgisayarınıza bağlayın, cihazın ADB tarafından keşfedilebildiğinden emin olun ve ardından yardımcı uygulamayı yükleyin.
    adb install Komraid3s_POC_Vx.x.apk
    • Daha önce de belirtildiği gibi, bir sonraki adıma geçmeden önce yardımcı uygulamayı en az bir kez açın.
  2. Şimdi Samsung TTS uygulamasının güvenlik açığı bulunan sürümünü /data/local/tmp dizinine aktarın ve izinlerini değiştirin:
    adb push samsungTTSVULN2.apk /data/local/tmp
    adb shell chmod 777 /data/local/tmp/samsungTTSVULN2.apk
  3. Cihazı yeniden başlat. Ana ekrana gelir gelmez, Samsung TTS uygulamasının önceden yüklenmiş sürümünü savunmasız olanla değiştirmek için aşağıdaki komutu çalıştırın:
    adb shell pm install -r -d -f -g --full --install-reason 3 --enable-rollback /data/local/tmp/samsungTTSVULN2.apk
    • Her şey yolunda giderse konsolda "Başarılı" mesajını görmelisiniz.
  4. Başka bir terminal penceresi açıp çalıştırarak hedef cihazda bir kabuk açın. adb kabuğu, ardından Netcat ikili dosyasını yürütün ve aşağıdaki komutla 9997 bağlantı noktasında gelen bağlantıyı dinleyin:
    adb shell nc -lp 9997
  5. Bu aşamada Samsung TTS uygulamasının sistem kabuğunu bizim için açacak belirli bir etkinliğini yürütmemiz gerekiyor.
    • Gibi bir üçüncü taraf uygulamasını kullanın Bu “com.samsung” kısayolunu oluşturmak için SMT/.gui. İndirme Listesi” etkinliği.
    • Aynısını yapmak için Android'in kendi etkinlik yöneticisini (am) de kullanabilirsiniz. Bu durumda, bunu ADB (adb Shell am start -n com.samsung) aracılığıyla çalıştırabilirsiniz. SMT/.gui. DownloadList) veya telefonunuzda/tabletinizde Termux gibi bir terminal emülatör uygulaması kullanın ve aşağıdaki komutu çalıştırın:
      am start -n com.samsung.SMT/.gui.DownloadList
  6. İlk kabuğa geri döndüğünüzde sistem (UID 1000) ayrıcalığına sahip yeni bir bilgi istemi görmelisiniz.

Otomatik yöntem

İşleri kolaylaştırmak için K0mraid3 ayrıca görevlerin çoğunu otomatikleştirmek için kullanımı kolay bir GUI uygulaması da sağlar. GUI uygulamasının yalnızca Windows'a özel olduğunu unutmayın; dolayısıyla Linux/macOS kullanıcısıysanız manuel yönteme bağlı kalmak daha iyidir.

  1. Hedef Galaxy cihazını USB hata ayıklama açıkken bilgisayarınıza bağlayın, cihazın ADB tarafından keşfedilebildiğinden emin olun ve ardından yardımcı uygulamayı yükleyin.
    adb install Komraid3s_POC_Vx.x.apk
    • Daha önce de belirtildiği gibi, bir sonraki adıma geçmeden önce yardımcı uygulamayı en az bir kez açın.
  2. Hedef cihaz ADB tarafından bulunabilir durumdayken ana bilgisayarda systemshell-vx.x.exe dosyasını çalıştırın.
  3. “KABUĞU BAŞLAT” düğmesine tıklayın. Uygulama, Samsung TTS uygulamasının sürümünü otomatik olarak düşürecek ve sistem kabuğunu açmayı deneyecektir.
    • Telefonunuzda/tabletinizde TTS uygulamasının sizden bazı ses verilerini indirmenizi istediğini görebilirsiniz. Bu seçeneklerle etkileşime girmenize gerek yoktur çünkü bunların istismarla hiçbir ilgisi yoktur.
    • Uygulamanın bir süre sonra kilitlenmesi veya kabuk penceresini açamaması durumunda, uygulamayı kapatın, hedef Galaxy cihazını yeniden başlatın ve baştan başlayın.
    • Galaxy Store uygulaması, arka planda TTS uygulamasının güç tasarrufu profilini otomatik olarak güncelleyebilir ve/veya sıfırlayabilir; bu nedenle işleme sıfırdan başlamadan önce kontrol ettiğinizden emin olun.

Doğrulama

Kabuk erişimine sahip olduğunuzda aşağıdaki komutlardan birini kullanarak ayrıcalık düzeyini doğrulayabilirsiniz:

  • whoami
    • Çıktı “sistem” olmalıdır
  • id -u
    • Çıktı “1000” olmalıdır

Çözüm

Bir Android cihazda root erişimi elde etmenin tipik yolu, ilk önce üçüncü taraf ikili dosyaları başlatmanıza olanak tanıyan önyükleyicinin kilidini açmaktır. Android'in güvenlik modeli temel olarak root ile çöktüğünden, bu adım, cihazdaki temel güvenlik özelliklerinden birini kasıtlı olarak devre dışı bırakıyor. Bu nedenle kullanıcının, Geliştirici Seçenekleri'nde genellikle bir geçişi etkinleştirerek ve ardından geliştiriciye bir kilit açma komutu vererek bunun gerçekleşmesine açıkça izin vermesi gerekir. önyükleyici. Önyükleyicinin kilidi açıldığında, kullanıcı sisteme bir süper kullanıcı ikili programı ve ayrıca hangi işlemlerin root erişimine sahip olduğunu kontrol etmek için bir süper kullanıcı yönetim uygulamasını (Magisk gibi) tanıtabilir.

Ancak yukarıda bahsedilen sistem kabuğu istismarı ile kullanıcının yükseltilmiş ayrıcalık elde etmek için önyükleyicinin kilidini açması gerekmez. Kök olmaktan uzak olmasına rağmen, "sistem" kullanıcısı bir dizi düşük seviyeli bölüme (örneğin, /efs olarak), çeşitli servis ve hata ayıklama araçlarını başlatın ve birçok korunan özellik değerini değiştirin; üstelik tüm bunları, hata yapmadan Knox. Bu örnekler sadece birkaç noktaya değiniyor; Kötü niyetli bir aktör bunu diğer güvenlik açıklarıyla birleştirerek daha hain eylemler ortaya çıkarabilir.

Google ve Samsung'un bu senaryoyu nasıl ele alacağını bekleyip görmemiz gerekecek. Her iki durumda da, muhtemelen şimdilik Samsung Text-To-Speech uygulamasını devre dışı bırakmalı veya kaldırmalısınız.