Petunjuk Praktis Penggunaan Perintah Netcat di FreeBSD
Netcat merupakan salah satu utilitas Unix yang paling banyak digunakan dan memungkinkan Anda membuat koneksi TCP dan UDP, menerima data, dan mengirimkannya. Meskipun bermanfaat dan sederhana, banyak yang tidak tahu cara menggunakannya dan mengabaikannya. Padahal fitur Netcat sangat dibutuhkan oleh seorang administrator sistem.
Dengan menggunakan utilitas ini, Anda dapat melakukan beberapa langkah saat melakukan pengujian penetrasi pada server Anda. Utilitas ini sangat berguna saat mesin yang diserang tidak memiliki paket yang terpasang (atau yang menarik) dan server Anda memiliki kemampuan yang rendah (misalnya IoT/perangkat tertanam), dll.
Netcat dapat membantu mempermudah pekerjaan Anda, seperti di bawah ini:
- Melakukan pemindaian port.
- Melakukan port lanjutan.
- Mengumpulkan banner layanan.
- Dapat mendengarkan port (mengikat untuk koneksi terbalik).
- Mengunduh dan mengunggah file.
- Mengeluarkan konten HTTP mentah.
- Mengobrol sebentar dalam satu jaringan.
Secara umum, berkat berbagai fungsi yang dimilikinya, Netcat dapat menggantikan sejumlah utilitas Unix; dengan demikian, alat ini dapat dianggap sebagai utilitas serbaguna untuk menjalankan tugas-tugas tertentu pada sistem FreeBSD.
Artikel ini akan menunjukkan cara menyimulasikan klien menggunakan alat yang bermanfaat bernama Netcat serta membangun koneksi langsung melalui terminal komputer Anda sendiri.
Meskipun Netcat memiliki banyak fitur dan kemampuan, tujuan utama serta fungsi-fungsi yang paling sering digunakan adalah:
- Buat soket awal untuk membuat koneksi dari server ke klien.
- Setelah terhubung, Netcat akan secara otomatis membuat soket kedua untuk mengirim file dari server ke klien dan sebaliknya. (Ini bagian yang sangat keren.)
1. Install Netcat
Proses instalasi Netcat hampir sama dengan aplikasi lain seperti Socat, bahkan proses instalasi Netcat pada FreeBSD sangatlah mudah. ??Netcat tidak memiliki file konfigurasi seperti Unbound, Apache Nginx dan lain-lain.
Untuk memulai instalasi Netcat, Anda dapat menggunakan sistem port pada FreeBSD. Jalankan perintah berikut untuk memulai proses instalasi.
root@ns3:~ # cd /usr/ports/net/netcat
root@ns3:/usr/ports/net/netcat # make config
root@ns3:/usr/ports/net/netcat # make install clean
Jika Anda ingin menginstal Netcat dengan paket PKG, gunakan perintah di bawah ini.
root@ns3:~ # pkg install netcat-1.10_3
Netcat memiliki banyak varian yang ditulis oleh penulis yang berbeda. Versi aslinya disebut netcat (nc). Netcat dengan cepat mendapatkan pengakuan, tetapi pada suatu saat penulisnya berhenti mengembangkannya.
Namun, Netcat tetap populer dan banyak orang menggunakannya, mendorong penulis lain untuk menulis ulang Netcat. Banyak pengembang yang menulis ulang Netcat, terkadang Netcat ditulis ulang secara berbeda dari versi awal, ada juga yang menulis ulang persis sama dengan aslinya. Versi terakhir Netcat dirilis pada bulan Januari 2007, versinya adalah 1.10.
2. Contoh Praktis Penggunaan Netcat
Perintah Netcat hampir sama pada semua sistem operasi. Di bawah ini kami berikan contoh dasar tentang cara menggunakan Netcat pada FreeBSD.
a. Check TCP/UDP ports
root@ns3:~ # nc -vn 192.168.5.2 22
Connection to 192.168.5.2 22 port [tcp/*] succeeded!
SSH-2.0-OpenSSH_9.3 FreeBSD-20230316
root@ns3:~ # nc -vn 192.168.5.2 80
Connection to 192.168.5.2 80 port [tcp/*] succeeded!
root@ns3:~ # nc -vn 192.168.5.2 53
nc: connect to 192.168.5.2 port 53 (tcp) failed: Connection refused
Pada contoh skrip di atas, Netcat dapat terhubung ke server Apache dan SSH, sedangkan untuk server Unbound pada port 53, Netcat tidak dapat terhubung.
b. Memindai port TCP/UDP
root@ns3:~ # nc -vnz 192.168.5.2 22
Connection to 192.168.5.2 22 port [tcp/*] succeeded!
root@ns3:~ # nc -vnz 192.168.5.2 80
Connection to 192.168.5.2 80 port [tcp/*] succeeded!
root@ns3:~ # nc -vnz 192.168.5.2 443
nc: connect to 192.168.5.2 port 443 (tcp) failed: Connection refused
root@ns3:~ # nc -vnz 192.168.5.2 3306
nc: connect to 192.168.5.2 port 3306 (tcp) failed: Connection refused
root@ns3:~ # nc -vnz 127.0.0.1 3306
Connection to 127.0.0.1 3306 port [tcp/*] succeeded!
c. Mengirim paket UDP
Ini dapat berguna saat berinteraksi dengan perangkat jaringan.
root@ns3:~ # echo -n "FreeBSD The Power To Serve" | nc -u -w1 192.168.5.2 161
d. Menerima data pada port UDP dan mengeluarkan data yang diterima
root@ns3:~ # nc -u localhost 7777
root@ns3:~ # nc -u 192.168.5.2 7777
e. Obrolan antar node
root@ns3:~ # nc 192.168.5.3 9000
root@ns3:~ # nc 192.168.5.13 22
root@ns3:~ # nc 192.168.5.5 80
Setelah menjalankan perintah, semua karakter yang dimasukkan ke jendela terminal di node mana pun akan muncul di jendela terminal di node lainnya.
f. Ping Port
root@ns3:~ # nc -zv google.com 443
Connection to google.com 443 port [tcp/https] succeeded!
root@ns3:~ # nc -zv unixwinbsd.site 443
Connection to unixwinbsd.site 443 port [tcp/https] succeeded!
g. Menyalin file
Salah satu fitur utama Netcat yang sering digunakan adalah menyalin berkas. Bahkan sejumlah besar data dapat dikirim dan partisi individual atau seluruh hard drive dapat dikloning. Dalam contoh ini, kita akan membuat berkas "testfile.txt" di komputer klien (A) dan akan menyalinnya ke komputer server (B).
Komputer A (klien), akan mengirim berkas "testfile.txt" ke komputer B (server).
nc [IP address of computer B/192.168.5.1] 6790 < testfile.txt
root@ns3:/tmp # nc 192.168.5.1 6790 < testfile.txt
Komputer B (bertindak sebagai server penerima).
root@ns3:/tmp # nc -l -p 6790 > testfile.txt
h. Mengkloning Hard Drive dan Partisi
Dalam contoh ini, kita akan menggunakan perintah Netcat untuk mengkloning hard drive/partisi melalui jaringan. Dalam contoh ini, saya ingin mengkloning /dev/sda dari server1 ke server2. Tentu saja partisi yang akan dikloning harus dilepas dari sistem target, jadi jika Anda ingin mengkloning partisi sistem, Anda harus mem-boot sistem target (server2) dari sistem cadangan atau Live-CD seperti Knoppix.
Komputer A (klien).
root@ns3:~ # dd if=/dev/sda | nc 192.168.5.1 1234
Komputer B (server).
root@ns3:~ # nc -l -p 1234 | dd of=/dev/sda
Setelah mengikuti contoh-contoh dalam artikel ini, Anda akan mengetahui cara menggunakan perintah nc di FreeBSD. Netcat adalah alat yang ampuh bagi administrator jaringan dan fungsinya dapat membantu mempermudah pekerjaan.
