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





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.
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
-