BAB 5 MENGONTROL FILE DAN IZIN DIREKTORI
5.6 Izin Khusus
--snip
-drwxr-xr-x 7 root root 4096 Dec 5 11.17 Music
-rwxrw-rw- 1 root root 1072 Dec 5 11.17 newHackertool drwxr-xr-x 7 root root 4096 Dec 5 11.17 Pictures
--snip--
Seperti yang Anda pahami sekarang, ini memberi kami semua izin sebagai pemilik, termasuk mengeksekusi, dan memberi grup dan semua orang hanya izin baca dan tulis (4 + 2 = 6).
Anda mungkin pernah mengalami kasus di mana file memerlukan izin dari pengguna root selama eksekusi untuk semua pengguna, bahkan mereka yang bukan root. Misalnya, file yang memungkinkan pengguna untuk mengubah kata sandi mereka memerlukan akses ke file /etc/shadow—file yang menyimpan kata sandi pengguna di Linux—yang memerlukan hak istimewa pengguna root agar dapat dijalankan. Dalam kasus seperti itu, untuk sementara Anda dapat memberikan hak istimewa kepada pemilik untuk mengeksekusi file dengan menyetel bit SUID pada program.
Pada dasarnya, bit SUID mengatakan bahwa setiap pengguna dapat mengeksekusi file dengan izin dari pemiliknya tetapi izin ini tidak melampaui penggunaan file itu. Menyetel SUID pada file bukanlah sesuatu yang biasa dilakukan pengguna, tetapi jika Anda ingin melakukannya, Anda akan menggunakan perintah chmod, seperti pada nama file chmod 4644
Memberikan Izin Grup Pengguna Root SGID
SGID juga memberi izin yang ditinggikan sementara, tetapi itu memberi izin grup pemilik file, bukan pemilik file. Ini berarti bahwa, dengan set bit SGID, seseorang tanpa izin mengeksekusi dapat mengeksekusi file jika pemiliknya termasuk dalam grup yang memiliki izin untuk mengeksekusi file tersebut.
Bit SGID bekerja sedikit berbeda saat diterapkan ke direktori: saat bit disetel pada direktori, kepemilikan file baru yang dibuat di direktori tersebut akan masuk ke grup pembuat direktori, bukan grup pembuat file. Ini sangat berguna saat direktori dibagikan oleh beberapa pengguna. Semua pengguna dalam grup tersebut dapat menjalankan file, bukan hanya satu pengguna.
Bit SGID direpresentasikan sebagai 2 sebelum izin biasa, jadi file baru dengan izin yang dihasilkan 644 akan direpresentasikan sebagai 2644 saat bit SGID disetel. Sekali lagi, Anda akan menggunakan perintah chmod untuk ini—misalnya, chmod 2644 nama file . Bit Sticky Outmode
Bit Sticky adalah bit izin yang dapat Anda setel pada direktori untuk memungkinkan pengguna menghapus atau mengganti nama file di dalam direktori tersebut. Namun, bagian yang sulit adalah legasi sistem Unix lama, dan sistem modern (seperti Linux) mengabaikannya. Oleh karena itu, saya tidak akan membahasnya lebih lanjut di sini, tetapi Anda harus terbiasa dengan istilah tersebut karena Anda mungkin mendengarnya di dunia Linux.
Izin Khusus, Peningkatan Hak Istimewa, dan Hacker
Sebagai seorang Hacker, izin khusus ini dapat digunakan untuk mengeksploitasi sistem Linux melalui peningkatan hak istimewa, di mana pengguna biasa mendapatkan hak istimewa root atau sysadmin dan izin terkait. Dengan hak istimewa root, Anda dapat melakukan apa saja di sistem.
Salah satu cara untuk melakukannya adalah dengan mengeksploitasi bit SUID.
Administrator sistem atau pengembang software mungkin menyetel bit SUID pada program untuk mengizinkan program tersebut mengakses file dengan hak istimewa root. Misalnya, skrip yang perlu mengubah sandi sering kali memiliki bit SUID yang disetel. Anda, Hacker, dapat menggunakan izin tersebut untuk mendapatkan hak istimewa root sementara dan melakukan sesuatu yang berbahaya, seperti mendapatkan akses ke sandi di /etc/shadow.
Mari cari file dengan bit SUID yang disetel di sistem Kali kami untuk mencobanya.
Kembali di Bab 1, saya memperkenalkan Anda ke perintah menemukan. Kami akan menggunakan kekuatannya untuk menemukan file dengan set bit SUID.
Seperti yang Anda ingat, perintah find sangat kuat, tetapi sintaksnya sedikit lebih rumit daripada beberapa perintah lokasi lainnya, seperti temukan dan yang mana. Luangkan waktu sejenak untuk meninjau sintaks temukan di Bab 1, jika perlu.
Dalam hal ini, kami ingin menemukan file di mana saja di sistem file, untuk pengguna root atau sysadmin lain dengan izin 4000. Untuk melakukannya, kami dapat menggunakan perintah find berikut:
kali >find / -user root -perm -4000
Dengan perintah ini, kami meminta Kali untuk mulai melihat bagian atas sistem file dengan sintaks /. Kemudian, akan terlihat di mana-mana di bawah/untuk file yang dimiliki oleh root, ditentukan dengan user root, dan yang memiliki izin SUID yang ditetapkan (-perm -4000 ).
Saat kami menjalankan perintah ini, kami mendapatkan output yang ditampilkan di Daftar 5.2.
/usr/bin/chsh /usr/bin/gpasswd /usr/bin/pkexec /usr/bin/sudo /usr/bin/passwd
/usr/bin/kismet_capture --snip--
Daftar 5.2 Menemukan file dengan set bit SUID
Outputnya menunjukkan banyak file yang memiliki bit SUID yang disetel. Mari menavigasi ke direktori /usr/bin, tempat banyak berkas ini berada, lalu jalankan daftar panjang di direktori tersebut dan gulir ke bawah ke file sudo, seperti yang ditunjukkan di Daftar 5.3.
kali >cd /usr/bin kali >ls -l
--snip--
-rwxr-xr-x 1 root root 176272 Jul 18 2018 stunnel4 -rwxr-xr-x 1 root root 26696 Mar 17 2018 sucrack
➊ -rwsr-xr-x 1 root root 140944 Jul 5 2018 sudo --snip--
Daftar 5.3 Mengidentifikasi file dengan set bit SUID
Perhatikan bahwa pada ➊, set izin pertama—untuk pemilik—memiliki s sebagai pengganti x. Ini adalah cara Linux menyatakan bahwa bit SUID telah disetel. Ini berarti bahwa siapa pun yang menjalankan file sudo memiliki hak istimewa pengguna root, yang dapat menjadi masalah keamanan bagi sysadmin dan potensi vektor serangan untuk Hacker.
Misalnya, beberapa aplikasi perlu mengakses file/etc/shadow agar berhasil menyelesaikan tugasnya. Jika penyerang dapat mengendalikan aplikasi tersebut, mereka dapat menggunakan akses aplikasi tersebut ke sandi di sistem Linux.
Linux memiliki sistem keamanan yang dikembangkan dengan baik yang melindungi file dan direktori dari akses yang tidak sah. Hacker yang bercita-cita tinggi perlu memiliki pemahaman dasar tentang sistem ini tidak hanya untuk melindungi file mereka tetapi juga untuk menjalankan alat dan file baru. Dalam beberapa kasus, Hacker dapat mengeksploitasi izin SUID dan SGID untuk meningkatkan hak istimewa dari pengguna biasa menjadi pengguna root.