[OverTheWire] – behemoth2-3

Untuk mengerjakan behemoth2, dapat menggunakan ssh “ssh behemoth2@behemoth.labs.overthewire.org” dan memasukkan password yang telah didapatkan sebelumnya dari behemoth1.

 

Terdapat sebuah file ELF yang bernama behemoth2, ketika dijalankan akan maka hasilnya adalah sebagai berikut :

terlihat bahwa dijalankan perintah touch, di mana perintah touch merupakan command yang digunakan untuk membuat file kosong. Tetapi, pada eksekusi file behemoth2 tersebut, touch tidak dapat dilakukan karena adanya permission denied. Selanjutnya, saya mencoba untuk melihat proses yang dilakukan dari file tersebut menggunakan ltrace.

Dari hasil tersebut, secara garis besar proses nya adalah sebagai berikut, pertama-tama akan dilakukan generate proccess id yang kemudian akan digunakan untuk membuat file. Lalu selanjutnya akan dilakukan pembuatan file dengan command touch yang dipanggil menggunakan function system. Setelah itu, dilanjutkan dengan pemanggilan sleep selama 2000 seconds atau sekitar 30 menit. Sekilas, terlihat normal tetapi terdapat kelemahan dari file tersebut karena ia menggunakan function system. Mengapa function system berbahaya ? function system berbahaya karena kita mengibaratkannya sebagai menjalankan perintah menggunakan commandline langsung dari shell. Untuk lebih jelasnya, dapat dilihat pada link ini. Dari hal tersebut, saya mendapatkan ide untuk membuat file touch palsu dengan cara seperti ini :

Pertama-tama saya membuat folder di direktori tmp. Dari input yang saya berikan, terlihat bahwa saya memasukkan ‘/bin/sh’ yang merupakan sha-bang yang berfungsi untuk memanggil shell. Selanjutnya kita mengubah file touch menjadi executable dengan cara berikut :

setelah itu, kita dapat menggunakan command sebagai berikut :

Secara garis besar, saya menggunakan command PATH yang merupakan enviromental-variable yang berfungsi untuk mencari executable file dari suatu direktori yaitu /tmp/asda di mana dalam direktori tersebut, terdapat file touch yang telah kita ubah menjadi executable file sebelumnya. Setelah itu terdapat $PATH yang mengarahkan ke destinasi kita yaitu pada file behemoth2.  Untuk informasi lebih lengkap mengenai PATH dapat dilihat di sini.

Ketika dijalankan, ternyata kita mendapatkan akses shell ! dan setelah itu kita dapat mendapatkan password untuk ke behemoth3 dengan cara berikut :

password nya adalah nieteidiel.

sumber pembelajaran didapatkan dari : https://tuonilabs.wordpress.com/2016/12/17/overthewire-behemoth-write-up/

Leave a Reply

Your email address will not be published. Required fields are marked *