Singkat cerita, sekitar 2 tahun lalu ada seorang teman (sebut saja bungo, soalnya laki-laki) yang menawarkan untuk mengetes keamanan website kantornya dan dia juga menawarkan sedikit hadiah bila ada celah yang bisa ditemukan. Saya sebagai seorang newbie yang belum tau apa-apa ini pun merasa ini kesempatan yang bagus untuk belajar. Akhirnya saya ambil tawaran tersebut dan mulai melakukan reconnaissance terhadap website target yang diberikan, dari hasil kegiatan tersebut saya mendapatkan informasi bawa website tersebut dibuat menggunakan WordPress. Berdasarkan informasi tersebut kemudian saya menggunakan WPScan untuk memeriksa apakah kemungkinan ada vulnerability di website target, dan hasilnya ternyata versi wordpress dan semua plugin sudah up to date (pada waktu tersebut) 🙁
Setelah hampir menutup laptop karena melihat hasil yang didapat, tiba-tiba terbesit sekali lagi untuk melihat hasil vulnerability scanner tersebut dan ternyata saya menemukan sesuatu yang menarik dan itu adalah file xmlrpc.php yang terdapat di website tersebut dan bisa direct access.
Kemudian seperti yang anda pikirkan juga, melihat file tersebut bisa direct access saya juga terpikir untuk melakukan bruteforce login. Jadi terlebih dahulu saya mencari tau informasi user yang ada pada website tersebut dan ternyata bisa saya dapatkan dengan mudah.
Akan tetapi hasilnya sangat tidak bagus, setelah melakukan 5 kali percobaan login dengan menebak password, saya langsung terkena ban 😀
Berdasarkan pengalaman saya, rata-rata password yang dimiliki administrator di kantor-kantor yang tidak terlalu memperhatikan keamanan IT, menggunakan kombinasi nama perusahaan, tahun, jabatan atau hal-hal lain yang berkaitan dengan perusahaan tersebut, jadi saya mencoba menggunakan lingkup guessing yang lebih sempit dengan mencari tahu informasi-informasi lainnya dari perusahaan tersebut menggunakan whois dan maltego.
Kemudian saya menggunakan informasi-informasi tersebut untuk membuat beberapa password wordlist menggunakan BEWGor sebagai modal melakukan bruteforce login. dimana saya membatasi satu password wordlist hanya memiliki 5 baris kemungkinan password. Hal ini dikarenakan berdasarkan percobaan sebelumnya setelah 5 kali percobaan login maka akan terkena ban. Dikarenakan adanya sistem ban tersebut, setiap percobaan menggunakan satu password list gagal, sebelum pindah menggunakan password list berikutnya saya pun melakukan restart modem agar ip nya berganti sehingga saya bisa melakukan proses bruteforce selanjutnya (Bersyukur masih menggunakan paket rumahan operator pelat merah waktu itu, jadi gampang ganti ip) :D. Dan hasilnya, saya bisa mendapatkan informasi password yang tepat pada percobaan ke 4.
Kemudian tentu saja, saya langsung mencoba login ke dashboard dan berhasil.
Setelah berhasil login, saya kemudian memasukkan shell kedalam website tersebut, dimana saya menggunakan salah satu shell yang gampang didapatkan yaitu p0wny.
Setelah proses memasukkan shell selesai, tentu saja selanjutnya melakukan eksekusi 😀
Dan tentu saja setelah menunjukkan bukti-bukti tersebut, saya mendapatkan sedikit reward dari teman saya walaupun dengan cara yang agak sedikit memaksa :D. Kemudian setelah selesai, saya menghapus shell dan kemudian memberi sedikit masukan kepada teman saya untuk mencegah hal yang sama terjadi di kemudian hari.