Ingin mendapatkan akses pengguna super ke sistem Linux? Berikut adalah beberapa cara terbaik untuk menghitung mesin Linux.
Pencacahan adalah salah satu tahapan kunci dari pengujian penetrasi. Ini adalah hal pertama yang harus dilakukan ketika Anda telah mengkompromikan sistem target sebagai penguji penetrasi. Meskipun ada banyak alat untuk mengotomatiskan proses ini, selalu disarankan untuk menjelajahi dan memeriksa ulang sistem secara manual untuk vektor potensial eskalasi hak istimewa.
Mari kita lihat berbagai cara untuk menghitung sistem Linux secara manual untuk peningkatan hak istimewa.
Mengapa Pencacahan Penting untuk Eskalasi Hak Istimewa?
Eskalasi hak istimewa, juga dikenal sebagai Eskalasi Hak Istimewa (EOP) adalah komponen inti dari pengujian penetrasi dan metodologi pengujian penetrasi. Seperti namanya, ini adalah tahap ketika Anda mencoba meningkatkan hak istimewa Anda menjadi administrator atau, dalam sistem Linux, pengguna root.
Untuk mendapatkan hak akses root, Anda harus terlebih dahulu menemukan kerentanan dalam sistem. Di sinilah enumerasi berperan. Meskipun ada alat untuk mengotomatiskan pencacahan, lebih sering daripada tidak, pencacahan manual dan menyeluruh dapat mengungkap kesalahan konfigurasi dan kerentanan lain yang tidak terdeteksi oleh alat.
1. Enumerasi Sistem
Hal pertama yang harus Anda lakukan setelah mendapatkan pijakan awal adalah mempelajari tentang sistem yang telah Anda akses. Ini akan membantu Anda mengoptimalkan muatan agar sesuai dengan arsitektur dan memastikan kompatibilitas maksimum muatan Anda dengan sistem target.
Misalnya, jika Anda memiliki eksploit 64-bit, Anda perlu memodifikasinya jika sistem target Anda hanya mendukung perangkat lunak 32-bit karena ada perbedaan antara sistem 32-bit dan 64-bit.
Selain itu, mengetahui versi kernel akan membantu Anda mencari exploit di web jika Anda menemukan bahwa versi tersebut sudah usang dan rentan terhadap exploit publik. Berikut adalah beberapa perintah yang akan membantu Anda mengambil informasi sistem:
Untuk menemukan informasi sistem seperti versi kernel, rilis OS, dll., ketik:
kucing /etc/cpuinfo
uname -a
Jika Anda ingin mempelajari lebih lanjut tentang arsitektur CPU, gunakan perintah lscpu:
lscpu
2. Enumerasi Proses
Proses adalah program yang sedang dieksekusi. Mengetahui daftar lengkap proses pada sistem Linux, ditambah dengan beberapa taktik pencacahan lainnya disebutkan dalam panduan ini akan membantu Anda mengidentifikasi proses yang berpotensi rentan dan meningkatkannya hak istimewa.
Misalnya, jika Anda menemukan proses yang berjalan dengan hak akses root, Anda mungkin dapat menyuntikkan kode arbitrer ke dalamnya yang dapat menyebabkan eskalasi hak istimewa berhasil.
Anda dapat gunakan perintah ps dengan aux bendera untuk mendaftar semua proses dalam sistem:
ps aux
3. Enumerasi Pengguna dan Grup
Pencacahan pengguna dan grup penting untuk mengetahui siapa yang memiliki akses ke bagian mana dari sistem. Mengetahui hal itu memungkinkan Anda untuk menjangkau target Anda secara efisien dan membangun strategi serangan yang efektif. Selain itu, Anda dapat membuat pemetaan yang tepat dan memahami secara mendalam peran dan hak istimewa setiap akun.
Memiliki visibilitas akun istimewa memungkinkan Anda mencoba kombinasi nama pengguna-sandi yang dikenal. Anda dapat mencetak isi dari /etc/passwd Dan /etc/group file untuk mengakses daftar pengguna. Atau, Anda juga dapat menggunakan perintah getent.
Ke dapatkan daftar pengguna di Linux:
getent passwd
Untuk mendapatkan daftar grup:
kelompok getent
4. Menyelidiki File Sensitif
File sensitif seperti /etc/passwd Dan /etc/shadow berpotensi membocorkan banyak informasi. Dari /etc/shadow Anda dapat menemukan hash kata sandi pengguna dan mencoba memecahkannya dengan alat peretas hash seperti Hashcat atau John the Ripper.
Ada juga /etc/sudoers file, yang, jika Anda dapat mengeditnya entah bagaimana, akan memungkinkan memodifikasi izin sudo untuk pengguna dan grup.
5. Memeriksa Izin sudo
Manajemen izin sudo yang tepat sangat penting untuk keamanan sistem Linux. Menganalisis izin sudo akan memberi Anda wawasan tentang vektor potensial untuk eskalasi hak istimewa. Jika ada kesalahan konfigurasi seperti program tertentu yang memiliki tingkat hak istimewa yang mengkhawatirkan, Anda mungkin dapat mengeksploitasinya untuk mendapatkan akses root.
Ini hanyalah contoh dari banyak jalur serangan yang dapat dibuka setelah Anda memiliki kejelasan tentang izin sudo di sistem Linux. Contoh lain akan menyalahgunakan mekanisme pramuat perpustakaan LD_PRELOAD, yang dapat Anda sebutkan dengan melihat izin sudo.
sudo -l
6. Menemukan Eksploitasi Kernel Linux
Eksploitasi kernel Linux mematikan karena menyerang inti OS yang berjalan pada sistem yang disusupi. Dengan cacat kernel yang kritis, Anda dapat melakukan apa saja dengan sistem.
Untuk menemukan eksploit kernel, pertama, cari tahu versi kernel dan kemudian, gunakan alat seperti searchsploit atau, menggunakan Google Dorks, temukan eksploit yang sesuai yang memengaruhi versi persis kernel yang berjalan di sistem.
7. Memanfaatkan Binari SUID
SUID adalah singkatan dari Set Owner User ID saat eksekusi. Ini adalah jenis izin file khusus yang, jika disetel, mengeksekusi program dengan hak istimewa pemiliknya.
Jika sebuah program dibuat oleh pengguna root dan bit SUID diatur untuknya, program tersebut, ketika dijalankan, akan memiliki hak akses root. Bagaimana SUID bisa disalahgunakan? Itu mudah.
Hitung semua binari dengan set bit SUID, telusuri daftar, temukan biner yang akses tulisnya Anda miliki, dan edit sumbernya untuk menambahkan muatan Anda. Anda dapat menggunakan perintah find untuk mencari binari SUID dan mengalihkan keluaran standar ke /dev/null:
temukan / -perm -4000 2>/dev/null
8. Membajak Perpustakaan
Terkadang mungkin ada program yang berjalan di sistem yang menggunakan pustaka yang tidak dilindungi dari penulisan. Dalam skenario seperti itu, Anda dapat dengan mudah menimpa pustaka yang sedang digunakan dan mengendalikan fungsionalitas program.
Jika Anda beruntung dan menemukan program yang berjalan sebagai root, Anda dapat membajak pustaka tempat program itu bergantung dan berpotensi mendapatkan akses shell root.
9. Menyelidiki dan Membajak Variabel Lingkungan
Variabel lingkungan adalah jenis variabel khusus yang, sampai batas tertentu, menentukan bagaimana sistem dan program berfungsi. Variabel lingkungan yang penting adalah variabel PATH.
Ini menyimpan lokasi semua binari yang dapat dieksekusi dalam sistem. Anda dapat memanipulasi variabel PATH dan mengaitkannya dengan kerentanan lain seperti pembajakan perpustakaan untuk mendapatkan akses root.
Misalnya, ada yang dapat dieksekusi dengan set bit SUID. Agar berfungsi dengan baik, ini memanggil biner tanpa menentukan jalur lengkapnya.
Anda dapat memanfaatkan ini dengan membuat duplikat, versi berbahaya dari biner, dan memperbarui variabel PATH dengan lokasi biner berbahaya sehingga ketika SUID yang dapat dieksekusi dijalankan, biner jahat Anda akan dijalankan sebagai root, dan Anda akan dapat menelurkan shell root.
Selain itu, ada juga peluang bagus untuk menemukan kunci rahasia dan kata sandi hanya dengan melihat melalui variabel lingkungan. Anda dapat mencetak semua variabel lingkungan menggunakan perintah env:
lingkungan
10. Temukan Artefak di Sejarah Bash
Sering kali, riwayat pengguna saat ini tidak akan dihapus. Anda dapat menyalahgunakan ini untuk berpotensi mendapatkan akses ke informasi sensitif atau menjalankan kembali perintah sebelumnya dengan parameter yang dimodifikasi.
Meskipun ini mungkin tidak akan mengarah pada eskalasi hak istimewa, ini adalah sumber kebocoran informasi yang bagus untuk memberi Anda kejelasan tentang apa yang biasanya dilakukan pengguna pada sistem.
11. Membajak Pekerjaan Cron Rentan
Pekerjaan Cron adalah fitur Linux bawaan dan sangat banyak akal. Jika Anda bermigrasi dari Windows, tugas cron dapat langsung dibandingkan dengan tugas terjadwal di Windows.
Ini berjalan secara berkala dan mengeksekusi perintah. Baik waktu kapan akan dijalankan dan perintah yang akan dijalankan sudah ditentukan sebelumnya oleh pengguna. Kadang-kadang Anda mungkin menemukan beberapa cron job rentan terhadap serangan seperti injeksi wildcard atau dapat ditulis oleh pengguna yang Anda masuki.
Anda dapat menyalahgunakan kerentanan ini untuk mendapatkan akses root ke sistem. Untuk mengeksploitasi cron job, Anda harus terlebih dahulu menemukan yang rentan. Berikut adalah perintah untuk mencantumkan tugas cron yang sedang berjalan dan data relevan lainnya:
ls /etc/cron.d/
crontab -l -u
12. Mencantumkan Paket Kedaluwarsa
Ketika Anda telah membuat akses ke sistem, salah satu langkah pertama yang harus Anda ambil adalah membuat daftar semua paket perangkat lunak yang terinstal dan menghitung versi terinstalnya dengan rilis terbarunya.
Ada kemungkinan bahwa beberapa paket yang tidak jelas diinstal yang mungkin tidak banyak digunakan namun sangat rentan terhadap serangan eskalasi hak istimewa. Anda kemudian dapat mengeksploitasi paket itu untuk mendapatkan akses root.
Gunakan perintah dpkg dengan -l tag ke daftar paket yang diinstal pada sistem berbasis Debian dan Ubuntu:
dpkg -l
Untuk sistem RHEL/CentOS/Fedora, gunakan perintah ini untuk mendaftar paket yang diinstal:
rpm -qa
Sekarang Anda Tahu Cara Menghitung Linux Secara Manual untuk Eskalasi Privilege
Eskalasi hak istimewa hanya bergantung pada pencacahan. Semakin banyak informasi yang dapat Anda akses, semakin baik Anda dapat merencanakan strategi serangan Anda.
Pencacahan yang efisien adalah kunci untuk membangun pijakan, meningkatkan hak istimewa, dan berhasil mempertahankan sistem target Anda. Meskipun melakukan hal-hal secara manual memang membantu, beberapa tugas dapat ditugaskan ke alat otomatis untuk menghemat waktu dan tenaga. Anda harus tahu tentang alat keamanan terbaik untuk memindai sistem dari kerentanan.