Esegui un binario di proprietà di root senza sudo


12

Ho avuto una domanda su un colloquio di lavoro:

Come eseguire (eseguire) il programma con l'utente user1senza sudoprivilegi e senza accesso rootall'account:

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

Risposte:


17

Dal momento che hai il permesso di leggere:

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

Naturalmente questo non ti concederà automaticamente i privilegi di escalation. Eseguiresti comunque quel file binario come utente normale.


4
@ user2555595 Temo che ti sbagli. Prova a rimuovere il bit di esecuzione su un file di tua proprietà ed eseguirlo. Anche il root ottiene "permesso negato" quando si esegue un file senza il set di bit di esecuzione.
Joseph R.,

hai ragione, grazie per l'informazione
user2555595

5
@ user2555595 Questo vale solo per gli script , non per i binari. Più specificamente solo basho script shell POSIX se bashviene richiamato come interprete.
Thomas Nyman,

Grazie per le tue informazioni, gente! Buona giornata!
inivanoff1

2
@ inivanoff1 Non dimenticare di contrassegnare una delle risposte "Accettato" in modo che le persone sappiano che questa domanda è stata risolta.
Joseph R.,

20

Puoi utilizzare il linker / caricatore dinamico Linux direttamente per eseguire eseguibili ELF per i quali hai letto, ma non per eseguire i diritti:

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

Quando un eseguibile ELF viene eseguito normalmente, viene utilizzato il linker dinamico memorizzato nella .interpsezione del codice del programma. I motivi per invocare direttamente il linker dinamico (interviste di lavoro esterne) includono il passaggio di opzioni da riga di comando per modificarne il comportamento.

Si noti che la posizione effettiva del linker dinamico può dipendere molto dall'ambiente, ad esempio in Ubuntu a 64 bit il linker si trova /lib64/ld-linux-x86-64.so.2.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.