歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux安全 >> Linux glibc幽靈漏洞緊急修補方法

Linux glibc幽靈漏洞緊急修補方法

日期:2017/2/27 17:10:24   编辑:Linux安全
幽靈漏洞是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,2000年11月10號發布。我們已找出多種可以減輕漏洞的方式。我們發現他在2013年5月21號(在glibc-2.17和glibc-2.18發布之間)已經修復。不幸的是他們不認為這是個安全漏洞。從而導致許多穩定版本和長期版本暴露在外,其中包括Debian 7 (wheezy),Red Hat Enterprise,Linux 6 & 7,CentOS 6 & 7,Ubuntu 12.04等

修復方案
升級glibc庫:
RHEL/CentOS : sudo yum update glibc

Ubuntu : sudo apt-get update ; sudo apt-get install libc6

漏洞測試方法:
wget https://webshare.uchicago.edu/orgs/ITServices/itsec/Downloads/GHOST.c
# OR
wget -O GHOST.c https://gist.githubusercontent.com/koelling/ef9b2b9d0be6d6dbab63/raw/de1730049198c64eaf8f8ab015a3c8b23b63fd34/gistfile1.c

編譯:
gcc -o GHOST GHOST.c

執行:
./GHOST

如果輸出:
[root@localhost home]# ./GHOST
not vulnerable
表示漏洞已經修復,如果僅輸出“vulnerable”字樣,表示漏洞依然存在。

腳本測試漏洞
wget -O GHOST-test.sh http://www.cyberciti.biz/files/scripts/GHOST-test.sh.txt
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.
Copyright © Linux教程網 All Rights Reserved