阅读更多

很多人或许对上半年发生的安全问题“心脏流血”(Heartbleed Bug)事件记忆颇深,然而仅时隔几个月,又出现了另外一个“毁灭级”的漏洞——Bash软件安全漏洞。

谁是Bash漏洞的发现者?

iThome网站报道,Bash漏洞是由法国GNU/Linux爱好者Stéphane Chazelas所发现。

随后,美国电脑紧急应变中心(US-CERT)、红帽以及多家从事安全的公司于周三(北京时间9月24日)发出警告。 

为什么说Bash安全漏洞是毁灭级的?

业内人士都知道,Bash是Unix Shell的一种。虽然当初的Bash编写是为了GNU计划而编写,打算用在GNU操作系统上,但它能运行于大多数类Unix操作系统上,这包括Linux与Mac OS系统。

百度百科的介绍显示,Bash(GNU Bourne-Again Shell)是大多数Linux系统以及Mac OS X v10.4默认的shell,它能运行于大多数Unix风格的操作系统之上,甚至被移植到了Microsoft Windows上的Cygwin系统中,以实现Windows的POSIX虚拟接口。此外,它也被DJGPP项目移植到了MS-DOS上。

而Bash的命令语法是Bourne shell命令语法的超集。数量庞大的Bourne shell脚本大多不经修改即可以在Bash中执行,只有那些引用了Bourne特殊变量或使用了Bourne的内置命令的脚本才需要修改。可以说,Bash是类Unix系统的核心,如果Bash出现了漏洞,则说明攻击者可以控制机器一切。

Bash漏洞现在带来的影响?

据悉,这个Bash漏洞为远程解析命令执行漏洞(CVE-2014-6271),可以直接在Bash支持的Web CGI环境下远程执行任何命令。这也就使得一些路由器、堡垒机、VPN等网络设备将会成为重灾区,另外各大Linux发行版和Mac OS X系统都受影响,甚至Android也会受到影响。

据乌云漏洞报告平台称,这个漏洞对一般的网站影响并不大,但对那些受到影响的网站却是很“凶残”,因为之前声称所能使用的补丁,黑客可以轻松绕过。

乌云知识库称,目前Shellshock蠕虫已经开始传播。从漏洞披露到蠕虫病毒出现,也就一天时间,时间间隔非常短,说明这或许真的是一场互联网安全领域的“灾难”。

值得一提的是,目前负责维护Bash Shell的Chet Ramey已经修补该漏洞,更新Bash 3.0至Bash 4.3的版本,可以运行:yum update -y bash进行升级处理。不过新版本Bash是否完全解决了安全问题,目前仍不得而知。

是添油加醋还是真的很严重?

网络安全公司Rapid7工程部经理Tod Beardsley称,Bash漏洞危险几倍很高,但利用复杂度为“低”,只要剪切和粘贴一行代码即可,意味着黑客可以很轻松地利用发起攻击,这从一定程度上又加剧了互联网安全灾难。另外,网络安全公司Trail of Bits的CEO Dan Guido指出,不同于“heartbleed”漏洞,Bash漏洞能取得用户电脑控制权。

据一位叫djvu9的微博用户称,目前已经可以通过DHCP server来远程执行代码了,说不定拿个安卓手机去各种敏感场所,然后做个热点再把SSID改成什么CMCC Free WiFi就行了。

然而一位叫meng_b的微博用户对这个漏洞有点不以为然,他在微博中称:“整的跟多大事情似的,实际没有多少应用涉及这个事情,谁没事做拿Bash写CGI呢? 也就git这类应用受影响吧。”而用户则指出,Redhat博客已经说明,Git/SVN都有中招的可能。

知乎一名叫“Rix Tox”的用户称,不过就目前得到的信息来看,该漏洞虽然可以造成很严重的破坏,但不见得影响范围就比Heartbleed要大。该漏洞主要影响的是CGI程序,通过注入HTTP字段让Bash在初始化环境变量的时候执行任意Bash命令。具体来说,感觉跟SQL注入有点类似,不过这个更加严重一点,因为直接有执行系统命令的权限。

但据业内人士称,暂时无法估计这个安全漏洞影响究竟多大,就像当时无法预估究竟有多少人在使用内含Heartbleed漏洞的OpenSSL一样。是的,有大量软件以某种方式与Shell交互,所以根本没有办法列出受该漏洞影响的所有软件。另外,由于该漏洞已经在Linux中存在很长时间,所以修补某个Linux很容易,但是要全部修补,不太容易实现。

