OnePlus Nord 2 memiliki kerentanan yang memungkinkan penyerang mendapatkan akses shell root tanpa batas. Baca terus untuk mengetahui lebih lanjut!
Banyak dari kita di sini di XDA-Developers awalnya mulai menjelajahi forum untuk pertama kalinya ketika kami mencarinya. rooting perangkat Android kita. Pada masa itu, orang sering mengandalkan metode "root sekali klik": Aplikasi atau skrip yang berisi muatan yang menargetkan kerentanan eskalasi hak istimewa yang diketahui dari firmware yang ada untuk mendapatkan root mengakses. Dengan peningkatan dan perubahan pada enkripsi, izin, dan penanganan terkait privasi, perangkat Android modern relatif aman dari vektor serangan tersebut, namun akan selalu ada ruang untuk serangan tersebut. eksploitasi Dan kerentanan.
OnePlus mungkin telah mengokohkan namanya di antara OEM Android utama, tetapi ponselnya memang demikian tidak asing ke kelemahan keamanan. Kali ini, perusahaan telah meninggalkan kerentanan yang cukup menarik (baca: mengkhawatirkan) yang belum ditambal di dalamnya
OnePlus Nord 2 sejak dirilis. Meskipun mengeksploitasi celah tersebut memerlukan akses fisik ke perangkat, penyerang dapat melakukannya secara efektif dapatkan shell root yang tidak dibatasi bahkan sebelum pengguna dapat memasukkan kredensial mereka. Khususnya, yang baru dirilis Nord 2 edisi Pac-Man juga terpengaruh.Latar belakang
Saat ini, ketika kita berbicara tentang memiliki akses root pada smartphone Android, orang biasanya memikirkan hal itu menambal gambar boot stok dengan Magisk terlebih dahulu dan kemudian mem-flash gambar yang dipatch ke perangkat target setelah membuka kunci bootloader. Dengan begitu, pengguna akhir dapat mengawasi akses ke biner "su" melalui aplikasi manajer. Beberapa lainnya pendekatan eksperimental memang ada, namun jarang digunakan secara umum.
Namun, jika menyangkut pra-produksi, skenarionya sangat berbeda. Saat menyiapkan firmware perangkat, teknisi perlu mengaktifkan berbagai parameter logging, termasuk akses root. Bahkan pada a debug pengguna membangun, Android Debug Bridge Daemon (adbd) dijalankan sebagai root, sehingga seseorang dapat memiliki akses shell istimewa untuk tujuan debugging. Saat firmware siap dikirim, semua parameter debugging ini harus dimatikan sebelum diluncurkan.
Namun apa jadinya jika Anda lupa melakukannya? Kita akan lihat, rilis resmi OxygenOS untuk OnePlus Nord 2 hadir dengan kekurangan seperti itu.
OnePlus Nord 2 -- Kerentanan Root Shell
Beberapa OEM seperti Samsung menawarkan kemampuan sideloading paket pembaruan dalam pemulihan stok mereka pada perangkat ritel. Dalam hal ini, adbd
biner berjalan dengan hak istimewa yang sangat tinggi saat melakukan sideload, tetapi biner akan menutup sendiri segera setelah proses pembaruan selesai. Selain itu, tidak ada akses ADB yang diizinkan di lingkungan pemulihan yang disediakan OEM.
OnePlus tidak lagi mengizinkan pengguna untuk mem-flash paket ZIP pembaruan melalui pemulihan stoknya melalui sideload ADB. Dengan asumsi bahwa segala sesuatunya dikonfigurasi sebagaimana mestinya, lingkungan pemulihan perangkat OnePlus biasa harus aman dari penyerang yang mengirimkan segala jenis muatan menggunakan ADB. Sayangnya, tidak semuanya berjalan sesuai rencana dalam kasus OnePlus Nord 2.
Ternyata, siapa pun dapat membuat shell debugging Android dengan hak akses root di dalam lingkungan pemulihan OnePlus Nord 2. Salah satu pengaturan debugging penting tampaknya sampai ke versi produksi, yang menyebabkan kesalahan ini.
Memanfaatkan kelemahan pada OnePlus Nord 2
Yang perlu Anda lakukan hanyalah me-reboot OnePlus Nord 2 ke mode pemulihannya. Penyerang dapat mengambil perangkat dan menggunakan kombo tombol perangkat keras sederhana untuk memaksanya masuk ke mode pemulihan. Faktanya, tidak perlu membuka menu pemulihan sebenarnya, karena bagian yang rentan sudah ada sebelumnya. Kredit diberikan kepada Anggota Senior XDA AndroPlus untuk menunjukkan adanya glitch ini pada bulan Oktober 2021 lalu.
- Saat ponsel dalam keadaan mati, tekan tombol volume bawah dan tombol daya secara bersamaan hingga Anda mati lihat logo OnePlus dengan spanduk kecil "RECOVERY MODE" di sudut kiri bawah layar.
- Selanjutnya, Anda akan melihat layar pemilihan bahasa. Tidak perlu melanjutkan, karena kami dapat memulai akses ADB langsung dari sini.
- Sekarang sambungkan ponsel ke PC (atau Mac) menggunakan kabel USB. Jika Anda menggunakan Windows, Anda dapat melihat antarmuka debugging USB Android baru muncul di Pengelola Perangkat. Anda mungkin juga perlu menginstal yang sesuai driver USB Android sebelum Windows dapat mengenali perangkat baru. Sebaliknya, pengguna Linux dan macOS dapat menggunakan
lsusb
perintah untuk mendeteksi keberadaan antarmuka perangkat keras baru. - Mengingat Anda sudah memiliki versi terbaru ADB dan Fastboot utilitas yang diinstal pada PC/Mac Anda, jalankan instance Command Prompt/PowerShell/Terminal dan jalankan perintah berikut:
Seharusnya mencantumkan Nord 2 dalam mode pemulihan. Ini juga sangat menarik, karena perintah otorisasi ADB standar tidak diperlukan di sini. Anda mungkin mendapatkan kesalahan "perangkat tidak sah", namun menghapus basis data kunci ADB RSA yang ada pada PC host dan memulai ulang server ADB pada akhirnya akan memungkinkan Anda untuk mengotorisasinya.adb devices
- Sekarang instruksikan
adbd
untuk dijalankan sebagai root:
Perintah ini mungkin memakan waktu lama dan Anda mungkin akan mendapatkan kesalahan batas waktu. Meskipun demikian, sekarangadb root
adbd
harus dijalankan sebagai root. - Terakhir, verifikasi tingkat hak istimewa shell menggunakan perintah berikut:
adb shell whoami
Sejauh mana kekurangannya
Potensi penyalahgunaan kerentanan keamanan ini sangat menakutkan. Jika serangan berhasil pada OnePlus Nord 2, penyerang dapat membuang setiap partisi perangkat. Akibatnya, keseluruhan partisi data — termasuk file yang disimpan dalam direktori data pribadi aplikasi yang biasanya tidak dapat diakses — dapat diakses oleh penyerang. Jika partisi data keluar sebagai terenkripsi (karena pengguna menetapkan PIN atau kata sandi), dump masih berguna untuk analisis forensik.
Tidak hanya itu, Anda dapat mendorong file yang dapat dieksekusi ke /data/local/tmp
dan menjalankannya dari sana. Ini adalah vektor serangan klasik, yang dapat berguna untuk memuat eksploitasi lain secara berantai. Terlebih lagi, karena Anda sekarang dapat menelepon setprop
utilitas sebagai root untuk mengubah berbagai nilai prop, Anda secara teknis dapat membajak beberapa variabel khusus OEM yang memiliki hak istimewa. Terakhir, bahkan jika Anda tidak membuka kunci opsi pengembang, ponsel akan secara otomatis meminta akses debugging USB setelah Anda menjalankannya. ADB dalam pemulihan dan reboot ke lingkungan Android biasa, yang berarti cakupan kerentanan tidak terbatas pada bagian pemulihan saja hanya.
Perhatikan bahwa Anda tidak dapat menginstal file APK menggunakan ADB di lingkungan pemulihan karena utilitas Manajer Paket tidak dapat diakses di sana.
Bagaimana cara memeriksa apakah OnePlus Nord 2 Anda terpengaruh? (Petunjuk: Benar)
Seperti disebutkan sebelumnya, Anda dapat mengeksploitasi kerentanan ini pada OnePlus Nord 2 edisi reguler dan khusus Pac-Man. Singkatnya, jika Anda memasukkan shell root (Anda akan tahu kapan simbol shell berubah $
ke #
), maka Anda akan tahu bahwa ada cacat.
Kami telah berhasil mendapatkan akses root shell di firmware OxygenOS publik India dan Eropa terbaru untuk perangkat tersebut, yang berarti setiap unit OnePlus Nord 2 di luar sana rentan pada saat menulis artikel ini.
Apa berikutnya?
Kami akan menindaklanjuti masalah ini ketika informasi lebih lanjut tersedia. OnePlus memberikan pernyataan berikut tentang masalah ini:
Kami memperlakukan privasi dan keamanan dengan sangat serius. Kami memprioritaskan masalah ini dan kami akan membagikan pembaruannya segera setelah kami memiliki informasi lebih lanjut.
Meskipun semua ini tampak menakutkan, perlu diingat bahwa penyerang masih perlu mengakses ponsel secara fisik untuk mendapatkan akses root shell. Hingga OnePlus meluncurkan pembaruan yang memperbaiki kerentanan, cobalah untuk menjauhkan OnePlus Nord 2 Anda dari orang asing. Meskipun kami belum menemukan contoh penggunaan jahat apa pun, kita tidak bisa mengabaikan kemungkinan tersebut karena kerentanannya sudah ada setidaknya selama 2 bulan hingga saat ini.