关于Bash漏洞的事情

电脑杂谈  发布时间:2020-03-22 05:02:53  来源:网络整理

bash 漏洞工具_bash 漏洞 工具_bash 漏洞利用工具

英文原始链接,链接翻译,原始作者: Troy Hunt,翻译: Corfu

还记得Heartbleed错误吗?如果您今天相信这种压倒性的谣言,那就意味着Shellshock就是其中之一,并且它的名称也同样令人恐惧(弹性,精神疾病),只是因为它缺少一个漂亮的徽标(这些漏洞在市场部门的人们需要工作)更难). 但是说真的,这可能仍然是一个烦. 就像我上次在令人沮丧的漏洞中所做的那样,我希望收集一些信息,因此对于我自己来说,我知道如何解决此问题. 它还使其他人能够在各种谣言中真正意识到其潜在的风险.

首先,让我们做准备. 我将分享下面的内容. 本文对此漏洞进行了详细分析. 假设有这样一个HTTP请求:

target = 0.0.0.0/0
port = 80
banners = true
http-user-agent = shellshock-scan (http://blog.erratasec.com/2014/09/bash-shellshock-scan-of-internet.html)
http-header = Cookie:() { :; }; ping -c 3 209.126.230.74
http-header = Host:() { :; }; ping -c 3 209.126.230.74
http-header = Referer:() { :; }; ping -c 3 209.126.230.74

当它传递一系列易受攻击的IP地址时,结果将如下所示:

简而言之,罗伯特(Robert)刚刚向互联网发送了一个特别准备的请求. 他精心安排了一批外部计算机来ping通自己. 真正的担心是,他使这些机器执行任意命令(尽管这里只是一个友好的ping命令),这打开了另一个充满无限可能性的世界. 让我解释一下.

这是一个陈词滥调bash 漏洞 工具,您可以跳过它,但是对于不熟悉bash的人来说,了解此上下文很重要,因此我将简要介绍它. bash是* nix系统上的shell. 也就是说,它是一个解释器,可让您在Unix和Linux系统上执行命令. 它通常通过SSH或telnet连接. 正如我们通常在Apache中看到的那样,它也可以用作Web服务器上CGI脚本的解析器. 它自1980年代以来就已经存在,它是从早期的Shell实施演变而来的(名称源自Bourne shell),并且非常受欢迎. Unix家族中还有许多其他shell. Bash之所以特别,是因为它是Linux和Mac OS X系统的默认外壳,它们都是非常流行的操作系统. 该漏洞之所以如此之大也是一个非常重要的因素,bash无处不在,它被称为“任何Linux系统上安装最多的工具之一. ”

看看Netcraft Web服务器的最新统计数据,您可以感觉到bash的足迹:

一半的网站都在Apache(通常安装在Linux上)上运行,这是一个很大的蛋糕. Netcraft的同一篇文章还指出,在我们刚刚访问的10亿个Web网站中,有一半以上使用的是同一主机,该主机已经安装了许多bash. 好的-这只是一个Web服务器,请不要忘记Linux上还有许多其他服务器正在运行,我们将讨论其他哪些设备不久将使用bash.

Bash用于许多常见的管理功能,例如配置网站或控制设备(例如网络)上的嵌入式软件. 实质上,这些不是供外部使用的. 从理论上讲,我们谈论的是经过身份验证的用户运行被授权执行的命令. 当然,这只是理论上的.

bash 漏洞利用工具_bash 漏洞 工具_bash 漏洞工具

让我们看一下NIST漏洞中的CVE,因为它说明了它的严重性:

版本4.3之前的GNU bash将在环境变量值中定义函数之后处理字符串. 这使远程攻击者可以仔细布局并执行任意代码. 已知方法包括OpenSSH sshd中的ForceCommand功能. Apache HTTP服务器中的mod_cgi和mod_cgid模块,未知DHCP客户端执行的脚本以及在bash中设置环境变量的其他场景都跨越了权限边界.

就严重性而言,他们给的总分是10,是10. 这表示非常严重. 由于攻击很容易发动,因此情况更加复杂(访问难度非常低). 最明显的是,通过CGI脚本调用Cash不需要任何身份验证. 上面的描述有点复杂,让我们分析这个错误的原理.

主要风险是,您可以在BASH中自由定义环境变量,以指定函数定义. 当BASH在函数定义之后处理SHELL命令时,就会出现问题,我们称之为“代码注入攻击”. 让我们看一下罗伯特的例子,只看这一行:

http-header = Cookie:() { :; }; ping -c 3 209.126.230.74

此函数的定义是(){: ;}; SHELL命令是ping语句及其参数. 在bash shell环境中执行时,它可以执行任意命令. 在Web中,您可以使用类似于CGI脚本的机制,而不必在请求标头中使用. 仍然有必要阅读seclists.or中的建议,这些建议将被更详细地介绍,并且还提到路径和查询字符串也是潜在的攻击目标.

当然,解决此攻击路径的一种方法是禁用将调用SHELL的CGI函数. 确实有人建议这样做. 尽管在很多情况下它可能会造成非常严重的破坏,但至少需要进行更广泛的测试,以确保它不会直接导致站点出现问题,并且确实会发生很多次.

尽管上面的HTTP证书很简单,但却非常有说服力. 它只是一个通用协议的实现. 一旦使用Telnet或SSH(尤其是DHCP),风险就会上升,因此在这里我们不仅在讨论如何使用Web服务器进行攻击.

应该指出的是,造成破坏的可能性远远超过罗伯特的情况,仅仅是对地址的任意ping操作,他只是证明了您可以操作一台机器来执行Shell命令. 问题来了: 攻击者会选择对自己选择的肉鸡执行shell命令造成什么损害?

潜在的影响是巨大的-对于攻击者而言,捕获shell通常是成功的,因为对其进行控制等同于控制目标环境. 您可以访问内部数据,重新配置环境,发布其恶意代码等. 它是万能的,并且是自动化的. 有很多使用此功能的示例,许多机器都将轻松获胜.

不幸的是,由于它可以在Internet上几乎一半的网站的外壳中执行任意代码,因此后果是不可预测的. 最明显的是允许内部访问内部文件. 密码文件和配置文件是第一个可以想象得到的,并且可以想象系统上的其他文件.

类似地bash 漏洞 工具,可以使用相同的方法将文件写入系统. 这是攻击网站的最简单方法之一,更不用说它可以轻松发布一些恶意代码了.

bash 漏洞利用工具_bash 漏洞工具_bash 漏洞 工具

这怎么办: 我见过的最常见的词是: “蠕虫”:

我参加了2014年病毒公告会议,当时我们押注看到蠕虫会通过Shellshock传播.

当提到计算机中的恶意蠕虫时,我们指的是自我复制攻击. 恶意攻击者将编写可以在不同计算机之间传播的恶意代码. 例如,Myspace上的XSS蠕虫就是一个非常令人印象深刻的例子. 精心编写的JavaScript会在不到一天的时间内感染许多受害者的网页.

Shellshock担心的是,类似的攻击可以快速复制,尤其是当许多早期机器仍处于危险之中时. 从理论上讲,它将使用受感染的计算机来扫描可能传播和攻击的其他目标. 这绝不仅限于可公开访问的计算机,而且公司防火墙后面的计算机也不例外.

许正在使用此bug进行攻击. 这也是最早的日子很有趣的原因. 这是急于修补补丁的人与急于攻击的人之间的设备竞争.

如标题中所述,4.3之前的版本将受到影响,即Bash的25年版本. 由于每个人都喜欢将它与Heartbleed进行比较,考虑到受影响的OpenSSL版本仅发布了两年,因此与Shellshock相比,这算是什么. 是的,每个人都将升级他们的版本,但是他们将不会继续更新. Shellshock中潜在危险的计算机数量远远超过Heartbleed.

但是这种风险可能不限于版本4.3. 因为我们看到有报告说此修补程序不能完全解决所有问题,但是考虑到此修补程序的推出速度,这不足为奇. 那些受它影响的人应该始终注意这一点,而不仅仅是“修复它而忘记它”.

可以在公共媒体上找到的第一份报告是来自seclists.org的简短摘要,该摘要是格林尼治标准时间星期三18:00左右(西澳大利亚人大约凌晨2点). 我在前面提到的报告中指出了详细的介绍,大约一个小时后,大约在欧洲时间星期三下午或美国时间中午. 这仍然是一个非常新的新闻,现在它像一窝鸡一样被媒体media测,看到的攻击还为时过早,但是如果完全意识到此漏洞的可能性,那也很快

看看以前发布的消息,这个错误似乎已经由英国“ Unix / Linux网络通信专家”StéphaneChazelas指出. 正如Akamai在有关此BUG的文章中所提到的那样,他们认为它已经存在了很长时间,当然,这种易受攻击的Bash版本已经存在了大约一两年. 与Heartbleed一样,问题是恶意攻击者是否知道该错误并已经在使用它.

这变得很有趣-我们有很多东西正在运行Bash. 当然,当我这样说时,我的意思是越来越流行的“物联网”,它将IP地址和无线适配器植入到我们的许多物品中,从餐具到门锁再到电灯.

许多物联网设备通过Bash运行Linux发行版. 我们已经看到这些设备在其他领域存在非常严重的安全问题. 例如,几个月前,发现LIFX的电灯泄漏了WIFI证书. 尽管它不像Shellshock那样是Bash漏洞,但它还向我们表明,将我们的项目连接到Internet可以使我们原来安全的地方进入一个充满风险的新世界.

这也带来了许多新的挑战: 例如,谁会总想修补自己的灯?再考虑一下该设备的使用寿命,是否需要管理该设备上的软件. 像几年前的Trendnet摄像机这样的漏洞,毫无疑问,网络上仍然有很多这样的摄像机,因为很容易将左耳插入右耳. 实际上,在此示例中,有一个T

bash 漏洞 工具_bash 漏洞工具_bash 漏洞利用工具

witter帐户仍在广播所捕获用户的受攻击版本的图片. 这是一个不容易解决的大问题,而且将在我们身边长期存在.

类似地,Bash安装在许多常见设备上,例如我们家庭中的路由器,这些设备通常是面向网络的. 还记得上次修补固件的时间吗?好吧,如果您读到您仍然是一名技术人员的文章,仍然可以修补路由器,但是如果您是普通消费者,请三思. 就是这样.

准确地说,是“否”. 让我谈谈一个简单的Windows本机,它没有Bash,但是有Windows版本的Bash. 当然,这并不常见,并且不太可能在消费者的PC上使用. 尚不清楚诸如win-bash之类的产品是否也会受到Shellshock漏洞的影响.

确切地说,尽管您使用的是主要的Windows平台,但这并不意味着您的计算机由于其他原因将不会运行Bash. 在撰写Heartbleed文章时,我引用了Nick Craver的一篇文章,将Stack Overflow迁移到SSL. 下图可以说明其体系结构:

Microsoft应用程序堆栈前面有许多非Microsoft组件,流量必须先通过它们,然后才能传递到Web服务器. 有些组件位于防火墙后面并具有更高的权限-如果Shellshock攻击这些组件该怎么办?这种影响将是巨大的,这就是我在这里要说的: Shellshock可能会影响除危险的Bash实施之外的事情,因为它存在于更广泛的生态系统中.

首先,看看您是否也有这种风险. 这很简单,因为它易于复制. 寄存器建议一种简单的测试方法,只需在您的shell中运行以下命令即可:

env X="() { :;} ; echo busted" /bin/sh -c "echo stuff”

如果您的系统中存在此漏洞,它将输出“已删除”.

当然,我们现在应该做的就是对此有风险的系统应用补丁. 此修补程序的本质是确保Bash函数之后不会执行代码. 红帽之类的Linux版本已经发布了解决此风险的指南,因此请首先尝试.

我们肯定会看到一些入侵检测系统,当然还有一些常见的可检测模式. 对于大多数组织而言,这可能是一种简单有效的方法,尤其是某些公司在修补之前必须进行大量测试. Qualys希望能够快速定位攻击检测,当然,其他IDS提供商也正忙于此.

一种更激进的方法是用另一种Shell实施替换bash,或者隔离有风险的系统,这两者都会产生较大的影响,因此做出此决定并不容易. 但这可能是许处理此问题的方式-实际改善业务的艰难决定是避免潜在的更严重后果.

bash 漏洞利用工具_bash 漏洞工具_bash 漏洞 工具

每个人都关心的另一个问题是您自己计算机上的shellshock漏洞是否已被利用. 如果没有攻击日志,则很难确认(如果通过HTTP请求标头或请求正文传递,通常就没有日志),但这比Heartbleed更容易找到,这几乎是不可能的. 后者. 输出到日志. 但是,“我是否已被Shellshock袭击”最常见的答案是:

不幸的是,没有这样的回答: “不,我们已经确认这将不会有任何效果”,相反,“从漏洞出现之时起,没有确凿的证据表明您遭到了攻击. ”我相信许会回答这个问题-这会使系统所有者感到不舒服,因为他不知道系统发生了什么(如果发生了).

让我们猜猜国家安全局是否会介入.

这取决于. Shellshock将影响Mac系统,因此,如果您使用的是OS X,则现在看起来非常危险. 一方面,情况不佳,因为Mac非常流行. 另一方面,由于其更新机制,因此易于修复. . (Apple可以将更新远程推送到此计算机).

如果您使用的是Mac,则可以按照Stack Exchange上的响应轻松地检测是否成功:

这很容易测试,但是我怀疑普通Mac用户在看到此用于重新编译bash的修复程序时会感到不舒服(注意: 我感到非常不舒服).

更麻烦的是某些设备可能不容易维修,例如路由器. 除了检查制造商网站上是否有固件更新之外,没有简便的方法. 通常,ISP提供的路由器是锁定的,因此用户无法修改配置或固件. 通常,没有可以触发的远程更新. 考虑到许多设备已经在外面,修复它们仍然有些困难. 当然,如果您是解决此问题的普通消费者,那么您肯定会感到非常不满意.

简而言之,我向消费者推荐: 重点关注安全更新,尤其是OS X上的用户. 还要注意从ISP或运行嵌入式软件的其他设备上获得的设备. 请特别注意那些要求您提供信息或引导您运行软件的电子邮件,此类事件总是伴随着许多网络钓鱼攻击,这些攻击利用了消费者的恐惧. 最近的恶作剧病毒使用户可以将iPHone放在微波炉中,因此不要以为他们不会运行发送给他们的“修复” Shellshock电子邮件.

我们对这个漏洞所了解的仅此而已. 当然,许会将它与Heartbleed进行比较,并且我们将从中学到很多东西. 一个是我们花了一点时间来了解我们对OpenSSL的依赖程度. 另一个是几个月之后还远远没有结束,仍然有数不清的知名站点尚未修复.

但是从某种意义上说,将它与Heartbleed-shellshock进行比较可能不公平. Heartbleed使您可以远程访问受影响的计算机内存中的少量数据. Shellshock可以远程注入代码以执行任意命令,而无需进行身份验证,这估计会更好. 因此,我同意罗伯特所说的话:

顺便说一句,“ bash”漏洞比Heartbleed严重得多.

还有很短的时间. 从首次被披露和遭到攻击到撰写本文仅半天时间,将会发生什么,我想我们只是看到了一个肤浅的现象.

本文最初发布在我的个人博客: Java Translator.


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-147945-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...