GNU C庫(GLIBC)用作GNU系統中的C庫,並且是基於Linux的系統不可或缺的。 GLIBC的核心定義了程序的基本功能,包括系統調用和諸如Open,Malloc,printf和Exit的常見功能。 Dynamic Loader是GLIBC的重要組成部分,通過管理共享庫並在運行時鏈接它們在準備和執行程序中起關鍵作用。
介紹以授權用戶而無需重新編譯,GLIBC_Tunables環境變量使用戶可以在運行時修改Glibc的行為。它提供了一種調整性能和行為參數的方法,從而影響應用程序啟動。
動態加載器處理GLIBC_Tunables中的緩衝區溢出漏洞構成了關鍵的安全風險。剝削授予當地攻擊者提高特權,可能導致完全訪問。成功利用了Fedora,Ubuntu和Debian等重大分佈,強調了嚴重性和廣泛的影響。
濫用或剝削此漏洞會影響系統性能,可靠性和安全性。雖然刪除了漏洞的細節,但風險即將出現,因為緩衝區溢出可以迅速轉變為僅數據攻擊。使用GLIBC的流行Linux分佈可能很容易受到影響,這強調了迅速意識和緩解的需求。
分配:2023年10月3日
類型:本地特權升級
受影響的版本:GLIBC 2.34及以後
發行:Rhel,Ubuntu,Fedora,Debian,Amazon Linux,Gentoo和其他使用GLIBC緩解措施
升級:迅速應用GLIBC更新。
顯示器:請了解安全諮詢。
評論:評估應用程序中的glibc_tunables。
審核:檢查系統日誌是否可疑活動。
Ubuntu 22.04 Ubuntu Glibc 2.35-0ubuntu3.1 SU來自Util-Linux 2.37.2 ASLR ON
二手Ubuntu(版本22.04.1)ISO用於創建虛擬機
成功安裝後,我們不必更新任何內容,但是我們將安裝Git和GNU Binutils軟件包,因為它在系統中找不到,並且當您編譯漏洞利用Python腳本時,您將面臨錯誤。
通過使用這些命令:
$ sudo apt install git
$ sudo apt install binutils
檢查是否脆弱
$ env -i "GLIBC_TUNABLES=glibc.malloc.mxfast=glibc.malloc.mxfast=A" "Z=`printf '%08192x' 1`" /usr/bin/su --help
如果輸出
Segmentation fault (core dumped)
則它是脆弱的。
檢查通常與GNU C庫(GLIBC)關聯的動態鏈接器/加載器的版本
$ ldd --version
輸出將提供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.
現在我們知道我們的機器很脆弱,可以升級根特徵
注意:我們不應該在計算機中安裝GCC,如果我們安裝它將失去其漏洞,因此腳本將無法正常工作。
由於我們沒有安裝GCC,因此我們需要在主機計算機中編譯C程序,然後將其導入到Guest Machine。
我們可以使用此命令
$ gcc exploit.c -o (outputname)
編譯C程序
導入C程序的輸出文件後,還會導入Python(Genlib.py)腳本。
現在編譯Python腳本
$ python3 genlib.py
在編譯了一個“”文件夾之後。
我們將在 /TMP文件夾中執行此操作,以便用戶可以執行腳本和程序
現在最後,我們將執行該程序以升級根源特權
$ ./(nameoftheprogram)
這將需要一些時間,並獲得根殼。
確保授權,而不是利用!
參考: