为什么有些 CentOS 5 机器在升级 Bash 后仍然容易受到 ShellShock 的攻击?

Oz *_*mon 5 security bash centos yum rpm

我有两个 CentOS 5.10 boxen,已升级bash到最新版本。但是,在其中一个框中,bash仍然容易受到攻击CVE-2014-7169(我正在使用此 ServerFault answer 中的测试)。

关于为什么一台机器可以而另一台机器不行的任何想法?我可以检查什么?

我已经检查过的:

1- 确保两台机器都运行相同的操作系统(两台机器的输出相同):

# cat /etc/redhat-release
CentOS release 5.10 (Final)
Run Code Online (Sandbox Code Playgroud)

2- 确保我有相同的版本bash(两者输出相同):

# rpm -qi bash
Name        : bash                         Relocations: (not relocatable)
Version     : 3.2                               Vendor: CentOS
Release     : 33.el5_10.4                   Build Date: Thu 25 Sep 2014 08:58:19 PM UTC
Install Date: Sat 27 Sep 2014 02:07:07 PM UTC      Build Host: sclbuild-c5.centos.org
Group       : System Environment/Shells     Source RPM: bash-3.2-33.el5_10.4.src.rpm
Size        : 5235475                          License: GPLv2+
Signature   : DSA/SHA1, Fri 26 Sep 2014 02:11:39 AM UTC, Key ID a8a447dce8562897
Run Code Online (Sandbox Code Playgroud)

3-仔细检查二进制文件是否正常签名(两者输出相同):

# rpm -V bash
Run Code Online (Sandbox Code Playgroud)

(此命令没有输出,表明已检出二进制签名)

4- 检查二进制文件是否实际上是相同的版本(如 Cyrus 在评论中所建议的):(两台机器上的输出相同)

# rpm -qf /bin/bash
bash-3.2-33.el5_10.4
Run Code Online (Sandbox Code Playgroud)

5- 检查二进制文件的大小

# ls -l /bin/bash    (Good machine)
-rwxr-xr-x 1 root root 801816 Sep 25 20:55 /bin/bash

# ls -l /bin/bash    (Bad/vulnerable machine)
-rwxr-xr-x 1 root root 768952 Sep 25 20:55 /bin/bash
Run Code Online (Sandbox Code Playgroud)

请注意,文件大小不同。

6-实际测试漏洞

# ## on the good machine
# env X='() { (a)=>\' sh -c "echo date"; cat echo
date
cat: echo: No such file or directory

# ## on the bad/vulnerable machine
# env X='() { (a)=>\' sh -c "echo date"; cat echo
date
Sat Sep 27 13:44:36 UTC 2014
Run Code Online (Sandbox Code Playgroud)

小智 6

可能是误报 - 确保在您的坏机器上的早期测试中不存在“echo”文件,然后重新测试。

如果失败,也可能是误报 - 检查您是否可以在您的好机器上触摸文件,然后重新测试。