“破壳”(Shellshock)漏洞修复

简介: “破壳”(Shellshock)漏洞修复   背景:          距离“破壳”(Shellshock)漏洞漏洞爆发一句过去两周有余了(2014年9月24日公布)。

“破壳”(Shellshock)漏洞修复

 

背景:

         距离“破壳”(Shellshock)漏洞漏洞爆发一句过去两周有余了(2014年9月24日公布)。相信很多人都已经听说过了这个危害等级为十的漏洞,编号为CVE-2014-6271,该漏洞将导致远程攻击者在受影响的系统上执行任意代码;相比之下,与上一个著名的漏洞“心脏出血”只有五,不过奇怪的是,“破壳”漏洞目前的反响并不高。“破壳”漏洞实际上早在1989年实际上就已经存在了,修复也是极为麻烦的。且目前为止也没有哪个bash补丁能够保证100%修复,强烈建议及时更新最新的bash相关系统补丁,以做到系统的尽可能安全。

漏洞影响范围:

         安天CERT目前已经验证在Redhat、CentOS、Ubuntu、Fedor、Amazon Linux、MacOS 10.10均拥有存在CVE-2014-6271漏洞的Bash版本,同时由于Bash在各主流操作系统的广泛应用,此漏洞的影响范围包括但不限于大多数应用Bash的Unix、Linux、MacOS;而针对这些操作系统管理下的数据均存在高危威胁。漏洞的利用方式会通过与Bash交互的多种应用展开,包括HTTP、DNS、OpenSSH、DHCP等。

