Linux Bash严重漏洞-“Shellshock”

Linux官方内置Bash中新发现一个非常严重安全漏洞,代号”Shellshock”(漏洞参考https://access.redhat.com/security/cve/CVE-2014-6271  ),黑客可以利用该Bash漏洞完全控制目标系统并发起攻击。
特别提醒:目前解决办法是Linux官方提供的解决办法,针对此漏洞Linux官方解决办法仍然有可能会被绕过,后续我们会提供较为彻底的解决办法

Bash漏洞的攻击原理?

据 Linuxidc网站介绍 ,GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行shell命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用Bash shell之前可以用构造的值创建环境变量。这些变量可以包含代码,在shell被调用后会被立即执行。
这是属于远程任意代码执行的安全漏洞,所以可以完全控制电脑。

漏洞存在条件:

任何已知程序,只要满足以下两个条件就可以被用来通过Bash漏洞导致任意命令执行:
1、程序在某一时刻使用Bash作为脚本解释器处理环境变量赋值;
2、环境变量赋值字符串的提交取决于用户输入。

如何验证漏洞:

那如何验证是否存在漏洞?可以使用如下命令来检查系统是否存在此漏洞:
修复前 ,输出:

1

使用修补方案修复后:

2

特别提示:该修复不会有任何影响,如果您的脚本使用以上方式定义环境变量,修复后您的脚本执行会报错。

影响范围:

GNU Bash≤4.3,此漏洞可能会影响到使用ForceCommand功能的OpenSSH sshd、使用mod_cgi或mod_cgid的Apache服务器、DHCP客户端、其他使用Bash作为解释器的应用等。
而 另一个网站更详细的报道介绍 ,这个漏洞能影响众多的运行在GNU/Linux上的会跟BASH交互的应用程序,

包括:

1.在sshd配置中使用了ForceCommand用以限制远程用户执行命令,这个漏洞可以 绕过限制去执行任何命令。一些Git和Subversion部署环境的限制Shell也会出 现类似情况,OpenSSH通常用法没有问题。
2.Apache服务器使用mod_cgi或者mod_cgid,如果CGI脚本在BASH或者运行在子 SHELL里都会受影响。子Shell中使用C的system/popen,Python中使用 os.system/os.popen,PHP中使用system/exec(CGI模式)和Perl中使用 open/system的情况都会受此漏洞影响。
3.PHP脚本执行在mod_php不会受影响。
4.DHCP客户端调用shell脚本接收远程恶意服务器的环境变量参数值的情况会被 此漏洞利用。
5.守护进程和SUID程序在环境变量设置的环境下执行SHELL脚本也可能受到影响。
6.任何其他程序执行SHELL脚本时用BASH作为解释器都可能受影响。Shell脚本不 导出的情况下不会受影响。

建议修补方案:
centos/rhel:
yum -y update bash

此条目发表在Safe分类目录,贴了标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注