Запуск бінарного файлу, що належить root без судо


12

У мене на співбесіді було запитання:

Як можна виконати (запустити) програму з користувачем user1без sudoпривілеїв та без доступу до rootоблікового запису:

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

Відповіді:


17

Оскільки ви прочитали дозвіл:

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

Звичайно, це автоматично не надасть вам ескалаційних привілеїв. Ви все одно будете виконувати цей двійковий файл як звичайний користувач.


4
@ user2555595 Боюся, ти помилився. Спробуйте видалити біт виконання з власного файлу та виконати його. Навіть root отримує "відмову в дозволі" при виконанні файлу без встановленого біта виконання.
Джозеф Р.

ви маєте рацію, дякую за інформацію
користувач2555595,

5
@ user2555595 Це стосується лише сценаріїв , а не бінарних файлів. Більш конкретно, лише bashсценарії оболонки POSIX, якщо bashїх викликають як інтерпретатора.
Томас Найман

Дякую за інформацію, люди! Гарного дня!
inivanoff1

2
@ inivanoff1 Будь ласка, не забудьте позначити одну з відповідей "Прийнято", щоб люди знали, що це питання вирішено.
Джозеф Р.

20

Ви можете використовувати динамічний лінкер / завантажувач Linux безпосередньо для запуску виконуваних файлів ELF, про які ви прочитали, але не виконувати права:

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

Коли виконується виконуваний файл ELF звичайно, використовується динамічний лінкер, який зберігається в .interpрозділі програмного коду. Причини прямого виклику динамічного лінкера (поза інтерв'ю для роботи) включають передачу йому параметрів командного рядка для зміни його поведінки.

Зауважте, що фактичне розташування динамічного лінкера може дуже залежати від середовища, наприклад, у 64-бітному Ubuntu, на якому знаходиться лінкер /lib64/ld-linux-x86-64.so.2.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.