漏洞原理:

      目前的Bash使用的环境变量是通过函数名称来调用的,导致漏洞出问题的是以”(){”开头定义的环境变量在命令ENV中解析成函数后,Bash执行未退出,而是继续解析并执行shell命令,而其核心的原因在于在输入的过滤中没有严格限制边界,也没有做出合法化的参数判断。

         在补丁中主要进行了参数的合法性过滤,补丁程序在/bulitins/evalstring.c的parse_and_execute函数中进行了输入的command进行了合法性的边界检测,将代码注入的可能性排除。在排除中主要用到了flags的两次判断和command的一次类型匹配,为了能够flags判断准确,在补丁中预先定义了SEVAL_FUNCDEF、SEVAL_ONECMD两个标识作为判断依据。此漏洞的进行补丁更新有三处,主要进行输入的command进行过滤作用。

         从阐述的漏洞原理可知,漏洞的根本原因存在于Bash的ENV命令实现上,因此漏洞本身是不能够直接导致远程代码执行的。如果达到远程代码执行的目的,必须要借助第三方服务程序作为媒介才能够实现,第三方服务程序也必须满足众多条件才可以充当此媒介的角色。漏洞名称Shellshock代码为CVE-2014-6271的漏洞原理图见如下:


漏洞验证方法:

         目前的Bash脚本是以通过导出环境变量的方式支持自定义函数,也可将自定义的Bash函数传递给子相关进程。一般函数体内的代码不会被执行,但此漏洞会错误的将“{}”花括号外的命令进行执行。

###egg:
[root@web3 ~]# env x=\'() { :;}; echo vulnerable\' bash -c \"echo this is a test\"
vulnerable
this is a test

###如上执行结果表明是存在Shellshock漏洞的。

修复案例:
         在这里将演示离线环境修复Redhat EnterPrise 5的Shellshock漏洞,详细步骤见如下:

<span style="font-family:Georgia, Bitstream Charter, serif;">1、查看操作系统和bash版本:
[root@db01 ~]# lsb_release -d
Description: Red Hat Enterprise Linux Server release 5.8 (Tikanga)

[root@db01 ~]# bash -version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.

2、打开官网进入CVE-2014-6271漏洞数据库页面,找到对应版本的补丁下载
https://access.redhat.com/security/cve/CVE-2014-6271

3、漏洞补丁下载下来之后是如下两个文件
[root@db01 ~]# ll bash-*
-rw-r--r-- 1 root root 1901644 Oct 10 18:10 bash-3.2-33.el5_10.4.x86_64.rpm
-rw-r--r-- 1 root root 1380099 Oct 10 18:10 bash-debuginfo-3.2-33.el5_11.4.x86_64.rpm

4、安装补丁
[root@db01 ~]# rpm -ivh bash-debuginfo-3.2-33.el5_11.4.x86_64.rpm 
warning: bash-debuginfo-3.2-33.el5_11.4.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
   1:bash-debuginfo ########################################### [100%]
[root@db01 ~]# rpm -ivh bash-3.2-33.el5_10.4.x86_64.rpm --force
warning: bash-3.2-33.el5_10.4.x86_64.rpm: Header V3 DSA signature: NOKEY, key ID e8562897
Preparing... ########################################### [100%]
   1:bash ########################################### [100%] </span>
[root@db01 ~]#
至此该漏洞已经修复完成。

漏洞修复验证:

          修复完成之后执行如下命令验证,其结果说明漏洞已经修复:

[root@db01 ~]# env x=\'() { :;}; echo vulnerable\' bash -c \"echo this is a test\" 
this is a test
[root@db01 ~]#
[root@db01 ~]# env -i X=\'() { (a)=>\\\' bash -c \'echo date\'; cat echo
date
Fri Oct 10 18:28:34 CST 2014
[root@db01 ~]#

补丁附件:

bash-3.2-33.el5_10.4.x86_64  -







目录
相关文章
|
6月前
|
存储 安全 网络协议
windocs服务器漏洞修复
windocs服务器漏洞修复
54 0
|
6月前
|
安全 关系型数据库 MySQL
windocs服务器漏洞修复(二)
windocs服务器漏洞修复(二)
48 0
|
运维 监控 安全
网站漏洞修复答疑相关解决办法
网站漏洞修复答疑相关解决办法
826 0
网站漏洞修复答疑相关解决办法
|
SQL 安全 前端开发
网站漏洞修复 被上传webshell漏洞修补
近日,我们SINE安全在对某客户的网站进行网站漏洞检测与修复发现该网站存在严重的sql注入漏洞以及上传webshell网站木马文件漏洞,该网站使用的是某CMS系统,采用PHP语言开发,mysql数据库的架构,该网站源码目前是开源的状态。
364 0
网站漏洞修复 被上传webshell漏洞修补
|
安全 JavaScript PHP
如何对ecshop网站漏洞进行修复防止被入侵
ecshop目前最新版本为4.0,是国内开源的一套商城系统,很多外贸公司,以及电商平台都在使用,正因为使用的人数较多,很多攻击者都在挖掘该网站的漏洞,就在最近ecshop被爆出高危漏洞,该漏洞利用跨站伪造函数,来对网站数据库进行攻击。
412 0
如何对ecshop网站漏洞进行修复防止被入侵
|
安全 Windows
重要通知 | Windows系统高危漏洞修复方案
4月14日,境外黑客组织公开了一份包含多个Windows远程漏洞利用工具的机密文档。为确保云上用户的业务安全,阿里云在4月15日早上九点半发布了漏洞公告及修补措施,以确保用户不受漏洞影响。
7454 0
|
Web App开发 监控 安全
阿里云盾提醒网站被WebShell木马后门分析与对策
收到阿里云用户朋友的反馈,说运行了一年的网站突然遭到黑客的攻击,系统cpu一直保持在100%,有进程也干不掉,然后客户就进行杀毒了,然后就把所有的exe文件都杀了,然后系统也就很多功能不正常了
9614 0
|
安全 网络安全
网站安全渗透测试 之squid代理漏洞挖掘与修复
在对网站进行渗透测试的时候,发现很多网站都在使用squid反向代理系统,该系统存在可以执行远程代码的漏洞,很多客户找我们SINE安全做渗透测试服务的同时,我们会先对客户的网站进行信息搜集工作,包括域名,二级域名收集,网站使用的反向代理系统,网站程序开发语言,是否使用开源的代码,以及网站后台路径收集,都在前期渗透中需要做的。
1657 0
|
安全 Shell 数据库
WordPress网站漏洞利用及漏洞修复解决方案
2019年正月刚开始,WordPress最新版本存在远程代码注入获取SHELL漏洞,该网站漏洞影响的版本是wordpress5.0.0,漏洞的产生是因为image模块导致的,因为代码里可以进行获取目录权限,以及文件包含功能,导致远程代码注入成功。
2292 0