Percobaan pentest awal dengan target Badstore

Setup Badstore

Setelah berhasil menginstal aplikasi Badstore, saya menjalankan perintah ifconfig untuk mendapatkan alamat IP dari virtual machine tersebut . Hasilnya, alamat IP yang diperoleh adalah 192.168.47.128. Selanjutnya, saya mengakses alamat tersebut melalui browser untuk memastikan bahwa aplikasi berjalan dengan baik. Halaman yang muncul adalah halaman utama aplikasi Badstore, yang menunjukkan bahwa instalasi berhasil dilakukan.

Melakukan scaning dengan nmap

Langkah pertama yang saya lakukan adalah melakukan pemindaian menggunakan nmap untuk mengidentifikasi layanan yang berjalan dan port yang terbuka. Pemindaian dilakukan dengan perintah: nmap 192.168.47.128 . hasil nya menunjukan bahwa terdapat 3 port yang terbuka dengan layanan sebagai berikut:

  • Port 80 (HTTP)

  • Port 443 (HTTPS)

  • Port 3306 (MySQL)

Untuk mendapatkan informasi lebih lanjut, saya melakukan pemindaian ulang dengan menggunakan , nmap -p 3306 —script=mysql-info 192.168.47.128. untuk mendeteksi detail layanan MySQL. Hasil pemindaian menunjukkan bahwa versi MySQL yang berjalan pada server adalah 4.1.7. untuk versi ini sendiri merupakan versi yang sudah cukup lama , karena di rilis pada tahun 2004

mencoba masuk kedalam database

Untuk mengakses database, saya menjalankan perintah berikut: mysql -u root -p -h 192.168.47.128.

Namun, saya menemukan bahwa database tidak memerlukan autentikasi dengan kredensial root untuk memberikan akses. Masalah yang muncul adalah kegagalan koneksi yang disebabkan oleh sertifikat SSL. untuk menangani hal ini saya mencoba menggunakan parameter tambahan yaitu : —skip_ssl .

Perintah ini berhasil, dan saya dapat mengakses database tanpa kata sandi. Karena tidak ada kata sandi root yang dikonfigurasi, parameter -p dapat dihilangkan jika diinginkan.

.

Eksplorasi isi database

Setelah melakukan eksplorasi ditemukan bahwa website ini hanya memiliki 1 database yaitu badstoredb , dan didalam database tersebut ditemukan 4 buah tabel yang masing masing memiliki nama:

  • acctdb

  • itemdb

  • orderdb

  • userdb

Bagian yang paling menarik adalah pada table userdb, karena semua kredensial login user untuk masuk disimpan.

Pada tahap ini, saya menemukan bahwa kata sandi dalam database disimpan dalam format hash MD5. Untuk mencoba memecahkan hash MD5 tersebut, saya menggunakan tools online dari website: https://10015.io/tools/md5-encrypt-decrypt

Dengan memanfaatkan alat ini, saya berhasil memecahkan hash MD5 dan mendapatkan kata sandi asli dari database

Saya mencoba mendekripsi password untuk user'admin', dan berhasil memperoleh kata sandi yang terenkode, yaitu 'secret'.

Uji coba login

Setelah mendapatkan kredensial username serta password saya mencoba login untuk masuk kedalam halaman website tersebut . dan akhir nya berhasil masuk sebagai user admin

Updated on