幽靈漏洞是linux glibc庫上出現的乙個嚴重的安全問題,他可以讓攻擊者在不了解系統的任何情況下遠端獲取作業系統的控制許可權。目前他的cve編號為cve-2015-0235。
什麼是glibc
glibc是gnu發布的libc庫,即c執行庫。glibc是linux系統中最底層的api,幾乎其它任何執行庫都會依賴於glibc。glibc除了封裝linux作業系統所提供的系統服務外,它本身也提供了許多其它一些必要功能服務的實現。glibc 囊括了幾乎所有的 unix 通行的標準。
出現了什麼漏洞
**審計公司qualys的研究人員在glibc庫中的__nss_hostname_digits_dots()函式中發現了乙個緩衝區溢位的漏洞,這個bug可以經過 gethostbyname*()函式被本地或者遠端的觸發。應用程式主要使用gethostbyname*()函式發起dns請求,這個函式會將主機名稱轉換為ip位址。
漏洞危害
這個漏洞造成了遠端**執行,攻擊者可以利用此漏洞獲取系統的完全控制權。
漏洞證明
在我們的測試中,我們編寫了乙個poc,當我們傳送一封精心構造的電子郵件給伺服器後,我們便可以獲得遠端linux伺服器的shell,這繞過了目前在32位和64位系統的所有保護(如aslr,pie和nx)。
我們能做什麼?
給作業系統及時打補丁,我們(qualys)已與linux發行商緊密合作,會及時發布補丁。
為什麼叫做ghost?
因為他通過gethost函式觸發。
哪些版本和作業系統受影響?
第乙個受影響的版本是gnu c庫的glibc-2.2,2023年11月10號發布。我們已找出多種可以減輕漏洞的方式。我們發現他在2023年5月21號(在glibc-2.17和glibc-2.18發布之間)已經修復。不幸的是他們不認為這是個安全漏洞。從而導致許多穩定版本和長期版本暴露在外,其中包括debian 7 (wheezy),red hat enterprise,linux 5 & 6 & 7,centos 5 & 6 & 7,ubuntu 12.04等
修復方案
公升級glibc庫:
rhel/centos : sudo yum update glibc
ubuntu : sudo apt-get update ; sudo apt-get install libc6
漏洞測試方法:
wget
編譯:gcc -o ghost ghost.c
執行:./ghost
如果輸出:
[root@localhost home]# ./ghost
not vulnerable
表示漏洞已經修復,如果僅輸出「vulnerable」字樣,表示漏洞依然存在。
指令碼測試漏洞
wget -o ghost-test.sh
bash ghost-test.sh
[root@localhost ~]# bash ghost-test.sh
vulnerable glibc version <= 2.17-54
vulnerable glibc version <= 2.5-122
vulnerable glibc version <= 2.12-1.148
detected glibc version 2.12 revision 149
not vulnerable.
Linux glibc幽靈漏洞修復方法
cve 2015 0235 linux glibc幽靈漏洞允許黑客遠端獲取系統許可權 測試漏洞是否存在 把下面的 儲存為gistfile1.c include include include include include define canary in the coal mine struct ...
Linux glibc幽靈漏洞測試與修復方法
一 linux glibc幽靈漏洞簡介 2015年1月28日網際網路上爆出linux glibc幽靈漏洞 glibc gethostbyname buffer overflow,也有人將其稱之為 20150127ghost gethostbyname heap overflow in glibc 在...
Linuxglibc幽靈漏洞測試與修復方法
linuxglibc幽靈漏洞測試與修復方法 simeon 一 linux glibc幽靈漏洞簡介 2015年1月28日網際網路上爆出linux glibc幽靈漏洞 glibc gethostbyname buffer overflow,也有人將其稱之為 20150127ghost gethostby...