Jalankan biner yang dimiliki oleh root tanpa sudo


12

Saya punya pertanyaan tentang wawancara kerja:

Bagaimana Anda dapat menjalankan (menjalankan) program dengan pengguna user1tanpa sudohak istimewa dan tanpa akses ke rootakun:

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

Jawaban:


17

Karena Anda telah membaca izin:

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

Tentu saja ini tidak akan secara otomatis memberi Anda peningkatan hak istimewa. Anda masih akan menjalankan biner itu sebagai pengguna biasa.


4
@ user2555595 Saya khawatir Anda salah. Coba hapus bit eksekusi pada file yang Anda miliki dan jalankan . Bahkan root mendapat "izin ditolak" ketika mengeksekusi file tanpa bit eksekusi set.
Joseph R.

Anda benar, terima kasih atas informasinya
user2555595

5
@ user2555595 Itu hanya berlaku untuk skrip , bukan binari. Lebih khusus hanya bashskrip shell POSIX jika bashdipanggil sebagai penerjemah.
Thomas Nyman

Terima kasih atas informasi Anda, semuanya! Semoga harimu menyenangkan!
inivanoff1

2
@ inivanoff1 Tolong jangan lupa untuk menandai salah satu jawaban "Diterima" sehingga orang tahu pertanyaan ini terpecahkan.
Joseph R.

20

Anda dapat menggunakan Linux dynamic linker / loader secara langsung untuk menjalankan executable ELF yang telah Anda baca, tetapi tidak mengeksekusi hak:

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

Ketika executable ELF dieksekusi secara normal, penghubung dinamis yang disimpan di .interpbagian kode program digunakan. Alasan untuk memohon penghubung dinamis secara langsung (di luar wawancara kerja) termasuk melewatinya opsi baris perintah untuk mengubah perilakunya.

Perhatikan bahwa lokasi sebenarnya dari tautan dinamis mungkin sangat tergantung pada lingkungan, misalnya di Ubuntu 64-bit yang terhubung /lib64/ld-linux-x86-64.so.2.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.