Netcat

aus HaBo WiKi, der freien Wissensdatenbank von http://www.hackerboard.de
Wechseln zu: Navigation, Suche
Die folgenden Inhalte wurden zusammengefasst, um Admins das Leben zu erleichtern und Leuten, die dieses Thema noch nicht kennen den Einstieg zu erleichtern. Es soll hier keine Anleitung für illegale Zwecke enstehen(!) und Hackerboard übernimmt keinerlei Haftung für irgendwelche Schäden, die auftreten, wenn diese Informationen derartig verwendet werden.

Netcat, kurz nc, ist ein Ein-/Ausgabe-Programm für Netzwerke.

Inhaltsverzeichnis

Warum Netcat?

  • Im Gegensatz zu Telnet bricht Netcat nicht einfach die Verbindung ab
  • Es können auch binäre Daten übertragen werden, die unter Telnet evtl. als Kommandos interpretiert werden könnten

Flags

Ich werde mich jetzt daran machen verschiedene Anwendungsbeispiele, die ich gefunden habe, auszuprobieren.

Erstmal ein paar flags (für mehr "man nc"):

-c string -> führt "string" nach Verbindung aus
-e file -> führt "file" nach Verbindung aus
-h -> Zeigt eine Zusammenfassung an nutzbaren Flags
-l -> Listen mode für eingehende Verbindungen
-o file -> Legt einen Hex-Dump der TCP Verbindung unter "file" an
-p port -> Bestimmt einen Port für die Verbindung
-v -> Verbose Mode, gibt mehr Information über gerade ablaufende Aktionen aus
-vv -> gibt noch mehr Informationen aus

Anwendungsbeispiele

Portscan

Als erstes wird in der Readme ein Portscan besprochen

echo QUIT | nc -v -w 5 target 20-250 500-600 5990-7000

Den Vorgang kann man sich folgendermaßen vorstellen. Der String "QUIT" wird über nc an die Zieladresse "target" gesendet und zwar an die Ports 20-250, 500-600, 5990-7000. Durch den String "QUIT" wird den Diensten an dem Rechner "target" mitgeteilt das eine Verbindung beendet wird. Wenn man auf einem Port also eine Antwort erhält ist davon auszugehen das dort ein Dienst läuft, und u.U. kann man auch eine Fehlermeldung mit Versionsangabe o.ä. erhalten.

Filetransfer

Als nächstes wird in der Readme die Möglichkeit von Filetransfers per Netcat besprochen. Die Datei wird einfach über die Standardausgabe an Netcat übergeben und Netcat sendet die Daten über die festgelegte TCP/IP Verbindung. Wenn jetzt z.B. ein ganzes Verzeichniss übertragen werde soll, sieht der Sender (Client) so aus:

tar cfp - /some/dir | compress -c | nc -w 3 othermachine 1234

Erst wird der Verzeichnissinhalt komprimiert und über die Standardausgabe an Netcat übergeben. Netcat sendet den Inhalt an "othermachine" auf port 1234 und wartet 3 Sekunden (-w 3).

Der Empfänger (Server) könnte wie folgt aussehen:

nc -l -p 1234 | uncompress -c | tar xvfp -

Alles was über Netcat reinkommt wird wieder entpackt und das Ganze Verzeichniss wurde übertragen. Nützlich vor allem wenn keine andere Möglichkeit zur Dateiübertragung vorhanden ist.

Netzwerktraffic generieren

Um ein Netzwerk aus Testgründen mit Traffic zu belasten, kann Datenmüll über netcat hin und her geschickt werden. Der Datenmüll wird mit "yes" generiert und mit einer pipe an netcat übergeben:

yes AAAAAAAAAAAAAAAAAAAAAA | nc -v -v -l -p 2222 > /dev/null (Server)
yes BBBBBBBBBBBBBBBBBBBBBB | nc othermachine 2222 > /dev/null (Client)

Die "very verbose" (-v -v) Flag bei der Serveranweisung sorgt dafür, dass am Ende Ausgegeben wird wieviel Traffic empfangen und gesendet wurde.

Remote Shell

Wenn in einem Netzwerk an einem entfernten Server gearbeitet werden muss auf dem sich kein SSH Server befindet und die Installation gerade zu umständlich ist kann mit Netcat eine Remote Shell gezaubert werden:

nc -v -v -l -p 2222 -c /bin/bash (Server)
nc host 2222 (Client)

Durch die Flag -c wird nach einer eingehenden Verbindung /bin/bash ausgeführt und alle ein und ausgaben von ihr werden über Netcat zum jeweiligen Ende gesendet. Da dies eine sehr unsichere Lösung ist sollte so etwas auf keinen Fall auf von außen erreichbaren Rechnern geschehen

Risiken

Da Netcat auch für nicht legale Zwecke genutzt werden kann und es unter Windows nicht zum Installationsumfang gehört, wird es von vielen Virenscannern als gefährlich eingestuft. Wenn es auf einem Windows System gefunden wird auf dem es nicht mit Absicht installiert wurde, sollte geprüft werden ob es vielleicht für ungewollte Zugriffe auf den Rechner missbraucht wird.

Weblinks

Computer Forum
Computer Forum
Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge