Intro

HighGames ist eine große Datenbank mit Informationen zu PC-Spielen und Hardware. Helfen Sie mit, und senden Sie Ihre eigenen Erfahrungen.

Weitere Informationen

Viel Spaß beim Lesen!

Hardware-View: Netcat und Cryptcat

Netcat und Cryptcat

Titel: Netcat und Cryptcat
Thema: Allzwecknetzwerktools
Zielgruppe: Profis
Artikelversion: 1.42
Zurück

Hinweis: Für die Korrektheit oder Aktualität der Informationen kann nicht garantiert werden. Der Autor übernimmt daher keine Haftung für Schäden, die durch Nutzung der Informationen entstanden sind.

In diesem Artikel werden wir das wohl beliebteste und zugleich erfolgreichste Allzweck-Netzwerktool Netcat vorstellen. Netcat macht im Prinzip nichts Besonderes, es baut lediglich Hardware-Glossar: TCP-Verbindungen auf, oder sendet Daten im Hardware-Glossar: UDP-Modus. Allerdings erhalten wir hierdurch zahlreiche Anwendungs- und Handlungsebenen, da wir die Daten noch im Rohzustand einsehen können. In Verbindung mit einem ausgefeiltem Shellscript oder Programm, das auf die Ausgabe von Netcat reagieren kann, wird es zu einer nicht zu unterschätzenden Waffe.


� Download

Netcat ist für Linux- und Windows-Benutzer in (erstaunlicherweise) gleicher Qualität auf vielen Seiten zu finden. Die Linuxversion muss jedoch erst kompiliert werden, wohingegen die Windowsversion direkt mit der ausführbaren nc.exe ausgeliefert wird.

Offizielle Projekt-Seiten:
Linux: http://netcat.sourceforge.net
Windows: http://www.vulnwatch.org/netcat

Wenn Sie die Linuxversion verwenden, werden Sie vorerst das Hardware-Glossar: Paket entpacken und anschließend die Dateien kompilieren müssen. Ihnen stehen hierbei zwei, für die Funktionalität sehr wichtige, Kompilier-Optionen zur Verfügung:

GAPING_SECURITY_HOLE
Bei Aktivierung kann Netcat ein externes Programm starten und steuern. Dies macht Netcat auch sehr gefährlich.

TELNET
Wenn Sie Netcat auch für Hardware-Glossar: Telnet-Verbindungen verwenden möchten, müssen Sie zuerst diese Option aktivieren.

Die Beschreibung des kompletten Kompiliervorgangs würde den Rahmen dieses Artikels sprengen, daher informieren Sie sich bitte an einer dafür vorgesehenen Quelle, wie z.B. die Homepage des Autors, welche weiter oben angegeben ist.

Die Windowsversion wird bereits mit allen Optionen ausgeliefert.


Die Befehlszeile

nc [Optionen] host ports

„nc“ steht hier für den Programmnamen.

[Optionen]: Hier werden die Flags gesetzt, welche unten beschrieben werden.

host: Den zu scannenden Hostnamen oder die Hardware-Glossar: IP-Adresse

ports: Ein bis mehrere Hardware-Glossar: Ports werden hier, durch jeweils ein Leerzeichen getrennt, angegeben. Alternativ kann auch ein kompletter Portbereich in folgender Form angegeben werden: „port1, port2“, wobei port1 natürlich kleiner als port2 sein muss.


Optionen (Flags)

-d
Nur in Windows verfügbar: Schaltet Netcat in den Stealth-Modus (demonized), und ermöglicht es Netcat so, sich von der aufrufenden Shell zu trennen, und im Hintergrund weiter zu laufen.

-e Befehl
Für diesen Befehl wird die GAPING_SECURITY_HOLE Option benötigt:
Baut jemand eine Verbindung zum Netcat-Listener auf, führt dieser den angegebenen Befehl aus, und leitet die Ausgabe zum Client (execute).

-i Sekunden
Zwischen allen Datenübertragungen wird Netcat Sekunden lang warten.