不管怎么说,只要出现漏洞,都应得到重视。目前,国内安全实验室安天对漏洞带来的影响进行了总结:

  • 此漏洞可以绕过ForceCommand在sshd中的配置,从而执行任意命令。
  • 如果CGI脚本用Bash或subshell编写,则使用mod_cgi或mod_cgid的Apache服务器会受到影响。
  • DHCP客户端调用shell脚本来配置系统,可能存在允许任意命令执行,尤其作为根命令的形式,在DHCP客户端的机器上运行。
  • 各种daemon和SUID/privileged的程序都可能执行shell脚本,通过用户设置或影响环境变数值,允许任意命令运行。

结束语

在曝光Bash漏洞后,有人开玩笑称,Windows系统终于胜出了一局。其实,不论是Linux、Unix,还是Windows,计算机的安全永远都是相对的。就拿Bash漏洞来说,或许这个漏洞早已在地下传播很久,最近才曝出来,只是因为有良心的人愿意披露出来而已……所以永远都没有绝对安全的系统,安全也只是暂时没有曝光或没发现漏洞而已。

不过好在这个漏洞终于曝光,得到了所有人关注,相信曝光的越彻底,修复也将会越彻底。

附录:Bash漏洞的攻击原理和检测方法等

Bash漏洞的攻击原理?
Linuxidc网站介绍,GNU Bash 4.3及之前版本在评估某些构造的环境变量时存在安全漏洞,向环境变量值内的函数定义后添加多余的字符串会触发此漏洞,攻击者可利用此漏洞改变或绕过环境限制,以执行shell命令。某些服务和应用允许未经身份验证的远程攻击者提供环境变量以利用此漏洞。此漏洞源于在调用Bash shell之前可以用构造的值创建环境变量。这些变量可以包含代码,在shell被调用后会被立即执行。
这是属于远程任意代码执行的安全漏洞,所以可以完全控制电脑。
漏洞存在条件:
据金山毒霸论坛的一名工作人员称(http://bbs.duba.net/thread-23211524-1-1.html),任何已知程序,只要满足以下两个条件就可以被用来通过Bash漏洞导致任意命令执行:
1、程序在某一时刻使用Bash作为脚本解释器处理环境变量赋值;
2、环境变量赋值字符串的提交取决于用户输入。
如何验证漏洞
那如何验证是否存在漏洞?可以使用如下命令来检查系统是否存在此漏洞:
env x='() { :;}; echo vulnerable' bash -c "echo this is a test"
影响范围:
GNU Bash≤4.3,此漏洞可能会影响到使用ForceCommand功能的OpenSSH sshd、使用mod_cgi或mod_cgid的Apache服务器、DHCP客户端、其他使用Bash作为解释器的应用等。
另一个网站更详细的报道介绍,这个漏洞能影响众多的运行在GNU/Linux上的会跟BASH交互的应用程序,
包括:
  • 在sshd配置中使用了ForceCommand用以限制远程用户执行命令,这个漏洞可以绕过限制去执行任何命令。一些Git和Subversion部署环境的限制Shell也会出现类似情况,OpenSSH通常用法没有问题。
  • Apache服务器使用mod_cgi或者mod_cgid,如果CGI脚本在BASH或者运行在子SHELL里都会受影响。子Shell中使用C的system/popen,Python中使用os.system/os.popen,PHP中使用system/exec(CGI模式)和Perl中使用open/system的情况都会受此漏洞影响。
  • PHP脚本执行在mod_php不会受影响。
  • DHCP客户端调用shell脚本接收远程恶意服务器的环境变量参数值的情况会被此漏洞利用。
  • 守护进程和SUID程序在环境变量设置的环境下执行SHELL脚本也可能受到影响。
  • 任何其他程序执行SHELL脚本时用BASH作为解释器都可能受影响。Shell脚本不导出的情况下不会受影响。
  • 大小: 219.8 KB
  • 大小: 102.4 KB
来自: CSDN
1
0
评论 共 2 条 请登录后发表评论
2 楼 forcer521 2014-09-28 10:04
如何升级
很简单,直接运行下边apt-get命令即可:

sudo apt-get update && sudo apt-get install bash

运行以后再运行上边的代码会提示:

bash: warning: x: ignoring function definition attempt
bash: error importing function definition for `x'
hello
1 楼 WS_Daniel 2014-09-28 09:22
这个安全漏洞不早就有修复方案了么。主要是针对部署了SSL证书的用户这个就比较危险。上次在一家沃通CA机构就已经得到修复心血漏洞的修复方案了。现在都没什么问题了。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • bash代码注入的安全漏洞原理详解

    很多人或许对上半年发生的安全问题“心脏流血”(Heartbleed Bug)事件记忆颇深,这两天,又出现了另外一个“毁灭级”的漏洞——Bash软件安全漏洞。这个漏洞由法国GNU/Linux爱好者Stéphane Chazelas所发现。随后,...

  • Linux 曝出重大bash安全漏洞及修复方法

    日前Linux官方内置Bash中新发现一个非常严重安全漏洞(漏洞参考https://access.redhat.com/security/cve/CVE-2014-6271),***可以利用该Bash漏洞完全控制目标系统并发起***。已确认被成功利用的软件及系统:所有...

  • 红队系列-网络安全知识锦囊(持续更新)

    CN-SEC 中文网 | 聚合网络安全,存储安全技术文章,融合安全最新讯息。T00ls | 低调求发展 - 潜心习安全 - T00ls.Com。2、CTF系列-CRYPTO密码学加解密编码算法专题篇。3、CTF系列-REVERSE逆向反编译专题篇。红队专题-...

  • 新手对Bash环境变量解析漏洞的理解 http://www.linuxidc.com/Linux/2014-10/107984.htm

    Linux再曝安全漏洞Bash 比心脏出血还严重  http://www.linuxidc.com/Linux/2014-09/107176.htm 解决办法是升级 Bash ,请参考 这篇文章 。 http://www.linuxidc.com/Linux/2014-09/107182.htm Bash远程...

  • 26.Nginx详解

    (该问题在prefork模式下,同样会发生) 1.2.1.3:Apache event模型 Apache中最新的模式,2012年发布的apache 2.4.X系列正式支持event 模型,属于事件驱动模型(epoll),每个进程响应多个请求,在现在版本里的已经是...

  • 渗透测试 ( 1 ) --- 相关术语、必备 工具、导航、全流程总结、入侵网站思路

    而学习黑客也是同样的道理,对于新手小白的第一课应该是以掌握基础的安全工具为主,这样在学习的同时可以进行实践,验证所学的知识,同时加以扩展,这样学习效率会大大提升...........................................

  • 【Linux学习】安全基线配置检查

    Linux服务器安全运维 1、删除特殊用户和用户组 Linux在系统安装完后,会默认安装很多不必要的用户和用户组,如果不需要这些用户或用户组,应删除它们,因为账户越多,越不安全。 Linux系统中可删除的默认用户和...

  • wuyun知识库目录

    1269.利用Office宏及Powershell的针对性攻击...1267.Android安全开发之ZIP文件目录遍历2016-06-23 1266.search-guard 在 Elasticsearch 2.3 上的运用2016-06-23 1265.签名加密破除-burp插件在app接口fuzz中的运用201

  • 渗透面试整理

    web安全常见漏洞修复建议 6 3.1. CSRF 6 3.2. SQL注入 7 3.3. OS命令注入 7 3.4. XPath注入 7 3.5. LDAP注入 7 3.6. JSON注入 8 3.7. XSS 8 3.8. 会话攻击 8 3.9. 身份认证 8 3.10. 直接对象引用 8 3.11. Tomcat安全...

  • node-v0.8.10-sunos-x64.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • 【课程设计】实现的金融风控贷款违约预测python源码.zip

    【课程设计】实现的金融风控贷款违约预测python源码.zip

  • node-v0.10.27-x86.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • 课设毕设基于SSM的高校二手交易平台-LW+PPT+源码可运行.zip

    课设毕设基于SSM的高校二手交易平台--LW+PPT+源码可运行

  • c++,冒险游戏,可供学习

    冒险游戏,可供学习

  • node-v0.11.7-sunos-x64.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • node-v0.8.6-sunos-x64.tar.gz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

  • 基于C语言的天气客户端的实现.zip

    基于C语言的天气客户端的实现.zip

  • internet_download_manager_6.42.3.zip

    internet_download_manager_6.42.3

  • 第一版商业计划书(1).doc

    第一版商业计划书(1).doc

Global site tag (gtag.js) - Google Analytics