Comment vérifier la connexion sur les serveurs Linux avec Rustcat

Lorsque nous voulons vérifier la connexion entre un Linux/Unix serveur et plusieurs clients, le plus simple est d'utiliser le populaire outil Netcat pour vérifier si la communication a été correctement établie. Ce programme est largement utilisé pour vérifier si les pare-feu et au niveau du réseau peuvent atteindre notre destination, cependant, il existe une alternative très simple à utiliser et beaucoup plus intuitive appelée Rustcat. Si vous voulez une alternative au populaire Netcat, alors Rustcat est ce que vous recherchez. Aujourd'hui, dans cet article, nous allons vous expliquer comment l'installer et l'utiliser sur vos ordinateurs pour vérifier les connexions.

vérifier la connexion sur les serveurs Linux avec Rustcat

Main features

Rustcat est un programme qui nous permet d'ouvrir un socket sur notre ordinateur, afin d'accepter les connexions entrantes et de pouvoir vérifier s'il y a une communication avec un autre ordinateur qui fait office de client. Cela peut être fait à plusieurs fins, par exemple, pour vérifier si tout est correct au niveau du réseau, si la table de routage configurée est correcte, et même si nous avons un pare-feu autoriser ou refuser les différentes connexions TCP et UDP à notre appareil. Avoir un outil comme Netcat ou Rustcat lorsque nous allons configurer un serveur est essentiel, grâce à cet outil, nous pouvons vérifier s'il existe une connectivité point à point, simplement en ouvrant un certain port sur le pare-feu.

Si on n'avait pas d'outils comme Netcat ou Rustcat, il faudrait écouter un serveur web ou FTP sur différents ports pour vérifier s'ils s'ouvrent correctement et écoutent, cependant, avec ces serveurs il faudrait modifier le fichier de configuration, essayez avec un client Web ou un client FTP et vérifiez plus tard si la connexion est réussie ou non. Des programmes comme Rustcat facilitent grandement cette tâche de vérifier si un certain port est ouvert ou fermé, simplement en exécutant une commande sur le serveur qui écoute sur un certain protocole TCP ou UDP, et une autre commande sur le ou les clients qui vont se connecter , pour vérifier s'il existe une communication point à point.

Cet outil Rustcat possède des fonctionnalités très intéressantes, telles qu'un historique complet des commandes exécutées, il est très facile à utiliser, plus que le populaire Netcat que nous connaissons tous, en plus, il supporte également le protocole UDP (en plus de supporter TCP) et est capable d'utiliser des couleurs afin de le rendre vraiment intuitif visuellement à comprendre. Ce programme est compatible avec toutes les distributions Linux, telles que Debian, Ubuntu et Arch Linux parmi beaucoup d'autres. Cependant, si votre système d'exploitation n'est pas compatible, vous pourrez toujours télécharger le code source et le compiler directement sur votre ordinateur, de cette façon, cela devrait fonctionner pour vous sans aucun problème. Enfin, ce programme vous permet de construire un reverse shell, de cette manière, nous pouvons exécuter à distance des commandes sur la machine qui se connecte à notre serveur.

Installation et mise en service

Dans notre cas, nous avons utilisé un système d'exploitation basé sur la dernière version de Debian pour le téléchargement et l'installation de ce programme, par conséquent, d'autres distributions basées sur Debian telles que Ubuntu ou Kali Linux parmi tant d'autres, fonctionneront parfaitement et sans problème. La première chose que nous devons faire est de télécharger le fichier .deb dans notre système d'exploitation comme suit :

wget https://github.com/robiot/rustcat/releases/latest/download/rustcat_amd64.deb

Comme vous pouvez le voir, ce programme a été téléchargé directement depuis GitHub, pour télécharger la dernière version disponible du programme qui est la v1.0.1 comme vous le verrez plus tard.

Une fois téléchargé, nous devrons l'installer en exécutant la commande suivante :

sudo apt install ./rustcat_amd64.deb

Nous pourrions également l'installer à l'aide de la commande populaire dpkg, mais nous pensons que faire une « installation apt » est plus facile car elle est largement utilisée par tous les administrateurs système pour installer des programmes à partir de référentiels.

Une fois qu'il est installé, nous pouvons commencer à travailler avec, en exécutant la commande "rc" suivie des différentes commandes, pour vérifier qu'il fonctionne correctement, vous pouvez exécuter l'aide du programme avec la commande suivante :

rc --help

Une fois que nous l'avons exécuté, nous verrons tous les ordres disponibles :

Une fois que nous aurons vérifié que l'installation a réussi, nous verrons toutes les options de configuration dont nous disposons.

Comment fonctionne Rustcat

Le fonctionnement de Ruscat est très simple, il suffit d'exécuter la commande « rc » suivie des différentes options et paramètres, précisément, la syntaxe que nous devons suivre est la suivante : rc [options] [destination] [port] . En ce qui concerne les options disponibles, nous avons les suivantes :

  • -ho –help affichera l'aide avec la liste des options disponibles
  • -vo –version affichera la version du programme, dans notre cas, la dernière version est Rustcat v1.0.1.
  • -H ou -history affichera tout l'historique TCP
  • -l activera le mode d'écoute pour le serveur
  • -p vous permet de sélectionner le port
  • -u permet de configurer le mode UDP au lieu du protocole TCP
  • -r activer le mode shell inversé

Une fois que nous aurons vu la syntaxe et toutes les options disponibles, nous allons vous donner quelques exemples de base et d'autres plus avancés.

Si nous voulons exécuter Rustcat sur notre ordinateur (localhost) et sur le port 33333 avec TDP, nous pouvons le faire comme suit :

rc -l -p 33333

On pourrait aussi le mettre de la manière suivante :

rc -lp 33333

Si nous voulons exécuter Rustcat sur notre ordinateur (localhost) et sur le port 33333 avec UDP, nous pouvons le faire comme suit :

rc -l -p -u 33333

On pourrait aussi le mettre de la manière suivante :

rc -lpu 33333

Si nous voulons exécuter Rustcat sur notre ordinateur (localhost) et sur le port 33333 avec TDP, mais que nous avons un historique des commandes exécutées, nous pouvons le faire comme suit :

rc -l -H -p 33333

On pourrait aussi le mettre de la manière suivante :

rc -lHp 33333

Si on veut écouter sur une adresse IP précise et pas sur toutes (0.0.0.0 signifie toutes les interfaces), il faut l'indiquer comme ceci :

rc -l 192.168.1.2 33333

Comme vous pouvez le voir, grâce au reverse shell, nous pouvons exécuter différentes commandes dans bash facilement et rapidement. Rustcat est une alternative très intéressante au populaire Netcat, bien qu'il ne soit pas installé par défaut. Grâce à cet outil très intéressant, nous pourrons vérifier si notre pare-feu filtre les communications depuis l'intérieur du réseau local ou depuis l'extérieur, afin de tester différents ports et voir si TCP et UDP sont ouverts ou fermés.

Nous vous recommandons de visiter le Projet Rustcat sur GitHub où vous trouverez le code source et tous les détails sur cet excellent outil gratuit pour nos serveurs Linux.