Pineapple on GL-inet, Bypass Setup Protection
openwrt
]
Sejak dari versi mk5, pengembang pineapple mulai menempatkan proteksi untuk mengamankan firmwarenya agar tak dapat diflash keperangkat lain. Efektif dibeberapa versi, namun kadang juga tidak berguna sama sekali. Pada mk6(nano/tetra) versi 2.4.0 bahkan tidak perlu melakukan modifikasi sama sekali.
Percobaan terakhir yang pernah saya reverse adalah versi 2.4.2 dimana pada versi ini ada beberapa proteksi
- user/password input di serial connection,
- ssh service yang tidak aktif,
- push button pada web setup.
Pada versi 2.6.2 saya juga menemukan proteksi serupa. Tidak berubah sama sekali.
Dua proteksi diawal bisa dimatikan jika sudah melewati proses setup dimana credential dikonfigurasi ulang dan setelahnya akan mengaktifkan ssh service.
Jika dilihat dari konten script setup (/pineapple/api/Setup.php) kita bisa menemukan bahwa pengecekan tombol dipencet atau bukan identifikasinya ada pada ada tidaknya file /tmp/button_setup.
Ini bisa saja diakali dengan merubah nilai variable $buttonPressed menjadi true. Tapi saya kali ini saya coba dengan menambahkan sebuah perintah di /etc/rc.local.
#enable setup button
touch /tmp/button_setup
Metode bypass ini hanya bersekali sebelum adanya perintah penulisan ulang /etc/rc.local. Tapi satu kesempatan sudah cukup jika anda langsung mengeksekusinya saat status button is pressed.