转自: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.

最新文章

  1. __DATE__ 与 __TIME__转换为标准格式时间字符串的方法
  2. BLE教程 - 官方tutorial翻译
  3. Android Fragment (二) 实例2
  4. Android Studio运行程序出现Session ‘app’: Error Launching activity 解决办法
  5. Eclipse 常用设置
  6. Objective-C 内存管理与高级环境编程 阅读分享
  7. 为Pythonic论坛添加一个“专题”功能
  8. sphinx随笔记了一下
  9. 561. Array Partition I
  10. JAVA实现ATM源代码及感想
  11. CUDA各版本官方下载地址
  12. 实时折射、镜面反射shader
  13. 排错-SP2-1503:无法初始化Oracle调用界面解决
  14. build high performance server 转载
  15. C:\WINDOWS\system32\drivers\etc\hosts 文件的作用
  16. Linux / mysql: is it safe to copy mysql db files with cp command from one db to another?
  17. 安装vim 出现 terminal libary 错误,解决方法
  18. ETL概念,ETL流程
  19. Linux系统——文件和目录权限
  20. simulink生成hdl的几个理解

热门文章

  1. js函数节流和函数防抖
  2. 再生龙备份还原linux系统
  3. pre-commit钩子,代码质量检查
  4. laravel5 使用try catch
  5. Kafka 基础实战 :消费者和生产者实例
  6. 牛客网暑期ACM多校训练营(第七场)A Minimum Cost Perfect Matching(找规律)
  7. HDU 4965 Fast Matrix Calculation 矩阵快速幂
  8. 编译参数-ObjC的说明
  9. 从Windows想Linux上传文件 Linux(CentOS) 上安装vsftpd
  10. webdriver高级应用- 使用Chrome浏览器自动将文件下载到指定路径