Perpustakaan GNU C (GLIBC) berfungsi sebagai perpustakaan C dalam sistem GNU dan merupakan bagian integral dari sistem berbasis Linux. Pada intinya, GLIBC mendefinisikan fungsi penting untuk program, termasuk panggilan sistem dan fungsi umum seperti Open, Malloc, Printf, dan Exit. Dynamic Loader, komponen vital GLIBC, memainkan peran kunci dalam mempersiapkan dan melaksanakan program dengan mengelola perpustakaan bersama dan menghubungkannya saat runtime.
Diperkenalkan untuk memberdayakan pengguna tanpa kompilasi ulang, variabel lingkungan GLIBC_Tunables memungkinkan pengguna memodifikasi perilaku GLIBC saat runtime. Ini menyediakan sarana untuk menyesuaikan parameter kinerja dan perilaku, mempengaruhi startup aplikasi.
Kerentanan buffer overflow dalam pemrosesan glibc_tunables dinamis Loader menimbulkan risiko keamanan yang kritis. Eksploitasi memberikan penyerang lokal meningkatkan hak istimewa, berpotensi mengarah ke akses akar penuh. Eksploitasi yang berhasil pada distribusi besar seperti Fedora, Ubuntu, dan Debian menggarisbawahi keparahan dan dampak luas.
Penyalahgunaan atau eksploitasi kerentanan ini dapat memengaruhi kinerja sistem, keandalan, dan keamanan. Sementara detail eksploitasi ditahan, risikonya sudah dekat, karena luapan buffer dapat dengan cepat berubah menjadi serangan data saja. Distribusi Linux populer menggunakan GLIBC mungkin rentan, menekankan perlunya kesadaran dan mitigasi yang cepat.
Ditugaskan: 3 Oktober 2023
Jenis: Eskalasi Hak Hak Hikwa Lokal
Versi yang terpengaruh: GLIBC 2.34 dan yang lebih baru
Distribusi: Rhel, Ubuntu, Fedora, Debian, Amazon Linux, Gentoo, dan lainnya menggunakan mitigasi glibc
Upgrade: Terapkan pembaruan GLIBC segera.
Monitor: Tetap mendapat informasi tentang nasihat keamanan.
Ulasan: Menilai penggunaan GLIBC_TUNABLES dalam aplikasi.
Audit: Periksa log sistem untuk aktivitas yang mencurigakan.
Ubuntu 22.04 Ubuntu Glibc 2.35-0ubuntu3.1 Su dari Util-Linux 2.37.2 ASLR di
Ubuntu bekas (versi 22.04.1) ISO untuk membuat mesin virtual
Setelah instalasi yang berhasil, kita tidak perlu memperbarui apa pun, tetapi kami akan menginstal paket Git dan GNU Binutils karena tidak ditemukan dalam sistem, dan ketika Anda mengkompilasi skrip Python Exploit Anda akan menghadapi kesalahan.
Dengan menggunakan perintah ini:
$ sudo apt install git
$ sudo apt install binutils
Periksa apakah itu rentan
$ env -i "GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=A" "Z=`printf '%08192x' 1`" /usr/bin/su --help
Jika mengeluarkan
Segmentation fault (core dumped)
maka itu rentan.
Periksa versi linker/loader dinamis, sering dikaitkan dengan perpustakaan GNU C (GLIBC)
$ ldd --version
Output akan memberikan versi GLIBC
ldd (Ubuntu GLIBC 2.35-0ubuntu3.6) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
Sekarang kita tahu mesin kita rentan dan siap untuk meningkatkan hak istimewa root
Catatan: Kita tidak boleh menginstal GCC di mesin, jika kita menginstal itu akan kehilangan kerentanannya, maka skrip tidak akan berfungsi.
Karena kami tidak menginstal GCC dan kami perlu mengkompilasi program C di mesin host dan kemudian mengimpornya ke mesin tamu.
Kami dapat mengkompilasi program C dengan perintah ini
$ gcc exploit.c -o (outputname)
Setelah mengimpor file output program C juga mengimpor skrip Python (GenLib.py).
Sekarang kompilasi skrip python
$ python3 genlib.py
Setelah menyusun folder '"' dibuat.
Kami akan melakukan ini di /TMP folder sehingga pengguna dapat menjalankan skrip dan program
Sekarang akhirnya kami akan menjalankan program untuk meningkatkan hak istimewa root
$ ./(nameoftheprogram)
Ini akan memakan waktu dan akan mendapatkan shell root.
Aman untuk memberdayakan, bukan dieksploitasi!
Referensi: