dev*_*ull 13 linux security glibc vulnerability distributions
Ghost 漏洞是否需要访问(如作为登录用户)访问受影响的操作系统?有人可以澄清“能够进行应用程序调用的远程攻击者”吗?我似乎只找到直接在本地系统上运行的测试,而不是从远程主机上运行的测试。
到目前为止,我从多个来源收集的有关Ghost 漏洞的所有信息(归功于这些来源),我已在下面发布了答案,以防其他人感到好奇。
编辑,我找到了我的答案:
在代码审计期间,Qualys 研究人员发现 glibc 的 __nss_hostname_digits_dots() 函数中存在缓冲区溢出。此错误可以通过所有 gethostbyname*() 函数在本地和远程触发。应用程序主要通过 gethostbyname*() 函数集访问 DNS 解析器。这些函数将主机名转换为 IP 地址。
dev*_*ull 20
从Qualys回答我的问题:
在我们的测试过程中,我们开发了一个概念验证,我们将专门创建的电子邮件发送到邮件服务器,并可以将远程 shell 发送到 Linux 机器。这绕过了 32 位和 64 位系统上的所有现有保护(如 ASLR、PIE 和 NX)。
我在下面为其他人整理的研究:
尽管许多其他线程/博客可能会告诉您什么,但我建议不要在没有彻底测试这些glibc更新的情况下立即盲目地更新您拥有的每个操作系统。据报道,glibc 更新导致大量应用程序段错误,迫使人们将 glibc 更新回滚到以前的版本。
不能简单地在没有测试的情况下大规模更新生产环境。
GHOST 是影响 glibc 库中 gethostbyname() 和 gethostbyname2() 函数调用的“缓冲区溢出”错误。此漏洞允许远程攻击者通过应用程序调用这些函数中的任何一个来执行具有运行应用程序用户权限的任意代码。
gethostbyname() 函数调用用于 DNS 解析,这是一个非常常见的事件。要利用此漏洞,攻击者必须通过向执行 DNS 解析的应用程序提供无效的主机名参数来触发缓冲区溢出。
RHEL(红帽企业 Linux)版本 5.x、6.x 和 7.x
RHEL 4 ELS fix available ---> glibc-2.3.4-2.57.el4.2
Desktop (v. 5) fix available ---> glibc-2.5-123.el5_11.1
Desktop (v. 6) fix available ---> glibc-2.12-1.149.el6_6.5
Desktop (v. 7) fix available ---> glibc-2.17-55.el7_0.5
HPC Node (v. 6) fix available ---> glibc-2.12-1.149.el6_6.5
HPC Node (v. 7) fix available ---> glibc-2.17-55.el7_0.5
Server (v. 5) fix available ---> glibc-2.5-123.el5_11.1
Server (v. 6) fix available ---> glibc-2.12-1.149.el6_6.5
Server (v. 7) fix available ---> glibc-2.17-55.el7_0.5
Server EUS (v. 6.6.z) fix available ---> glibc-2.12-1.149.el6_6.5
Workstation (v. 6) fix available ---> glibc-2.12-1.149.el6_6.5
Workstation (v. 7) fix available ---> glibc-2.17-55.el7_0.5
Run Code Online (Sandbox Code Playgroud)
CentOS Linux 版本 5.x、6.x 和 7.x
CentOS-5 fix available ---> glibc-2.5-123.el5_11
CentOS-6 fix available ---> glibc-2.12-1.149.el6_6.5
CentOS-7 fix available ---> glibc-2.17-55.el7_0.5
Run Code Online (Sandbox Code Playgroud)
Ubuntu Linux 版本 10.04、12.04 LTS
10.04 LTS fix available ---> libc6-2.11.1-0ubuntu7.20
12.04 LTS fix available ---> libc6-2.15-0ubuntu10.10
Run Code Online (Sandbox Code Playgroud)
Debian Linux 版本 6.x、7.x
6.x squeeze vulnerable
6.x squeeze (LTS) fix available ---> eglibc-2.11.3-4+deb6u4
7.x wheezy vulnerable
7.x wheezy (security) fix available ---> glib-2.13-38+deb7u7
Run Code Online (Sandbox Code Playgroud)
Linux Mint 13.0 版
Mint 13 fix available ---> libc6-2.15-0ubuntu10.10
Run Code Online (Sandbox Code Playgroud)
Fedora Linux 版本 19(或更旧版本应升级)
Fedora 19 - vulnerable - EOL on Jan 6, 2014 (upgrade to Fedora 20/21 for patch)
Run Code Online (Sandbox Code Playgroud)
SUSE Linux Enterprise
Server 10 SP4 LTSS for x86 fix available ---> glibc-2.4-31.113.3
Server 10 SP4 LTSS for AMD64 and Intel EM64T fix available ---> glibc-2.4-31.113.3
Server 10 SP4 LTSS for IBM zSeries 64bit fix available ---> glibc-2.4-31.113.3
Software Development Kit 11 SP3 fix available ---> glibc-2.11.3-17.74.13
Server 11 SP1 LTSS fix available ---> glibc-2.11.1-0.60.1
Server 11 SP2 LTSS fix available ---> glibc-2.11.3-17.45.55.5
Server 11 SP3 (VMware) fix available ---> glibc-2.11.3-17.74.13
Server 11 SP3 fix available ---> glibc-2.11.3-17.74.13
Desktop 11 SP3 fix available ---> glibc-2.11.3-17.74.13
Run Code Online (Sandbox Code Playgroud)
openSUSE(11 之前的版本应该升级)
11.4 Evergreen fix available ---> glibc-2.11.3-12.66.1
12.3 fix available ---> glibc-2.17-4.17.1
Run Code Online (Sandbox Code Playgroud)
(归功于吉尔斯)
lsof -o / | awk '
BEGIN {
while (("rpm -ql glibc | grep \\\\.so\\$" | getline) > 0)
libs[$0] = 1
}
$4 == "DEL" && $8 in libs {print $1, $2}'
Run Code Online (Sandbox Code Playgroud)
lsof -o / | awk '
BEGIN {
while (("dpkg -L libc6:amd64 | grep \\\\.so\\$" | getline) > 0)
libs[$0] = 1
}
$4 == "DEL" && $8 in libs {print $1, $2}'
Run Code Online (Sandbox Code Playgroud)
检查版本号的最简单方法是运行以下命令:
ldd --version
Run Code Online (Sandbox Code Playgroud)
ldd (GNU libc) 2.12
Copyright (C) 2010 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.
Run Code Online (Sandbox Code Playgroud)
ldd (Ubuntu EGLIBC 2.15-0ubuntu10.9) 2.15
Copyright (C) 2012 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.
Run Code Online (Sandbox Code Playgroud)
ldd (Debian EGLIBC 2.13-38+deb7u6) 2.13
Copyright (C) 2011 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.
Run Code Online (Sandbox Code Playgroud)
芝加哥大学托管以下脚本以便于下载:
$ wget https://webshare.uchicago.edu/orgs/ITServices/itsec/Downloads/GHOST.c
[OR]
$ curl -O https://webshare.uchicago.edu/orgs/ITServices/itsec/Downloads/GHOST.c
$ gcc GHOST.c -o GHOST
$ ./GHOST
[responds vulnerable OR not vulnerable ]
Run Code Online (Sandbox Code Playgroud)
RHEL 4 ELS fix available ---> glibc-2.3.4-2.57.el4.2
Desktop (v. 5) fix available ---> glibc-2.5-123.el5_11.1
Desktop (v. 6) fix available ---> glibc-2.12-1.149.el6_6.5
Desktop (v. 7) fix available ---> glibc-2.17-55.el7_0.5
HPC Node (v. 6) fix available ---> glibc-2.12-1.149.el6_6.5
HPC Node (v. 7) fix available ---> glibc-2.17-55.el7_0.5
Server (v. 5) fix available ---> glibc-2.5-123.el5_11.1
Server (v. 6) fix available ---> glibc-2.12-1.149.el6_6.5
Server (v. 7) fix available ---> glibc-2.17-55.el7_0.5
Server EUS (v. 6.6.z) fix available ---> glibc-2.12-1.149.el6_6.5
Workstation (v. 6) fix available ---> glibc-2.12-1.149.el6_6.5
Workstation (v. 7) fix available ---> glibc-2.17-55.el7_0.5
Run Code Online (Sandbox Code Playgroud)
编译运行如下:
$ gcc ghosttester.c -o ghosttester
$ ./ghosttester
[responds vulnerable OR not vulnerable ]
Run Code Online (Sandbox Code Playgroud)
sudo yum clean all
sudo yum update
Run Code Online (Sandbox Code Playgroud)
现在重启生效:
sudo reboot
Run Code Online (Sandbox Code Playgroud)
或者,如果您的镜像不包含最新的软件包,只需手动下载它们。*注意:对于更高级的用户
http://mirror.centos.org/centos/5.11/updates/x86_64/RPMS/
Run Code Online (Sandbox Code Playgroud)
mkdir ~/ghostupdate
cd ~/ghostupdate
wget http://mirror.centos.org/centos/6.6/updates/x86_64/Packages/glibc-devel-2.12-1.149.el6_6.5.x86_64.rpm
wget http://mirror.centos.org/centos/6.6/updates/x86_64/Packages/glibc-common-2.12-1.149.el6_6.5.x86_64.rpm
wget http://mirror.centos.org/centos/6.6/updates/x86_64/Packages/nscd-2.12-1.149.el6_6.5.x86_64.rpm
wget http://mirror.centos.org/centos/6.6/updates/x86_64/Packages/glibc-static-2.12-1.149.el6_6.5.x86_64.rpm
wget http://mirror.centos.org/centos/6.6/updates/x86_64/Packages/glibc-headers-2.12-1.149.el6_6.5.x86_64.rpm
wget http://mirror.centos.org/centos/6.6/updates/x86_64/Packages/glibc-utils-2.12-1.149.el6_6.5.x86_64.rpm
wget http://mirror.centos.org/centos/6.6/updates/x86_64/Packages/glibc-2.12-1.149.el6_6.5.x86_64.rpm
wget http://mirror.centos.org/centos/6.6/updates/x86_64/Packages/glibc-static-2.12-1.149.el6_6.5.i686.rpm
wget http://mirror.centos.org/centos/6.6/updates/x86_64/Packages/glibc-devel-2.12-1.149.el6_6.5.i686.rpm
wget http://mirror.centos.org/centos/6.6/updates/x86_64/Packages/glibc-2.12-1.149.el6_6.5.i686.rpm
yum localupdate *.rpm [OR] rpm -Uvh *.rpm
Run Code Online (Sandbox Code Playgroud)
sudo apt-get clean
sudo apt-get update
sudo apt-get dist-upgrade
Run Code Online (Sandbox Code Playgroud)
重新开始:
sudo reboot
Run Code Online (Sandbox Code Playgroud)
要安装此 SUSE 安全更新,请使用 YaST online_update。或者根据您的版本使用以下命令:
zypper in -t patch sdksp3-glibc-10206
Run Code Online (Sandbox Code Playgroud)
zypper in -t patch slessp3-glibc-10206
Run Code Online (Sandbox Code Playgroud)
zypper in -t patch slessp3-glibc-10206
Run Code Online (Sandbox Code Playgroud)
zypper in -t patch slessp2-glibc-10204
Run Code Online (Sandbox Code Playgroud)
zypper in -t patch slessp1-glibc-10202
Run Code Online (Sandbox Code Playgroud)
zypper in -t patch sledsp3-glibc-10206
Run Code Online (Sandbox Code Playgroud)
zypper patch
Run Code Online (Sandbox Code Playgroud)
要在 OpenSUSE Linux 上查看包括 glibc 在内的可用更新列表,请输入:
zypper lu
Run Code Online (Sandbox Code Playgroud)
要简单地使用较新的可用版本更新已安装的 glibc 软件包,请运行:
zypper up
Run Code Online (Sandbox Code Playgroud)
telinit u
Run Code Online (Sandbox Code Playgroud)
' man telinit ' -- U 或 u 请求 init(8) 守护进程重新执行自身。不建议这样做,因为 Upstart 目前无法保留其状态,但在升级系统库时是必需的。
通过在所有面向公众的服务中禁用反向 DNS 检查,以有限的方式立即减轻威胁。例如,您可以禁用通过设置SSH反向DNS检查UseDNS到no你/etc/ssh/sshd_config。
来源(和更多信息):
| 归档时间: |
|
| 查看次数: |
7013 次 |
| 最近记录: |