Stumble Guys adalah game mobile sederhana yang sedang viral di bulan Mei 2022 ini, penulis sendiri mengetahui game ini dari YouTuber konten gaming Windah Basudara pada live streaming pada 13 Mei 2022 pada tautan ini Stumble Guys ini game yang mempunyai mekanik yang sangat sederhana, hanya dapat bergerak maju,mundur, samping kanan-kiri lompat, seluncur, memukul dan memeluk pemain yang lainnya. Menurut penulis game ini adalah versi sederhana dari Game PC yaitu Fall Guys: Ultimate Knockout
Versi yang dianalisa pada game ini adalah versi 0.37 yang mana game ini dapat diunduh selain dari Play Store dapat diunduh dari ApkPure di sini. Lakukan instalasi seperti biasanya penulis menggunakan Emulator Nox. Let’s the show started
Ide dari proses hacking kali ini adalah melihat bagaimana cara karakter yang kita mainkan mendapatkan exp (experience) dan bagaimana kita dapat melakukan cara ‘cepat’ untuk mendapatkan exp agar karakter kita mencapai level yang tinggi. Satu-satunya cara untuk mendapatkan exp adalah dengan cara terus memainkan gamenya, yang pasti karena game ini terintegrasi langsung maka yang pasti akan ada proses hit ke sebuah server, atau melalui REST API yang paling umum seperti gambar di bawah ini
Lalu cara sederhana untuk mengetahui proses ini adalah dengan melakukan intercept antara Client dan Rest API kita gunakan BURP sebagai reverse proxy-nya, seperti inilah gambaran umum kinerja BURP
Di mana BURP suite akan menangkap semua request kita sebelum diteruskan ke sebuah server, namun di aplikasi Android yang modern, sudah dipastikan ada proteksi SSL Pinning, yang mana tidak memungkinkan melakukan intercept secara langsung tanpa memasang sebuah sertifikat dari BURP itu di dalam sistem androidnya. Di artikel ini penulis tidak akan menjelaskan bagaimana melakukan bypass SSL Pinning di Android, tapi percobaan pertama penulis menggunakan Code Frida yang ini tidak mendapatkan hasil yang cukup baik, berikut langkah-langkahnya
Pertama, penulis melakukan statis scanning dengan APKLeaks untuk mendapatkan hal-hal yang unik, tapi tidak mendapatkan hasil yang maksimal.
Sumber Gambar Pribadi
Setelahnya penulis melakukan setup untuk Frida Hooks, beberapa ini dokumentasi yang ada, frida yang digunakan penulis adalah 15.1.17
Sumber Gambar Pribadi
Dan berikut ini adalah nama package yang berhasil diidentifikasi oleh frida “com.kitkagames.fallbuddies”
Sumber Gambar Pribadi
Setelah menemukan nama package yang ingin dihook, lakukan hook dengan cara seperti ini
Sumber Gambar Pribadi
Dan uniknya setelah memainkan game-nya tidak ada hit REST API yang benar-benar mengarah ke sebuah REST API yang berfungsi untuk storing data ke server, hanya hit REST API ke sebuah “api” yang berfungsi untuk analisa marketing
Sumber Gambar Pribadi
Dan tetap anehnya, di dalam debug log milik BURP tetap tidak ada tanda-tanda fail handshake milik REST API ke sebuah server milik game itu sendiri.
Sumber Gambar Pribadi
Setelah percobaan gagal maka penulis mencoba menggunakan http.canary untuk melakukan inspect request di android itu sendiri, dan yang mengejutkan hal ini berhasil. Begini caranya
Pertama mainkan gamenya sampai di level manapun, umumnya gamenya akan mempunyai 3 level.
Sumber Gambar Pribadi
Dah setelah diklik tombol Klaim, maka bentuk salah satu requestnya adalah seperti berikut ini yang terekam di http.canary
Sumber Gambar Pribadi
Simplenya adalah seperti ini
Sumber Gambar Pribadi
Bentuk “authorization” adalah berisi seperti berikut ini
Sumber Gambar Pribadi
Dari sini, bisa diketahui bahwa exp terkumpul selesai dari hit ke endpoint seperti berikut ini
No | Nama | Path | Keterangan |
---|---|---|---|
1 | Rangking | ||
2 | Round 1 | /round/finishv2/0 | Di sini tidak akan mendapatkan exp dan trophy |
3 | Round 2 | /round/finishv2/1 | Di sini hanya akan mendapatkan exp dan trophy |
4 | Round 3 | /round/finishv2/2 | Di sini hanya akan mendapatkan exp dan trophy |
5 | Juara | /round/finishv2/3 | Di sini akan mendapatkan exp, trophy dan crown karena memenangkan pertandingan |
Setelah semua terdeteksi, maka kita dapat membuat BOT automasi dengan multithread yang melakukan request bersamaan terus-menerus ke salah satu endpoint yang mendapatkan trophy ataupun exp atau bahkan crown, berikut ini exploit yang saya gunakan.
Sumber Gambar Pribadi
Semua ini hanya perlu mendapatkan “authorization” dari setiap ronde yang dapat terselesaikan. Dan jika dijalankan akan mendapatkan print seperti berikut ini di terminal
Sumber Gambar Pribadi
Dan seperti itulah proses Hacking Stumble Guys for Fun, berikut ini adalah dokumentasi akun saya yang menjalani “hacking”, mencapai level maximum “20” dan mendapatkan 300K trophy.
Sumber Gambar Pribadi
Dan akun ini mendapatkan peringkat “76” Dunia, mohon maaf untuk semua pemain yang berada di 100 besar peringkat, ini semua saya lakukan untuk kebutuhan edukasi saja.
Sumber Gambar Pribadi
Dan Alhamdulillahnya akun saya tekan “banned” sehingga akun saya tidak bisa dimainkan lagi.
Sumber Gambar Pribadi
Salah satu cara untuk melakukan patch celah ini adalah dengan melakukan destroy “session” setelah selesai hit ke end-point. Dengan begitu tidak akan bisa bot melakukan hit terus menerus, karena “session”-nya sudah expired. Terima kasih telah membaca, semoga dapat menjadi pelajaran bagi semua pihak.
Semua bug yang dibahas pada tulisan ini sudah ditutup, pada saat proses penyuntingan 13 Juli 2023 versi *****Stumble Guys* adalah 0.52 dan versi yang dilakukan penelitian adalah versi 0.37, Terima kasih!