Bash远程代码执行漏洞修复

Bash漏洞

2014年9月25日,继“心脏滴血”之后,这个从澳大利亚远渡重洋而来的bash远程执行漏洞再次让互联网震惊。如果说心脏滴血只能借助窃取用户电脑信息,而bash漏洞允许黑客远程控制电脑,从而拿到系统的最高权限!

漏洞详情页面:http://seclists.org/oss-sec/2014/q3/650

Bash漏洞的原理:

BASH除了可以将shell变量导出为环境变量,还可以将shell函数导出为环境变量!当前版本的bash通过以函数名作为环境变量名,以“(){”开头的字串作为环境变量的值来将函数定义导出为环境变量。

此次爆出的漏洞在于BASH处理这样的“函数环境变量”的时候,并没有以函数结尾“}”为结束,而是一直执行其后的shell命令。

简单地说就是,Bash脚本在解析某些特殊字符串时出现逻辑错误导致可以执行后面的命令。

如何知道你的bash是否有漏洞呢?使用如下命令进行测试

[[email protected] ~]# env x=‘() { :;}; echo vulnerable‘ bash -c "echo this is a test"

Vulnerable

this is a test

[[email protected] ~]#bash --version

GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)

Copyright (C) 2009 Free Software Foundation, Inc.

License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.

There is NO WARRANTY, to the extent permitted by law.

[[email protected] ~]#

如果测试返回值为上述结果:请务必尽快升级。

目前官方提供的升级包需要运行:yum  -y update bash

升级如下操作:

当然了上述操作适用于redhat centos fedora的系统,其它系统升级请看官方给出的修补方案

升级之后再次测试

当然了这个不是最终的方式,但一定是目前为止最佳的方式

官方后期会发布更加稳固的修复方案

其实我更加感兴趣的是这个测试的代码

env x=‘() { :;}; echo vulnerable‘ bash -c "echo this is a test"

从执行结果来看“echo vulnerable”和“echo this is a test”都被执行了。

Bash –c当然是正常的执行string-command,主要是echo vulnerable为何会执行呢?其实就是一个env的赋值操作

变量x=() { :;}; echo vulnerable,() { :;};定义了一个function而这个function没有任何操作而后面的echo vulnerable被解析后得到了执行权。简单点说呢:如果我把echo vulnerable换成其它的code(具有破快性的code)后果会怎样呢?

其实像这种的env操作就是简单的渗入式攻击

详细参考如下网址

http://seclists.org/oss-sec/2014/q3/650

http://www.reddit.com/r/netsec/comments/2hbxtc/cve20146271_remote_code_execution_through_bash/

http://www.reddit.com/r/programming/comments/2hc1w3/cve20146271_remote_code_execution_through_bash/

其实你自己完全可以在本地的server上(apache/nginx)测试

此处略去。。。

时间: 2024-10-04 20:22:51

Bash远程代码执行漏洞修复的相关文章

Bash远程代码执行漏洞批量利用脚本

Bash远程代码执行漏洞的威力确实要比心脏滴血大很多,但是影响范围不是很广泛,不过昨天的分析文章Bash远程代码执行漏洞分析中末尾提到了这个漏洞的批量问题. 其中最最简单的方法就是使用搜索引擎的hacking技术,这里我使用的Google Hacking语法结合Google API来进行链接的抓取.只不过在国内的话....需要加代理. 程序中的代理是我本地的goagent代理,端口是8087.如何检测漏洞思路也很简单,我这里直接根据服务器返回码进行判断的. 思路就是以上这些,下面还是和往常一样,

Bash远程代码执行漏洞分析

 今日爆出一个Bash的RCE漏洞,威力巨大.看了看老外的分析,觉得有必要写一写自己对这个漏洞的理解. 首先,问题起因于一个命令ENV. 原型: env [OPTION]... [NAME=VALUE]... [COMMAND [ARGS]...] Man是这么说的: Display, set, or remove environment variables,Run a command in a modified environment. 我的理解是使用env命令的key=value,首先会

Office CVE-2017-8570远程代码执行漏洞复现

