NIS

 

 

 

NIS est un système client/serveur basé sur les RPCs qui permet à un groupe de machine d'un domaine NIS de partager un ensemble de fichiers de configuration communs. L'administrateur système peut ainsi mettre en place des clients NIS en n'ayant qu'un minimum de configuration à faire et ajouter, modifier ou supprimer des informations de configuration de façon centralisée. Dans un environnement NIS, il y a trois types de machines : les serveurs maîtres, les serveurs esclaves et les clients. Les serveurs centralisent les informations de configuration des machines. Les serveurs maîtres détiennent l'exemplaire de référence de ces informations, tandis que les serveurs esclaves en ont un double pour assurer la redondance. Les clients attendent des serveurs qu'ils leur fournissent ces informations. Le contenu de nombreux fichiers peut être ainsi partagé. Les fichiers master.passwd, group et hosts sont fréquemment partagés par NIS. Chaque fois qu'un processus d'une machine cliente a besoin d'une information qu'il trouverait normalement localement dans un de ces fichiers, il émet une requête au serveur auquel il est rattaché pour obtenir cette information. 

Bon voilà, maintenant vous savez se que c que NIS. Maintenant passons au chose sérieuse :
Bon pour le hack, NIS nous est bien utile, je vais vous montrer comment.
Tout d’abord faites un rpcinfo sur la victime :

rpcinfo -p www.victim.com   
program  vers  proto  port
   100004      2    tcp   673  ypserv
   100005      1    udp   721  mountd
   100003      2    udp  2049  nfs
   100026      1    udp   733  bootparam

(j’avais pas d’exemple personnel, alors celui ci est extrais de Noroute 2) 

le ypserv veut dire qu’il y a NIS. Une petite explication, NIS se dis aussi Yellow Pages (YP) ok ?! le bootparam veut dire que la machine boot en pointant sur un DHCP pour obtenir une ip ou sur un serveur pour charger l’OS. Maintenant il vous faut le nom de domaine, Ce n'est pas le "nom de domaine'' dont vous avez l'habitude. Il est plus exactement appelé "nom de domaine NIS''. Quand un client diffuse une requête pour avoir des informations, il y inclut le nom du domaine NIS auquel il appartient. C'est ainsi que plusieurs serveurs d'un même réseau peuvent savoir lequel doit répondre à quelles requêtes. Voyez le nom de domaine NIS comme celui d'un groupe de machine qui sont reliées entre elles. Certains prennent comme nom de domaine NIS leur nom de domaine Internet. Ce n'est pas conseillé parce que c'est une source de confusion quand il faut résoudre un problème. Le nom de domaine NIS doit être unique sur le réseau et il est utile qu'il décrive les machines qu'il représente. Par exemple, le département artistique d'Acme Inc. pourrait avoir "acme-art" comme nom de domaine NIS. 

Pour tester des noms de domaine, faites :

% ypwhich -d victim  www.victim.com
serv-nis.victim.com

 La version de référence de toutes les informations gérées par le NIS est archivée sur une seule machine appelée serveur NIS maître. Les bases de données utilisées pour cela sont appelées des tables NIS. Sous FreeBSD, elles se trouvent dans /var/yp/[nom_de_domaine] où [nom_de_domaine] est le nom du domaine NIS concerné. Un seul serveur NIS peut gérer plusieurs domaines, il peut donc y avoir plusieurs de ces répertoires, un pour chaque domaine. Chaque domaine aura sont propre jeu de tables. Les serveurs NIS maîtres et esclaves traitent toutes les requêtes NIS via le ``démon'' ypserv. ypserv reçoit les requêtes des clients NIS, traduit le nom de domaine et les noms de tables en chemin d'accès à la base de données correspondante et transmet l'information de cette base de données au client. Vous aurez compris que c’est ces tables qui nous intéresse. Ce qui nous intéresse c’est la carte passwd.byname, qui contient tous les password. Pour récupérer ce fichier vous aurez besoin d’un programme appeler ypx (chercher sur le net).
Donc avec ypx faites :
% ypx -d serv-nis.victim.com victim -m passwd.byname 

Sauvegarder le fichier et cracker le. Voilà ! 

ok, mais …

Dans certains cas, vous arriverez a rien. Pourquoi ? et bah lisez ce qui va suivre.
D'une façon générale, n'importe quel utilisateur distant peut émettre une requête NIS pour voir le contenu des tables NIS, s'il connaît le nom de domaine NIS. Pour éviter des transactions non autorisées, ypserv dispose d'une fonctionnalité appelée securenets qui peut être utilisée pour en restreindre l'accès à un ensemble défini de machines. Quand il démarre, ypserv essaye de charger ces informations depuis le fichier
/var/yp/securenets.   

    # autorise les connexions depuis la machine locale -- obligatoire
    127.0.0.1     255.255.255.255
    # autorise les connexions de n'importe quelle machine
    # du réseau 192.168.128.0
    192.168.128.0 255.255.255.0
    # autorise les connexions de n'importe quelle machine
    # entre 10.0.0.0 et 10.0.15.255
    10.0.0.0      255.255.240.0

Si ypserv reçoit une requête d'une machine qui satisfait à ces règles, il la traite normalement. Si l'adresse ne remplit pas les conditions, il ignore la requête et émet

Un message d'avertissement. S'il n'y a pas de fichier /var/yp/securenets, ypserv autorise les requêtes venant de n'importe quelle machine.

 

By   The JokeR, Noroute, et d’autres articles venant du net.