-g Route-List
Das Source-Routing ermöglicht dem Benutzer, Netcat alle in der Route-List angegebenen IP-Adressen in den IP-Header einzufügen, wodurch die Daten durch jede einzelne dieser Adressen durchgeleitet werden. Allerdings verhindert jeder moderne Hardware-Glossar: Router das Source-Routing in den Grundeinstellungen.

-G Hop-Pointer
Wenn Sie das Source-Routing verwenden, können Sie mit dem Hop-Pointer die erste IP-Adresse angeben, welche Netcat anpeilen soll. Da jede IP-Adresse aus 4 Bytes besteht, steht eine 4 also für die erste Adresse, die 8 für die zweite usw.

-l
Versetzt Netcat in den Abhör-Modus (Listener). Setzt das -p-Flag voraus, welches den Port angibt. Der Abhörmodus wird jedoch nach der ersten Verbindung beendet. Die Windowsversion von Netcat bietet zusätzlich das -L-Flag an, welches dieses Problem behebt, und Netcat ununterbrochen abhören lässt. Linuxbenutzer müssen eine Endlosschleife in einem Skript o.ä. schreiben, um die gleiche Funktion zu erhalten.

-n
Netcat wandelt IP-Adressen nicht in Hostnamen um.

-o Hexfile
Protokolliert den Datenverkehr und speichert dies in Hexfile.

-p Port
Weist Netcat an, einen bestimmten (lokalen) Port abzuhören.

-r
Vorausgesetzt, es wurden mehrere Ports angegeben, wird Netcat einen zufälligen aus diesen wählen.

-s IP-Adresse
Zwingt Netcat, eine bestimmte Quell-IP-Adresse zu verwenden, welche nach -s angegeben wird.

-t
Schaltet Netcat in den Telnet-Modus

-u
Schaltet Netcat in den UDP-Modus

-v
Bestimmt die Menge der Informationen, die Netcat ausgeben soll. Ein -v gibt die Adressen an, mit denen sich Netcat verbindet. Zwei -v gibt die übertragene Datenmenge am Ende der Verbindung aus.

-z
Schaltet Netcat in den Zero-Modus. Diese Option weist Netcat an, nur so viele Daten zu übertragen, bis Sie erfahren können, welche Ports aktiv sind. Allerdings benötigen Sie die Option -v, um eine Ausgabe zu erhalten.


Ein Anwendungsbeispiel für Netcat

Netcat kann beispielsweise verwendet werden, wenn man von einem beliebigen Ort auf eine Shell des Zielrechners zugreifen möchte. Netcat muss hierzu auf dem Zielrechner installiert sein.

Unter Windows geben Sie folgendes ein:
# nc -L -p 1234 -e cmd.exe

Und unter Linux:
# nc -l -p 1234 -e /bin/sh

Bei dem Linuxbefehl führt „/bin/sh“ in unserem Fall zur Shell. Sofern dies bei Ihnen nicht zutrifft, müssen Sie diesen Befehlsabschnitt abändern, sodass Ihre Eingabeforderung geöffnet wird.

Achten Sie darauf, dass die Hardware-Glossar: Firewall ggf. darauf eingestellt ist.

Verbinden Sie sich nun über Telnet mit dem Zielrechner:
# telnet ip-adresse 1234

Wenn alles wie geplant verläuft, haben Sie nun einen „vollwertigen“ Zugriff auf das Zielsystem. Es gibt noch viele weitere Anwendungszwecke für Netcat. Für weitere Informationen sehen Sie sich auf der Homepage des Autors um.


Cryptcat

Cryptcat ist nichts anderes, als Netcat mit Verschlüsselung. Diese ist eine erweiterte Version der „Twofish“-Verschlüsselung. Natürlich hat Cryptcat keinen Sinn, wenn Sie Portscans oder anderweitige Kommunikationen mit Diensten durchführen möchten, da die Zielseite die Daten vermutlich nicht entschlüsseln kann, d.h., dass beide Seiten über Cryptcat (bzw. die Verschlüsselung von Cryptcat) verfügen müssen. Die Befehle von Cryptcat sind identisch mit denen von Netcat.

Download: http://sourceforge.net/projects/cryptcat

Autor: Stefano Albrecht
Datum: 18.04.2005