Munscheidstr. 14 in 45886 Gelsenkirchen

Jetzt anrufen 0209 - 8830 6760

Netcat – Daten über Netzwerkverbindung transportieren

M.Sc. Jan Hörnemann

Netcat ist ein Programm mit dem diverse Standardein- oder -ausgaben über eine Netzwerkverbindung transportiert werden kann. Neben diesem Transport kann Netcat auch bspw. einfach HTTP-Befehle selber stellen. Bei der Bewältigung von CTF Challenges wird diese praktische Software häufig benötigt


Jetzt unser Whitepaper zur Active Directory Härtung kostenfrei herunterladen!

Das Active Directory ist die Achillesferse der IT-Infrastruktur.
Wir geben Ihnen 7 Hinweise, Empfehlungen sowie Tipps zur Härtung des Systems.


Installation von Netcat

Netcat ist ein häufig verwendetes Tool, daher ist es sowohl in jeder Ubuntu-Linux Version, MacOS sowie Kali Linux Distribution vorinstalliert. Unter Windows ist die Installation etwas schwieriger, da Netcat ein Kommandozeilen-Tool ist und diese unter Windows nicht sehr häufig vorzufinden sind. Ein Möglichkeit der Installation kann unter packtpub.com nachgeschlagen werden. Wir empfehlen jedoch für die Verwendung jeglicher Pentest-Tools ein UNIX-Betriebssystem zu verwenden.

Um ein UNIX-Betriebssystem zu verwenden, ohne dafür einen neuen Laptop oder Computer zu kaufen empfiehlt sich die Verwendung einer virtuellen Maschine. Mit einer virtuellen Maschine können Sie mehrere Systeme gleichzeitig und getrennt voneinander auf der selben Hardware benutzen. Ein Penetrationstest ist ein gutes Anwendungsbeispiel für die Verwendung einer virtuellen Maschine. Wenn Sie unser Pentest-Tool Netcat selbst einmal ausprobieren möchten eignet sich der Aufbau eines Hacking Labs.


Erkennen Sie zuverlässig Phishing E-Mails?

Jetzt das AWARE7 Phishing Quiz absolvieren
und das eigene Wissen überprüfen!



Laden Sie jetzt unsere kostenfreie Penetrationstest Checkliste herunter

 

7 Schritte zum umfangreichen Aufbau und Ablauf eines Penetrationstests.

Kostenfrei. Jetzt anfordern


Netcat – so einfach funktioniert die Software!

Netcat oder häufig mit nc bezeichnet hat viele Funktionen die ein Pentester benötigt. Zunächst beschreiben wir den häufigsten Anwendungsfall und zwar den Transport von Standardein- und ausgaben über eine Netzwerkverbindung.

Netcat Showbild
Dieses Diagramm von Wikipedia zeigt deutlich, wie ein Netcat (nc) Prozess Daten von zwei unterschiedlichen Systemen transportieren kann. (Quelle: Wikipedia)

In der Praxis wird durch einen Netcat Prozess häufig versucht eine Reverse-Shell zu erzeugen. Dadurch kann ein möglicher Angreifer auf Host1 Befehle über nc an Host2 schicken und diese dort zur Ausführung bringen. Durch den nc Prozess erhalten wir die Ausgabe, die der Befehl auf dem Zielsystem Host2 erzeugt.

netcat -l 8888                       -> Dieser Befehl erzeugt einen Server, der nun auf eine eingehende Verbindung auf dem Port 8888 wartet. Das Gegenstück ist der Client:

netcat 123.456.789 8888   -> Dieser Befehl versucht eine Verbindung zu der IP-Adresse 123.456.789 auf Port 8888 zu erstellen.

Ist solch eine Verbindung möglich, kann der Angreifer eigenen Code auf einem entfernten System zur Ausführung bringen. Dies ist eine äußerst kritische Sicherheitslücke, daher wird das Vorhandensein solch einer Lücke in jedem Pentest analysiert. Neben der Möglichkeit die oben dargestellte Verbindung zu erzeugen, kann Netcat auch verwendet werden um komplette Dateien über das TCP oder UDP Protokoll zu schicken. Netcat ist ein vielseitiges Tool und liefert mit dem Befehl: netcat -h folgenden Hilfetext, der sämtliche Befehle beschreibt:

netcat -h

Da wir nicht sämtliche Funktionen der Software in diesem Beitrag besprechen und zeigen können, gehen wir im folgenden auf Funktion ein, die in dem oben dargestellten Diagramm gezeichnet ist. Wir befinden uns im Terminal und erstellen mit dem Befehl: nc -l 1234 einen Netcat Prozess der auf eine eingehende Verbindung auf Port 1234 wartet. Genau diesen Netcat Prozess sprechen wir nun an, indem wir in einem Browser http://127.0.0.1:1234 eingeben. Im folgenden erkennen wir eine Ausgabe die viele Informationen über den Kommunikationspartner liefert.

nc-Verbindung

Mit Netcat können Befehle auf entfernten Systemen zur Ausführung gebracht werden. Um dies zu testen benötigt man entweder unterschiedliche Systeme oder man übt seine Pentest-Skills an verschiedenen Stellen. Ein gutes Beispiel ist hackthebox. Diese Seite stellt kostenlos einige Systeme zur Verfügung die man „hacken“ muss um an ein Flag zu kommen. In verschiedenen Walkthroughs ist beschrieben wie Netcat eingesetzt wird um bspw. Dateien von dem entfernten System auf das eigene herunterzuladen.


Hat Ihnen der Beitrag gefallen? Gerne benachrichtigen wir Sie, wenn wir einen neuen Beitrag veröffentlicht haben. Tragen Sie jetzt Ihre E-Mail-Adresse ein. Für Sie entstehen keine Kosten.


Foto des Autors

M.Sc. Jan Hörnemann

Hallo liebe/r Leser/in, mein Name ist Jan Hörnemann. Ich bin TeleTrust Information Security Professional (T.I.S.P.) und beschäftigte mich seit 2016 nahezu tagtäglich mit Themen rund um die Informationssicherheit. Der CeHv10 war meine erste praktische Zertifizierung in dem Bereich. Durch den Abschluss Master of Science in dem Fachbereich Internet-Sicherheit habe ich viele verschiedene Aspekte kennengelernt und versuche diese sowohl in Live Hacking Shows als auch in unserem Blog zu vermitteln. Darüber hinaus bin ich als Informationssicherheitsbeauftragter tätig und vom TÜV für diese Tätigkeit qualifiziert worden (ISB nach ISO 27001)