Tests d'intrusion pour les NFS

NFS (Network File System) qui est un système de fichiers réseau, FreeBSD est un système de fichiers pris en charge, ce qui permet à un réseau TCP / IP pour partager des ressources entre les ordinateurs du réseau. Dans l'application du NFS, l'application locale du client NFS peut lire de manière transparente et les fichiers d'écriture situé sur un serveur NFS distant, comme accéder aux fichiers locaux. NFS a maintenant la fonction d'empêcher l'utilisation du dossier d'exportation, mais les systèmes existants de configuration du service NFS de manière incorrecte, il peut encore être exploité par des attaquants malveillants.

découverte de service NFS

Par défaut, le service NFS est port ouvert 2049 / TCP, afin que nous puissions être pris pour cible pour la détection au moyen de Nmap.

(RPC # 100003) 2049 / tcp open nfs 2-4

De plus, nous pouvons également déterminer si vous souhaitez exécuter ou monter un serveur NFS sur l'hôte via la commande rpcinfo.

rpcinfo -p IP

La liste des dossiers Export

La commande suivante récupère un hôte donné pour exporter la liste des dossiers, ces informations seront utilisées pour accéder à ces dossiers.

showmount -e IP

Lorsque la commande showmount avec les paramètres suivants peuvent être récupérés pour nous plus d'informations, telles que:

  • Les points de montage
  • hôte connecté
  • annuaire
La connexion hôte de showmount IP Répertoire showmount -d IP // showmount -a IP // point de montage

En outre, le cadre Metasploit dispose également d'un module peut être utilisé pour lister le dossier d'exportation.

auxiliaire / scanner / nfs / nfsmount

Ici, je recommande un outil utile NFS Shell, il peut être connecté au partage NFS et nous aident à identifier manuellement certains problèmes de sécurité communs. Je veux l'utiliser, nous devons d'abord installer les dépendances suivantes:

apt-get install libreadline-dev libncurses5-dev faire gcc -g -o nfsshell mount_clnt.o mount_xdr.o nfs_prot_clnt.o nfs_prot_xdr.o nfsshell.o -L / usr / local / lib -lreadline -lhistory -lncurses ./nfsshell

Utilisez la commande suivante pour obtenir la liste des dossiers exportés:

nfs >  Service IP hôte // connexion NFS de nfs >  export // liste export NFS

Accès au partage NFS

Dossier d'exportation en créant un dossier local vide et monter le dossier partagé d'accès, comme suit:

mkdir / temp / mount -t nfs 192.168.1.172:/ / temp -o nolock

Une fois l'authentification réussie partagée de montage, nous pouvons énumérer toutes les informations de disque local par la commande suivante.

df -h

À ce stade, nous pouvons accéder à d'autres dossiers aussi facile que l'accès aux dossiers partagés.

cd / temp / ls

fonctionnement UID

Si nous ne dispose pas des autorisations de lecture pour le partage de fichiers sur la façon de faire? En fait, ce qui est très simple, nous pouvons forger UID du propriétaire du fichier pour tromper le serveur NFS. L'exemple suivant montre un des conseils de refus d'accès aux fichiers NFS:

Tout d'abord, nous devons obtenir l'UID du propriétaire du fichier (ID utilisateur) et un GUID (ID Groupe) avec la commande suivante.

ls -al

Ensuite, nous créons un nouvel utilisateur local, et modifions le même que le propriétaire du fichier UID et le nom de l'utilisateur.

useradd < utilisateur > passwd < utilisateur >

UID peut être modifié dans le fichier passwd.

vi / etc / passwd

Dans le dossier effectuer fichier monté commande su, connu et mot de passe que vous avez créé plus tôt, auquel cas les utilisateurs actuels seront passés au nouvel utilisateur.

su < useraccount >

UID est le même que le fichier avec le nouvel UID de l'utilisateur, de sorte que le système croient à tort qu'il est le propriétaire des autorisations de fichiers, afin que nous puissions être l'identité d'un utilisateur légitime de lire le contenu du fichier.

La raison de ce problème, parce que le dossier d'exportation ne sont pas définir les options de root_squash. root_squash connexion hôte NFS, l'équivalent du propriétaire du répertoire lors de l'utilisation du répertoire partagé. Cependant, si en tant que root en utilisant le répertoire partagé du temps, alors les droits de l'utilisateur (root) sera compressé dans un utilisateur anonyme, qui est généralement son UID et GID deviendra une personne que l'identité afin d'empêcher tout accès non autorisé.

Vous pouvez activer ou désactiver l'option root_squash dans les endroits suivants:

vi / etc / exports / Home 192.168.1.47 (root_squash) // Active racine Squash / Home 192.168.1.47 (no_root_squash) // Racine Squash Inhibe

Si le fichier passwd ont la permission d'écriture, alors nous pouvons être changé à 0 par UID de l'utilisateur non-privilégié, il a accès au niveau de la racine. Comme on peut le voir dans la figure ci-dessous, je modifierai l'UID de l'utilisateur de services à 0, l'utilisateur aura accès à des privilèges root.

Se connecter via la commande SSH à nouveau pour établir la connexion avec le serveur cible, service obtenir un accès root.

accès shell

les fichiers sont stockés selon dans le dossier d'exportation, vous pouvez être en mesure d'obtenir à l'accès shell via SSH ou RSH et Rlogin. Nous nous concentrons à se concentrer sur les deux fichiers suivants:

  • authorized_keys
  • rhosts

Les deux fichiers sont cachés dans le dossier NFS, nous pouvons déterminer l'existence de ces fichiers à l'aide de la commande suivante.

ls -al

Générer une paire de clés SSH et une clé publique à la liste des clés autorisées, afin que nous puissions établir une connexion via SSH sur le serveur NFS.

cd /root/.ssh/ ssh-keygen -t rsa -b 4096 cp /root/.ssh/id_rsa.pub /temp/root/.ssh/ cat id_rsa.pub > >  /temp/root/.ssh/authorized_keys ssh -i /root/.ssh/id_rsa root@192.168.1.189

.rhosts fichier qui est utilisé pour configurer l'hôte distant ou un utilisateur peut accéder à un compte local sur le système. Si le fichier de contenu est le symbole de .rhosts, l'hôte et permet à tout utilisateur sur le réseau à partir d'une connexion.

.rhosts chat ++

La commande suivante permettra au système de la racine de l'utilisateur est directement connecté au système cible, le système ne sera pas invité à entrer le mot de passe, puisque seront approuvés tous les utilisateurs du système.

rsh -l IP racine rlogin -l IP racine

.Rhosts ou si le contenu est différent, vérifiez le fichier vous aidera à déterminer les hôtes et les utilisateurs de confiance, et peut donc s'authentifier sans exiger un mot de passe.

* Référence Source: pentestacademy, FB Xiao Bian secist compilé, reproduit à partir FreeBuf.COM

« Livre de Natsume des amis » pré-pause de 10 millions de filles section ne lui « Natsume » it!
Précédent
Supreme 2017 Automne Hiver Aperçu / Lookbook publié! En ce moment!
Prochain
« Apprendre de Lei Feng · en action » dans les entreprises centrales Chongqing soins pour les enfants laissés derrière est allé dans le site Nanchuan
la beauté de conte de fées dans tout faux? « La Reine des Neiges 4 » vous donner un rêve de princesse différente
Divers dit que la sécurité de la carte et
lecteur de test de choix IKEA devrait être importé Volkswagen Sharan 6 édition
New Era commune ne semble pas être l'objet? Supreme 2017 automne et une série de style chapeau d'hiver de version complète!
escorte a perdu la sécurité résidentielle chez les personnes âgées est également devenu son contact d'urgence
« X-Men: Black Phoenix » marque nouvelle exposition de la remorque X-Men pour la première fois une graines de danger caché mission spatiale
Roi de gloire ont eux, une fois accusé de vie vous fait mal et droit
cur: lire les avis Shanghai Volkswagen longues lignes 180TSI
Sea organisations Lotus analyser des échantillons pour les dernières attaques APT chinois
La salade originale mal, manger chaque repas, même s'il est impossible de perdre du poids!
Bonjour Kitty à Hollywood, et des balles paresseux pour faire un ensemble de film?