Linux Glibc幽灵漏洞紧急修补方案【转】
转自:http://blog.csdn.net/chen19870707/article/details/43560823
幽灵漏洞是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 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 https://webshare.uchicago.edu/orgs/ITServices/itsec/Downloads/GHOST.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.
最新文章
- __DATE__ 与 __TIME__转换为标准格式时间字符串的方法
- BLE教程 - 官方tutorial翻译
- Android Fragment (二) 实例2
- Android Studio运行程序出现Session ‘app’: Error Launching activity 解决办法
- Eclipse 常用设置
- Objective-C 内存管理与高级环境编程 阅读分享
- 为Pythonic论坛添加一个“专题”功能
- sphinx随笔记了一下
- 561. Array Partition I
- JAVA实现ATM源代码及感想
- CUDA各版本官方下载地址
- 实时折射、镜面反射shader
- 排错-SP2-1503:无法初始化Oracle调用界面解决
- build high performance server 转载
- C:\WINDOWS\system32\drivers\etc\hosts 文件的作用
- Linux / mysql: is it safe to copy mysql db files with cp command from one db to another?
- 安装vim 出现 terminal libary 错误,解决方法
- ETL概念,ETL流程
- Linux系统——文件和目录权限
- simulink生成hdl的几个理解