Exécuter un binaire appartenant à root sans sudo

12

J'avais une question lors d'un entretien d'embauche:

Comment pouvez-vous exécuter (exécuter) le programme avec l'utilisateur user1sans sudoprivilèges et sans accès au rootcompte:

$ whoami
user1
$ ls -l ~/binary_program
-rw-r--r-- 1 root root 126160 Jan 17 18:57 /home/user1/binary_program
inivanoff1
la source

Réponses:

17

Puisque vous avez lu l'autorisation:

$ cp ~/binary_program my_binary
$ chmod +x my_binary
$ ./my_binary

Bien sûr, cela ne vous accordera pas automatiquement des privilèges élevés. Vous exécuteriez toujours ce binaire en tant qu'utilisateur normal.

Joseph R.
la source
4
@ user2555595 J'ai bien peur que vous vous trompiez. Essayez de supprimer le bit d'exécution d'un fichier que vous possédez et de l'exécuter. Même root obtient une "autorisation refusée" lors de l'exécution d'un fichier sans le bit d'exécution défini.
Joseph R.
vous avez raison, merci pour l'information
user2555595
5
@ user2555595 Cela ne s'applique qu'aux scripts , pas aux binaires. Plus spécifiquement, seuls bashles scripts shell POSIX bashsont appelés en tant qu'interpréteur.
Thomas Nyman
Merci pour vos informations, les gens! Bonne journée!
inivanoff1
2
@ inivanoff1 N'oubliez pas de marquer une des réponses "Accepté" pour que les gens sachent que cette question est résolue.
Joseph R.
20

Vous pouvez utiliser directement l' éditeur de liens / chargeur dynamique Linux pour exécuter les exécutables ELF pour lesquels vous avez lu, mais pas exécuté les droits:

$ /lib/ld-linux.so.* /home/user1/binary_program

Lorsqu'un exécutable ELF est exécuté normalement, l'éditeur de liens dynamique qui est stocké dans la .interpsection du code de programme est utilisé. Les raisons d'invoquer directement l'éditeur de liens dynamique (en dehors des entretiens d'embauche) incluent le passage d'options de ligne de commande pour modifier son comportement.

Notez que l'emplacement réel de l'éditeur de liens dynamique peut très dépendre de l'environnement, par exemple dans Ubuntu 64 bits où se trouve l'éditeur de liens /lib64/ld-linux-x86-64.so.2.

Thomas Nyman
la source