【”破壳漏洞”的自我诊断及修复】现在正在火爆中的Bash漏洞又称为”破壳漏洞”,可导致远程攻击者在受影响的系统上执行任意代码,可影响多个系统服务:Web、ssh、gitlab、DHCP等等。这次漏洞著名漏洞CVE库颁发了2个漏洞编号:CVE-2014-6271 及 CVE-2014-7169 这是由于Bash官方在第一次修复的漏洞“CVE-2014-7169”的补丁不完整导致被绕过(也就是CVE-2014-7169)。2个漏洞的诊断测试方式不同,具体如下:
CVE-2014-6271 漏洞诊断测试:
打开“终端”输入env x=’() { :;}; echo vulnerable’ bash -c ‘echo hello’ 并执行如果显示:
[root@localhost ~]# env x=’() { :;}; echo vulnerable’ bash -c ‘echo hello’
vulnerable
hello
说明漏洞存在,如果显示:
[root@localhost ~]# env x=’() { :;}; echo vulnerable’ bash -c ‘echo hello’
bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x’
hello
说明CVE-2014-6271 漏洞被修复了。
CVE-2014-7169 漏洞诊断测试:
打开“终端”输入rm ./echo;env X=’() { (a)=>’ bash -c ‘echo date’; cat echo 并执行如果显示:
[root@localhost ~]# rm ./echo;env X=’() { (a)=>’ bash -c ‘echo date’;cat echo
bash: X: line 1: syntax error near unexpected token `=’
bash: X: line 1: `’
bash: error importing function definition for `X’
Fri Sep 26 12:03:35 CST 2014
成功现实date结果,说明CVE-2014-7169漏洞存在。
目前大部分的OS已经部署升级修复这2个漏洞,但是然后一些没有及时升级尤其是针对补丁绕过的CVE-2014-7169漏洞。
升级方法:
Ubuntu/Debian:apt-get upgrade
RedHat/CentOS/Fedora:yum update -y bash
建议升级后重启,并再次按上面的方法诊断。目前经测试部分OS结果如下[由于测试时间及更新源的问题请以自己诊断结果为准]
OS CVE-2014-6271 CVE-2014-7169
Ubuntu 修复 修复
CentOS 修复 未修复
Debian 修复 未修复
Redhat 修复 修复
……