[TryhackMe] Élargir les privilèges en abusant le NO_ROOT_SQUASH sur NFS Mount! Linux PRIVEUP PART9

[TryhackMe] Élargir les privilèges en abusant le NO_ROOT_SQUASH sur NFS Mount! Linux PRIVEUP PART9

Cette fois, nous essaierons "Élévation du privilège à l'aide du mont NFS NO_ROOT_SQUASH".

La machine cible utilise la pièce ci-dessous de Tryhackme.
"Tryhackme-Linux Privesc: https://tryhackme.com/room/linuxprivesc "

Cet article est la partie 9.
Si vous souhaitez consulter l'écriture pour Linux PRIVSC avec TryhackMe, veuillez également vérifier les privilèges électroniques exploitant des sauvegardes de fichiers historiques, de fichiers de configuration et de fichiers importants

Veuillez noter que l'explication est des spoilers.

Livres de référence recommandés
Vente de points de la réalité! / /
Rakuten Market
\5% de points en arrière! / /
Yahoo Shopping
Auteur: ipusiron
¥3,850 (À partir de 21:11 le 07/08/2025 | Recherche Amazon)
Vente de points de la réalité! / /
Rakuten Market
\5% de points en arrière! / /
Yahoo Shopping
Auteur: Justin Seitz, auteur: Tim Arnold, supervisé par: Mantani Nobutaka, Traduction: Arai Yu, Traduction: Kakara Hirosei, Traduction: Murakami Ryo
¥3,520 (À partir de 12:26 le 07/09/2025 | Recherche Amazon)
Vente de points de la réalité! / /
Rakuten Market
\5% de points en arrière! / /
Yahoo Shopping
table des matières

Préparation

Tout d'abord, démarrez la machine cible avec la machine de démarrage.

C'est OK si l'adresse IP s'affiche.

Cette fois, car il est intensifié aux privilèges, je vais vérifier où il peut être connecté via SSH.
Connectez-vous à l'aide de "User / Password321" comme indiqué dans TryhackMe.

┌fiques (HackLab㉿HackLab) - [~ / Tryhackme / Linuxprv] └─ $ ssh user@10.10.175.49 130 ⨯ user@10.10.175.49's Mot de passe: Linux Debian 2.6.32-5-AMD64 # 1 SMP TUe 13 mai 16:34:35 UTC 2014 x86_64 Les programmes comprennent le Dubian / Linx Le système est un logiciel gratuit; Les termes de distribution exacts de chaque programme sont décrits dans les fichiers individuels dans / usr / share / doc / * / copyright. Debian GNU / Linux ne comporte absolument aucune garantie, dans la mesure permise par la loi applicable. Dernière connexion: ven 15 mai 06:41:23 2020 de 192.168.1.125

NFS

Les fichiers créés via NFS hériteront de l'ID de l'utilisateur distant.
Si l'utilisateur est root et root squash est activé (NO_ROOT_SQUASH n'est pas spécifié), l'ID sera réglé sur "personne" à la place.
Inversement, si Root Squash est désactivé (NO_ROOT_SQUASH est spécifié), veuillez noter que vous avez le même niveau de privilèges d'accès que Root.

Par défaut, les demandes de fichiers faites par root sur une machine client sont traitées comme étant faites par personne sur ce serveur. Cependant, si vous sélectionnez NO_ROOT_SQUASH, la racine sur la machine client a le même niveau de privilèges d'accès que la racine du serveur.

Vérifions la configuration de partage NFS de Debian VM.

user @ debian: ~ $ cat / etc / exportts # / etc / exports: la liste de contrôle d'accès pour les systèmes de fichiers qui peuvent être exportés # vers les clients NFS. Voir les exportations (5). # # Exemple pour nfsv2 et nfsv3: # / srv / homes hostname1 (rw, sync, no_subtree_check) hostname2 (ro, sync, no_subtree_check) # # Exemple pour nfsv4: # / srv / nfs4 GSS / KRB5I (RW, sync, fsid = 0, Crossmnt, no_subtree_check) # / srv / nfs4 / homes gss / krb5i (rw, sync, no_subtree_check) # / tmp * (rw, sync, # / tmphe * (RW, sync, insécurité, no_subtree_check)

Avez-vous remarqué que NO_ROOT_SQUASH est spécifié dans "/ tmp"?
Ensuite, nous exploiterons NO_ROOT_SQUASH dans "/ tmp" pour augmenter les privilèges.

Tout d'abord, enrôlons la machine d'attaque. (Même sur la machine cible, les mêmes privilèges que root on / tmp.)

┌── (hackLab㉿hackLab) - [~] └fique $ sudo su ┌fique 

Ensuite, créez un point de montage sur la machine d'attaque et montez / TMP.

┌── (root💀hacklab) - [/ home / hackLab] └fique

Ensuite, utilisez MSFvenom pour générer une charge utile qui appelle / bin / bash.
La charge utile générée sera enregistrée dans / TMP / NFS.

┌fiques (root💀hackLab) - [/ home / hackLab] └fique Encodeur spécifié, Sortie de charge utile brute Taille de charge utile: 48 octets Taille finale du fichier ELF: 132 octets enregistrés comme: /tmp/nfs/shell.elf

Accorde les privilèges SUID afin qu'une fois que l'utilisateur cible l'exécute, il est exécuté avec les privilèges du propriétaire. (La racine de la machine d'attaque est considérée comme la racine de la machine cible, et en accordant des privilèges SUID, d'autres utilisateurs de la machine cible peuvent également être exécutés avec des privilèges racine.)

┌fiques (Root💀hackLab) - [/ Home / HackLab] └fique

Une fois que vous avez fait cela, revenez à la machine cible et exécutez le shell.

utilisateur @ debian: ~ $ /tmp/shell.elf bash-4.1 # whoami root

J'ai réussi à obtenir des privilèges racine.

résumé

Cette fois, j'ai essayé "Élévation de privilège en utilisant le mont NFS NO_ROOT_SQUASH".
Enfin, avez-vous remarqué que la question de la course avec les privilèges SUID est apparue?

Qu'est-ce que la permission SUID? Si vous le pensez, veuillez également vous référer à Electroduction à l'aide des exécutables SUID / SGID

Références et sites

-

Partagez si vous le souhaitez!

Qui a écrit cet article

Ceci est un blog que j'ai commencé à étudier la sécurité de l'information. En tant que nouvel employé, je serais heureux si vous pouviez regarder avec un cœur large.
Il y a aussi Teech Lab, qui est l'occasion d'étudier le plaisir en programmation, donc si vous êtes intéressé par le développement de logiciels, assurez-vous de jeter un œil!

table des matières