SQL Injection to RCE Situs LK21

SQL Injection to RCE pada Situs LK21 - Karena sedang agak malas menulis, jadi langsung saja. Tiba-tiba saya punya ide untuk ngehek situs streaming film, LayarKaca21 (LK21).

Seperti yang kita tahu, LK21 sering bergonta ganti domain karena #####. Pada saat melakukan percobaan ini, LK21 sedang berada di domain lk21official.baby dan berubah menjadi nonton.lk21official.wiki saat saya sedang melakukan percobaan.

Disclaimer:
Tulisan ini hasil percobaan beberapa waktu lalu bersama Abdi Prawira yang awalnya tidak diniatkan untuk ditulis, karena itu beberapa screenshot di bawah bisa jadi tidak terlalu menjelaskan secara detail tentang apa yang sedang dilakukan.

Dari hasil information gathering, diketahui situs LK21 menggunakan Wordpress dengan tambahan beberapa custom php file untuk tujuan yang mungkin tidak disediakan oleh WordPress.

SQL Injection Situs LK21

Saya menemukan SQL Injection pada salah satu custom php file situs tersebut.

SQL Injection Situs LK21

Karena situs LK21 menggunakan WordPress, saya mencoba untuk mendapatkan data dari table wp_users, namun tidak sampai membuang waktu untuk mencoba mendapatkan string asli dari kolom password.

Setelah percobaan lebih lanjut, diketahui user MySQL yang digunakan adalah DB Administrator. Saya mencoba upload shell menggunakan SQLMap melalui command --os-shell dan --file-write namun tidak berhasil karena user (Server User) mysql tidak mempunyai akses untuk membuat file pada direktori target.

Selanjutnya saya mencoba membaca beberapa file konfigurasi seperti file konfigurasi Nginx dan MySQL menggunakan command --file-read yang ternyata tidak terlalu berguna. Namun saya menemukan IP asli dari server tersebut pada file /etc/hosts.

Saya melanjutkan percobaan dengan melakukan directory scanning pada IP yang terdapat pada file sebelumnya. Dari hasil scanning, saya menemukan file adm.php yang berisi Adminer.

Adminer adalah sebuah aplikasi web open-source yang menyediakan antarmuka pengguna untuk mengelola database SQL dengan tampilan yang sederhana dan mudah digunakan.

SQL Injection Situs LK21

Selanjutnya saya mencoba membaca file konfigurasi WordPress yang berada di wp-config.php. Sebelumnya saya mendapatkan full path dari file konfigurasi Nginx saat menemukan SQL Injection di atas.

SQL Injection Situs LK21

Setelah mendapatkan informasi login database, saya menduplikasi user admin lalu mengubah username dan password user baru tersebut.

Saya berhasil login ke dashboard LK21.

SQL Injection Situs LK21

Selanjutnya saya mencoba upload webshell melalui fitur upload plugin (bukan pada domain yang ada di screenshot atas—lupa skrinsut) dan file hasil upload akan berada pada direktori /wp-content/uploads/[bulan]/[tanggal]/namafile.php.

SQL Injection Situs LK21

Saya sudah melaporkan temuan ini melalui akun Telegram LK21 yang terdapat pada situs dan sudah diberikan izin untuk mempublish tulisan tentang laporan tersebut.

Sekian tulisan singkat tentang SQL Injection to RCE pada Situs LK21, sampai jumpa pada tulisan selanjutnya.

Bonus:

Saat saya sudah berhasil upload webshell, saya melihat terdapat file konfigurasi untuk mengakses API CloudFlare. Yang artinya, saya bisa saja mengubah arah domain-domain yang ada di akun tersebut menuju server saya, hehe. SQL Injection Situs LK21

Tulisan ini sudah dipublikasi pada situs hekermen.com dengan judul SQL Injection to RCE Situs LK21.