Sous Unix il existe des commandes
comme rsh, rcp, rlogin... Toutes ces commandes seraient déjà
connues si elles n'avaient pas de r ( login, cp ...). Le r (pour remote)
précise que la commande va s'exécuter sur une autre machine.
Pour que ces commandes fonctionnent, il est impératif d'avoir son
fichier .rhost à jour. Ce fichier permet de s'affranchir du mot
de passe normalement nécessaire lors d'une connection avec une autre
machine. Voici un exemple de fichier .rhost existant sur le HOME de la
machine_A pour le compte login_A .
machine_B.mon_labo.fr login_machine_B
eclipse.totale.fr observateur
Ici, sur la machine_A peuvent se connecter
sans taper de mot de passe, login_machine_B depuis machine_B et observateur
depuis eclipse.
Comme vous vous en doutez ces types de fichier
rhosts peuvent créer des problèmes de sécurité.
Ainsi le fichier /.rhosts est tres dangereux. Si vous ne l'avez pas cree
en pleine connaissance de cause et s'il existe, detruisez le. Si vous l'utilisez,
verifiez ses acces et son contenu. Vérifiez les fichiers de configuration
système et réseau, pour ce qui concerne les entrées
non autorisées. En particulier le signe "+", ou des noms de machines
extérieures dans /etc/hosts.equiv,
/etc/hosts.lpd et dans tous les fichiers .rhosts
(spécialement root, uucp, ftp et autres comptes systèmes).
Ces fichiers doivent être protégés en écriture.
De plus, assurez vous que ces fichiers existaient avant toute intrusion
et n'ont pas été créés par un intrus. La plupart
du temps, si une machine a été piratée, les autres
sur le réseau l'ont été aussi. C'est surtout vrai
sur les réseau où tourne NIS et où les serveurs s'autorisent
les un les autres à travers l'usage des fichiers .rhosts ou /etc/hosts.equiv.
Vérifiez donc tous les serveurs avec lesquels les utilisateurs partagent
des accès.
Ainsi pirater une machine grâce aux fichiers rhosts serait simple: il suffit de les créer ou de les éditer. On peut approfondir le fonctionnement de ces fichiers. Imaginons que nous sommes loggés sur machine1 et que l'on aimerait se logger sur machine2. Pour cela, il faut ouvrir un shell et y taper:
rlogin cible2La machine demandera alors un mot de passe. Si on ne veut pas avoir à taper un mot de passe à chaque fois, il suffit de créer un fichier .rhosts à mettre à la racine:
#et ainsi de suite pour toutes les machines. Ainsi, si l'on est sur jardin et que l'on fait un rlogin machine2, machine2 regardera le fichier .rhosts, verra que l'utilisateur ton_login a le droit de se connecter si il vient de machine1. Et donc ouvrira une session sans demander de mot de passe.
# fichier ~/.rhosts
#
machine1 ton_login
machine2 ton_login
On voit qu'il faut donc avoir un accès à la machine pour
pouvoir y accéder. Dans le cas ou une attaque aurait été
réussie, et un fichier rhosts écrit, l'utilisation après-coup
de ce fichier se révèlerait efficace même si la faille
utilisée en premier cas ne marche plus.
Note: le point mis devant le fichier ce fichier est volontaire.
C'est un fichier caché.
Note: le "r" devant les commandes UNIX sont des commandes qui se réalisent à distance le "r" étant mis pour remote. Note: la commande echo cible.com >> guest/.rhosts permet un accès à l'utilisateur guest sur la machine cible.com. Cette commande se décompose ainsi: "echo" annonce l'écriture, "cible.com" est l'objet de l'écriture, ">>" indique où va se réaliser l'écriture, "guest/.rhosts" est le fichier cible. |
Clad Strife