Auteur Sujet: Les tutos de ZeR0 - Rinetd  (Lu 1579 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne ZeR0-@bSoLu

  • Administrateur
  • Membre Elite
  • *****
  • Messages: 3275
  • +193/-5
  • Pentest - Arch - Python - Kali
    • Kali-fr
Les tutos de ZeR0 - Rinetd
« le: 16 oct. 2021 à 21:23:08 »


Bonsoir à tous, et bienvenue sur ce nouveau tuto de ZeR0 !

Aujourd'hui je vais vous présenter un petit outil très pratique pour faire du port forwarding (redirection de ports), il s'agit de Rinetd !




I) Rinetd quoi que c'est ?

Pour expliquer ce qu'est exactement Rinetd je vais reprendre la définition disponible sur leurs site et la traduire :

Citer
Rinetd permet de rediriger une connection TCP depuis une adresse IP et un port spécifié , vers une autre adresse et un autre port. Rinetd est un serveur mono-processus qui est capable de gérer n'importe quel montant de connections sur une paire d'adresse/port...  Vu que Rinetd ne tourne que sur un seul processus en utilisant des entrées/sorties non bloquante, il est capable de rediriger de nombreuses connections sans impacter grandement les performances de la machine... Rinetd ne redirige pas le protocol FTP car FTP requiert plusieurs sockets

Même si Rinetd ne nous permettra pas de rediriger FTP... il permet de rediriger tout un tas de choses !

II) Comment configurer Rinetd

Pour installer Rinetd rien de plus simple :

apt install rinetd
Il ne reste plus qu'à le configurer.

La configuration de Rinetd est très simple, il suffit d'éditer le fichier /etc/rinetd.conf, le fichier se présente comme suit :



On observera tout particulièrement ces lignes :



C'est ici que nous allons déclarer nos redirections, comme indiqué dans le ficher de configuration le format sera le suivant :

adresse_locale port_local adresse_distante port_distant
Par exemple, si je souhaite rediriger le port 80 de la machine distante 192.168.0.2 vers le port 5555 de ma propre machine (192.168.0.1) il suffit de remplir le fichier comme suit :



Une des fonctionnalités de Rinetd permet également de rediriger un port vers n'importe quelle adresse/interface de la machine sur laquelle vous l'avez lancé, pour ce faire il suffit de spécifier l'adresse '0.0.0.0' dans le fichier de configuration :



Une autre fonctionnalité pratique est la possibilité de définir des services plutôt que de renseigner directement le port dans le fichier de configuration.
Les services sont listés dans le fichier /etc/services, pour l'exemple je vais utiliser le service 'www' qui tourne sur le port 80 bien entendu.



Ainsi si l'on reprend notre fichier de configuration comme précédement vu, on peut remplacer les valeurs des ports (80 ici) par la valeur du service directement :




III) Filter c'est la santé

Comme Rinetd est un bon outil, il nous permet également de filtrer l'accès aux règles que l'on a écrit dans le fichier de configuration !
Les règles de filtrage qui seront déclarées avant la première règle de redirection seront appliquées globalement.
Les règles de filtrage apparaissant après une règle de redirection, seront appliquées uniquement à la dite règle de redirection.

Prenons un exemple en utilisant la règle de filtrage que nous avons écrite dans la section précédente, si je souhaite interdire l'accès à toutes les règles à l'adresse 192.168.0.3 voici comment on procède :



Il est également possible d'autoriser une adresse en particulier, pour ce faire nous procédons comme suit :



Si nous voulons interdire l'accès à la machine 192.168.0.3 à une règle de redirection en particulier cela donnera donc :



Admettons que nous voulions désormais empêcher toutes les adresses allant de 192.168.0.1 à 192.168.0.254 d'accéder aux règles nous pouvons utiliser un wildcard comme suit :




IV) Des traces, ou pas de traces ?

Une des dernières choses qu'il nous reste à configurer sont les logs, par défaut Rinetd utilise le fichier '/var/log/rinetd.log' mais il est possible de spécifier le fichier que l'on souhaite, pour ce faire il suffit d'éditer le fichier de configuration comme suit :



En remplaçant par le chemin souhaité :



Si vous souhaitez retirer la fonctionnalité de logger à Rinetd , il suffit de retirer la ligne suivante du fichier de configuration :

logfile <path>
Une dernière fonctionnalité disponible avec Rinetd est le choix du format des logs, si vous souhaitez avoir des logs avec un format un peu plus "classique" et pouvant être réutilisé plus facilement avec d'autres logiciels, il suffit d'ajouter le ligne suivante au fichier de configuration :

logcommon



V) Show time

Nous avons maintenant fini avec les configuration pffffiou il ne reste plus qu'a lancer Rinetd ! Regardons un peu les options du programme :



Les options du programme sont assez simple et parlent d'elles même :

-c ou --conf-file FILE  permet de spécifier le chemin vers un fichier de configuration que Rinetd va utiliser
-f ou --foreground      permet de lancer Rinetd en enlevant l'execution en tâche de fond
-h ou --help            permet d'afficher le menu d'aide
-v ou --version         permet d'afficher la version de Rinetd


Sachez également que si vous lancez le programme sans aucun argument, Rinetd se lancera en tâche de fond et ira lire le fichier de configuration /etc/rinetd.conf par défaut.

