Berdasarkan man 7 capabilities
CAP_DAC_READ_SEARCH
* Bypass file read permission checks and directory read and execute permission checks;
* Invoke open_by_handle_at(2).
Ini berhasil untuk saya. (baris yang dimulai dengan '#' adalah root, yang dengan '$' adalah non-root) dalam hal ini pengguna non-root ada di wheel
grup.
# cp /usr/bin/find /usr/bin/sudofind
# chmod 710 /usr/bin/sudofind
# chown root:wheel /usr/bin/sudofind
# setcap cap_dac_read_search+ep /usr/bin/sudofind
# exit
$ find /root
find: ‘/root’: Permission denied
$ sudofind /root
/root /root
/root/Testbed
...
...
$ sudofind /root -exec cat {} \;
cat: /root: Permission denied
cat: /root/Testbed: Permission denied
$ sudofind /root -printf "%u %g %m %c %p\n"
root root 644 Mon Apr 20 09:20:48.0457518493 2015 /root
root root 755 Fri Dec 4 02:34:03.0016294644 2015 /root/Testbed
...
...
$ # Capability inheritance test..
$ sudofind /root -exec /bin/sleep 10 \; &
[1] 17017
$ getpcaps $(pgrep find)
Capabilities for `17017': = cap_dac_read_search+ep
$ getpcaps $(pgrep sleep)
Capabilities for `17019': =
Mengingat apa yang diberikan kemampuan, itu cocok dengan apa yang Anda inginkan. Saya belum memeriksa apakah find
memiliki fitur yang memungkinkan Anda membaca byte di dalam file, tetapi hal-hal yang jelas seperti LD_PRELOAD
dan pustaka serangan shim seharusnya tidak berfungsi karena sifat pemeriksaan setuid di Linux, dan bit kemampuan tidak mendapatkan diwarisi oleh proses anak juga (tidak seperti setuid mentah) jadi itu bonus lain.
Ingatlah bahwa apa yang ingin Anda lakukan memang meningkatkan kemungkinan masalah privasi terkait dengan pembuatan atau akses file sementara, dan program ini dapat digunakan sebagai dasar untuk memasang upaya peningkatan kondisi ras / hak istimewa (terhadap program yang membuat nama file terkenal) tapi jangan lakukan pemeriksaan keamanan yang benar).
Juga, beberapa aplikasi yang ditulis dengan buruk dapat mengandalkan metadata file atau struktur pohon sebagai cara untuk menyampaikan makna atau menyembunyikan data. Hal ini dapat menyebabkan pelepasan informasi terbatas atau mengungkapkan dokumen istimewa yang tidak diketahui tentang (keamanan melalui ketidakjelasan yang saya tahu, tapi ini adalah hal yang ingin dilakukan oleh vendor sumber tertutup, khususnya).
Karena itu, berhati-hatilah dan berhati-hatilah dalam melakukannya dan pahami masih ada risiko yang terkait dengan hal ini meskipun hal-hal yang jelas tidak berhasil.
Oh, dan saya akan tertarik untuk melihat apakah seseorang memiliki bukti serangan konsep yang menggunakan mekanisme ini sebagai dasar untuk eskalasi hak istimewa dalam komentar!