Vivre dangeureusement sur ubuntu ou pas (visudo)

Bijour à vous …

Attention, l’execution de ces commandes peut se révéler dangeureuses voir suicidaire suivant vos connaissances dans le domaine.

Aujourd’hui un truc à la Jean-Kevin, suite à la lecture d’un shellcode de milw0rm (je m’occupe comme je peux :P) : la suppression du mot de passe au sudo sur Ubuntu (ou tout OS prenant embarquant le sudoku).

pour modifier la chose, une commande :

sudo visudo

Qui retourne ceci :

# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset

# Host alias specification

# User alias specification

# Cmnd alias specification

# User privilege specification
root    ALL=(ALL) ALL

# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

Rapide explication :
les noms des utilisateurs s’écrivent directement, les groupes doivent être préfixé d’un %.
L’ajout de nouvelle règles se fait à la FIN du fichier.

Quelques règles sympa :
Suppression de la demande de mot de passe pour l’utilisateur kikoo :

kikoo ALL=(ALL) NOPASSWD: ALL

Ok, c’est un peu gros (si on est le seul à utiliser la machine, ça peut aller, mais faut bien faire gaffe au commande que l’on execute, car l’execution est DIRECTE, plus de demande de mot de passe).

Donc on peut affiner les règles :
Suppression de la demande de mot de passe lors de l’execution d’une commande specifiée :

%root ALL=NOPASSWD: /usr/bin/whoami

Et hop, un coup de sudo whoami renvoi root sans demander de mot de passe.
ça peut être utile pour le système de mise à jour d’ubuntu, ce qui donne :

%root ALL=NOPASSWD: /usr/bin/update-manager

On peut aussi faire des trucs assez sympa selon (le lien)
La suppression de l’accès à un interpreteur de commande pour certain utilisateur en mode root (genre interdire à sa petite-copine l’utilisation d’un terminal en mode root ^^).

Cmnd_Alias TOTAL=/bin/bash, /bin/sh
kikoo ALL=(ALL) ALL, !TOTAL

Ce qui donne :
kikoo@WillOwnDaWorld:~$ sudo bash
[sudo] password for kikoo:
Sorry, user kikoo is not allowed to execute ‘/bin/bash’ as root on WillOwnDaWorld.
kikoo@WillOwnDaWorld:~$

Et hop, amusez-vous bien 😉