Si vous avez suivis ce tuto en éditant comme moi le fichier /etc/rinetd.conf il vous suffit donc d'utiliser simplement :

rinetd
Sous kali Rinetd peut se lancer sans aucune configuration préalable en tant que service :

service rinetd start
Vous pourrez ainsi controler le statut du service à tout moment :

service rinetd status
Un exemple chez moi avec le service arrêté :




VI) Astuce

Une petite astuce qui est bien pratique avec Rinetd est l'utilisation du signal SIGHUP sur Rinetd lui même, cela aura pour effet de recharger le fichier de configuration sans pour autant couper les connections existantes. Pour ce faire il suffit simplement d'utiliser la commande suivante :

kill -1 <PID>
Ou bien alors :

kill -1 $(pidof rinetd)

VII) Conclusion

Nous voilà déjà à la fin de notre tuto ! Rapide n'es-ce pas ?! Rinetd est très rapide d'utilisation aussi ! Et très léger, ce qui en fait un bon outil à garder sous la main en cas de besoin.

Souvenez vous que vous connecter à une machine dont vous n'avez pas reçu l'autorisation pour, est puni par la loi.

J'espère que ce petit tuto vous servira !

Merci à tous et à bientôt pour un prochain tuto !

ZeR0-@bSoLu
« Modifié: 16 oct. 2021 à 21:32:03 par ZeR0-@bSoLu »
Mess  with the bests.
Die like the rest.

Hors ligne coyotus

  • Contributeur de Kali-linux.fr
  • Membre Elite
  • *****
  • Messages: 3781
  • +270/-30
  • IN GNU WE TRUST
    • Groupe d'Utilisateurs de GNU/Linux...
Re : Les tutos de ZeR0 - Rinetd
« Réponse #1 le: 18 oct. 2021 à 07:27:32 »
Merci :)

Hors ligne ZeR0-@bSoLu

  • Administrateur
  • Membre Elite
  • *****
  • Messages: 3275
  • +193/-5
  • Pentest - Arch - Python - Kali
    • Kali-fr
Re : Les tutos de ZeR0 - Rinetd
« Réponse #2 le: 18 oct. 2021 à 09:14:44 »
De rieeen :D
Mess  with the bests.
Die like the rest.

Hors ligne Sno

  • Membre Régulier
  • **
  • Messages: 79
  • +12/-2
  • cheh () { cheh | cheh & }; cheh
Re : Les tutos de ZeR0 - Rinetd
« Réponse #3 le: 19 oct. 2021 à 08:53:36 »
Hey,

Je t'avais dit que je le finirai :P

Honnêtement, je m'attendais à plus anecdotique et expérimental comme outil, mais en fait c'est super utile.

Merci d'avoir bien expliqué la conf, les options du programme, les fichiers logs... Ton tuto peut aussi faire office de 'mini man' en français en cas de trou de mémoire, je trouve ça génial :))

Super tuto comme d'hab, j'attends le prochain avec impatience ;)

++

Sno
Pousse-toi, je m'apprête à pivoter.
Everything can be a voiture télécommandée if you're brave enough - ZeR0
8) - Snk

Hors ligne ZeR0-@bSoLu

  • Administrateur
  • Membre Elite
  • *****
  • Messages: 3275
  • +193/-5
  • Pentest - Arch - Python - Kali
    • Kali-fr
Re : Les tutos de ZeR0 - Rinetd
« Réponse #4 le: 19 oct. 2021 à 09:05:45 »
Merci pour ton retour :)
Mess  with the bests.
Die like the rest.

Hors ligne Koala
  • Contributeur de Kali-linux.fr
  • Membre Sérieux
  • *****
  • Messages: 334
  • +20/-0
Re : Les tutos de ZeR0 - Rinetd
« Réponse #5 le: 02 nov. 2021 à 17:57:46 »
Merci, je connaissais pas, simple et précis comme d'hab  :)

Hors ligne ZeR0-@bSoLu

  • Administrateur
  • Membre Elite
  • *****
  • Messages: 3275
  • +193/-5
  • Pentest - Arch - Python - Kali
    • Kali-fr
Re : Les tutos de ZeR0 - Rinetd
« Réponse #6 le: 02 nov. 2021 à 18:32:30 »
Merci pour le compliment :)
Mess  with the bests.
Die like the rest.

Hors ligne Snk

  • Modérateur
  • Membre Elite
  • *****
  • Messages: 1721
  • +120/-1
  • Multiboot Linux - Kali en Amateur - bash(A)
Re : Les tutos de ZeR0 - Rinetd
« Réponse #7 le: 03 nov. 2021 à 00:25:02 »
Merci, sympa et pratique comme outil...  8)
...  :P
--------------------------------------------------------
A l'époque c'était système_D (Comme démerdes-toi!)
On ne gagne pas sa Liberté , On choisi de la prendre!
Membre du P.L.F, Bill Gate$ suck'$.
Eux, c'est les pommes, et vous des poires...
--------------------------------------------------------

Hors ligne ZeR0-@bSoLu

  • Administrateur
  • Membre Elite
  • *****
  • Messages: 3275
  • +193/-5
  • Pentest - Arch - Python - Kali
    • Kali-fr
Re : Les tutos de ZeR0 - Rinetd
« Réponse #8 le: 03 nov. 2021 à 09:04:11 »
Merci.. :)
... :P
Mess  with the bests.
Die like the rest.