实验环境 操作机:Kali Linux IP:172.16.11.2 目标机:windows7 x64 IP:172.16.12.2 实验目的 掌握漏洞的利用方法 实验工具 Metaspliot:它是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报.这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程,团队合作. 实验内容 Office CVE-2017-8570 CVE-2017-8570漏

关于发布的CVE-2013-2251漏洞,strust远程代码执行漏洞

(*该漏洞影响版本:Struts 2.0.0 – Struts 2.3.15) (*该博客仅仅只是记录我工作学习时遇到的问题,仅供参考!) (*如果,描述中可能存在错误,请多指教!) 在昨天在对我目前负责的那个项目进行日常维护的时候,系统被别人攻克,上传了一个.txt文件,他人可以直接访问这个项目下txt文件,就可以获取到txt文件内的内容. 首先,介绍下我目前维护的项目,使用的是strust2.1+hibernate3.0架构模式,也就是javaweb+SSH框架,不过为了简化,并没有添加sp

小米手机MIUI远程代码执行漏洞分析

7月我在研究webview漏洞时专门挑小米手机的MIUI测试了下,发现了非常明显的安全漏洞.通过该漏洞可以远程获取本地APP的权限,突破本地漏洞和远程漏洞的界限,使本地app的漏洞远程也能被利用,达到隔山打牛的效果.在漏洞发现的第一时间,我已经将漏洞细节报告给了小米安全响应中心,目前漏洞已经修复. 测试环境:手机型号:MI 3 Android版本:4.2.1 JOP40D MIUI版本:MIUI-JXCCNBE21 内核版本:3.4.35-ga656ab9 一.   小米MIUI原生浏览器存在意

Apache Tomcat CVE-2017-12615远程代码执行漏洞分析

2017年9月19日, Apache Tomcat官方发布两个严重的安全漏洞, 其中CVE-2017-12615为远程代码执行漏洞,通过put请求向服务器上传恶意jsp文件, 再通过jsp文件在服务器上执行任意代码, 且最新的补丁未完全修复漏洞.中新网安将对该漏洞进行持续关注, 并第一时间为您更新相关漏洞信息. 漏洞编号 CVE-2017-12615 漏洞名称 Apache Tomcat 远程代码执行漏洞 漏洞评级 严重 影响范围 Apache Tomcat 7.0.0 - 7.0.79 漏洞分

Samba远程代码执行漏洞(CVE-2017-7494)复现

简要记录一下Samba远程代码执行漏洞(CVE-2017-7494)环境搭建和利用的过程,献给那些想自己动手搭建环境的朋友.(虽然已过多时) 快捷通道:Docker ~ Samba远程代码执行漏洞(CVE-2017-7494) 演      示:服务器版“永恒之蓝”高危预警 (Samba远程命令执行漏洞CVE-2017-7494) 攻击演示 漏洞描述 影响版本 Samba 3.5.0到4.6.4/4.5.10/4.4.14的中间版本. 这句话应该这么来理解,该漏洞影响Samba 3.5.0之后的

隐藏17年的Office远程代码执行漏洞(CVE-2017-11882)

Preface 这几天关于Office的一个远程代码执行漏洞很流行,昨天也有朋友发了相关信息,于是想复现一下看看,复现过程也比较简单,主要是简单记录下. 利用脚本Github传送地址 ,后面的参考链接都有成功的比较详细的案例了. 主要是要用到如图中的两个脚本,example文件夹中有个doc,应该直接打开就能弹计算器了. 复现过程 国外最先发布的poc地址:https://github.com/embedi/CVE-2017-11882 这里我们使用的是Ridter师傅改进过的脚本:https:

Samba远程代码执行漏洞(CVE-2017-7494) 复现

漏洞背景:Samba是在Linux和UNIX系统上实现SMB协议的一个软件,2017年5月24日Samba发布了4.6.4版本,中间修复了一个严重的远程代码执行漏洞,漏洞编号CVE-2017-7494,漏洞影响了Samba 3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本,,确认属于严重漏洞,可以造成远程代码执行. 环境准备×××机:kali2018靶机:Centos6.5(samba 3.6.9) 靶机部分: [[email protected] ~]# yum inst