Shellshock

科普中国-科学百科 2018-03-03

  Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开。

  简介

  Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开。许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易受攻击的Bash版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统。1

  定义

  许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易受攻击的Bash版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统。1

  背景

  Shellshock错误将影响Bash,即各种基于Unix的系统用来执行命令行和命令脚本。它通常安装为系统的默认命令行界面。对Bash的源代码历史的分析显示自1989年9月Bash版本1.03发布以来,这些bug已经存在。

  Shellshock是一个特权升级漏洞,它为系统用户提供了执行应该不可用的命令的方法。这是通过Bash的“函数导出”功能发生的,因此在一个运行的Bash实例中创建的命令脚本可以与下级实例共享。通过在实例之间共享的表内编码脚本(称为环境变量列表)来实现此功能。Bash的每个新实例都会扫描此表以获取编码脚本,将每个实例组装成一个在新实例中定义该脚本的命令,然后执行该命令。新实例假设在列表中找到的脚本来自另一个实例,但是它不能验证这个,也不能验证它构建的命令是一个正确形成的脚本定义。因此,攻击者可以在系统上执行任意命令,或利用Bash命令解释器中可能存在的其他错误(如果攻击者有办法操纵环境变量列表并导致Bash运行)。

  2014年9月24日向公众发布了这个bug,当时Bash更新了这个修补程序,准备发布尽管需要一些时间来更新计算机来解决潜在的安全问题。2

  攻击报告

  在发布Bash漏洞一小时之内,就有机器被这个漏洞攻击的报告。截至2014年9月25日,攻击者正在利用基于计算机攻击的基于计算机的僵尸网络进行分布式拒绝服务(DDoS)攻击和漏洞扫描。卡巴斯基实验室报告称,受到攻击的机器被称为“谢谢 - 罗布”,正在对三个目标进行DDoS攻击,他们没有指出。2014年9月26日,一家名为“wopbot”的与Shellshock有关的僵尸网络被报道,该蠕虫被用于针对Akamai Technologies的DDoS攻击并扫描美国国防部。

  9月26日,安全公司Incapsula在过去24小时内对1800多个来自400个唯一IP地址的网络域进行了17400次攻击;55%的攻击来自中国和美国。截至9月30日,网站性能公司CloudFlare表示,它每天跟踪大约150万次与该bug有关的攻击和探测。

  10月6日,广泛报道,雅虎服务器在涉及Shellshock问题的攻击中受到了损害。然而,第二天却被否认是特别允许这些袭击的是壳牌之击。2

  具体的开采载体基于CGI的Web服务器

  当Web服务器使用公共网关接口(CGI)来处理文档请求时,它会将请求中的某些信息复制到环境变量列中,然后将请求委托给处理程序。如果处理程序是一个Bash脚本,或者如果它使用system(3)调用执行一个,则Bash将接收由服务器传递的环境变量,并将按上述方式处理它们。这为攻击者提供了使用特制文档请求触发Shellshock漏洞的方法。

  广泛使用的ApacheWeb服务器的安全性文档指出:“如果不仔细检查,CGI脚本可能是非常危险的”,而通常使用其他处理Web服务器请求的方法。有许多在线服务试图针对暴露给Internet的Web服务器来测试漏洞。2

  OpenSSH服务器

  OpenSSH有一个“ForceCommand”功能,在用户登录时执行一个固定的命令,而不是只运行一个不受限制的命令shell。即使用户指定应该运行另一个命令,固定命令也会执行;在这种情况下,原来的命令被放到环境变量“SSH_ORIGINAL_COMMAND”中。当在Bash shell中运行强制命令时(如果用户的shell设置为Bash),Bash shell将在启动时解析SSH_ORIGINAL_COMMAND环境变量,并运行嵌入在其中的命令。用户使用他们的受限shell访问来获得不受限制的shell访问,使用Shellshock错误。2

  DHCP客户端

  一些DHCP客户端也可以将命令传递给Bash;连接到开放的Wi-Fi网络时,易受攻击的系统可能受到攻击。DHCP客户端通常从DHCP服务器请求并获取IP地址,但也可以提供一系列附加选项。恶意DHCP服务器可以在这些选项之一中提供一个字符串,用于在易受攻击的工作站或笔记本电脑上执行代码。2

  Qmail服务器

  当使用Bash处理电子邮件(例如,通过.forward或qmail别名管道)时,qmail邮件服务器通过一种可以利用脆弱版本的Bash的方式传递外部输入。2

  IBM HMC受限制的shell

  该错误可以被利用来从访问击受限shell所述的IBM硬件管理控制台,一个微小的Linux变化为系统管理员。IBM发布了一个补丁来解决这个问题。2

  本词条内容贡献者为:

  李嘉骞 - 博士 - 同济大学

责任编辑:科普云

上一篇:时间分割测试

下一篇:MUD

科普中国APP 科普中国微信 科普中国微博
科普中国-科学百科
是中国科协为深入推进科普信息化建设而塑造的全新品牌,旨在以科普内容建设为重点,充分依托现有的传播渠道和平台,使科普信息化建设与传统科普深度融合,以公众关注度作为项目精准评估的标准,提升国家科普公共服务水平。

猜你喜欢