开发者社区> 晚来风急> 正文

Wget重定向漏洞技术分析与防护方案

简介:
+关注继续查看

Wget是GNU计划开发的一套用于在网络上进行下载的自由软件,是Unix/Linux系统最常用的下载工具,支持通过HTTP、HTTPS以及FTP这三个最常见的TCP/IP协议下载。

Wget 1.18之前的版本在对HTTP服务重定向进行处理时存在 漏洞 ,远程攻击者可以利用此 漏洞 写入任意文件,CVE编号为CVE-2014-4877,CVSS分值为9.3【严重】。

官方通告地址如下:

https://lists.gnu.org/archive/html/bug-wget/2016-06/msg00033.html

影响的版本

Wget < 1.18

不受影响的版本

Wget = 1.18

技术分析

HTTP服务可以将网络请求重定向到其他目标。

20160711_57838e2d50f79.jpg

当HTTP服务将wget的请求重定向到FTP服务时,wget会默认信赖重定向的FTP URL,而没有进行二次验证或对下载文件名进行适当的处理。

利用此 漏洞 ,远程攻击者可以通过控制HTTP重定向指向的FTP文件名,实现对敏感文件的写入操作。

例如,攻击者可以控制HTTP重定向的Location字段,将指向poc.txt的请求重定向到FTP服务上一个名为.bash_profile的文件:

20160711_57838e2daa04d.jpg

并将攻击payload写入此文件:

20160711_57838e2e12b61.jpg

此时,如果存在 漏洞 的主机使用wget访问http://10.8.55.11/poc.txt,就会将.bash_profile文件下载到本地。

20160711_57838e2e6ced2.jpg

而如果wget操作是在home路径下执行,且该home目录下原本不存在.bash_profile文件,则此次下载的.bash_profile中的代码就会在下次进入shell时被触发。

攻击者监听指定的端口,当payload被执行后便可以获取到被攻击主机的shell:

20160711_57838e2ec7627.jpg

官方修复分析:

从wget的github的项目中可以看到,这个 漏洞 (CVE-2016-4971)是在这个commit中修复的:

https://github.com/mirror/wget/commit/e996e322ffd42aaa051602da182d03178d0f13e1

从修复的log中可以看出,本次修复主要修复了ftp_loop和ftp_loop_interval这两个基础函数。

20160711_57838e2f3532e.jpg

从这个改动可以看出,在调用从FTP下载文件的函数时多传了一个原始URL参数,在生成本地文件的文件名时使用了原始的URL,于是在保存本地文件的时候并不是使用了跳转后的连接中的文件名,而是使用wget中传入参数的URL连接中的文件名作为了保存的文件名。

测试一下wget1.14和wget1.18(修复版本)

20160711_57838e2f94b6e.jpg

显然,wget1.18版本已经处理了跳转后的文件名,和传入URL链接的文件名保持一致。

防护方案

  • 通过命令wget –V可以获得当前wget的版本,如果为受影响的版本,建议升级到1.18版本。
  • 在调用wget命令时,尽量使用-O参数指定输出路径和文件名,并注意检查下载的文件。
  • 使用 绿盟科技 的远程评估系统(RSAS)对内网进行安全评估。
  • 使用 绿盟科技 检测类产品(IDS)进行检测。
  • 使用 绿盟科技 防护类产品(IPS/NF/SG)进行防护。
  • 已经购买了 绿盟科技 相关产品服务的客户可以通过产品升级进行检测与防护。
  • 短期服务: 绿盟科技 工程师现场处理。确保第一时间消除网络内相关风险点,控制事件影响范围,提供事件分析报告。
  • 中期服务:提供 3-6个月的风险监控与巡检服务。根除风险,确保事件不复发。
  • 长期服务:基金行业业务风险解决方案(威胁情报+攻击溯源+专业安全服务)。

参考链接:

https://www.exploit-db.com/exploits/40064/

http://www.freebuf.com/vuls/107206.html

声 明

本安全公告仅用来描述可能存在的安全问题, 绿盟科技 不为此安全公告提供任何保证或承诺。由于传播、利用此安全公告所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责, 绿盟科技 以及安全公告作者不为此承担任何责任。 绿盟科技 拥有对此安全公告的修改和解释权。如欲转载或传播此安全公告,必须保证此安全公告的完整性,包括版权声明等全部内容。未经 绿盟科技 允许,不得任意修改或者增减此安全公告内容,不得以任何方式将其用于商业目的。

关于绿盟科技

北京神州绿盟信息安全科技股份有限公司(简称 绿盟科技 )成立于2000年4月,总部位于北京。在国内外设有30多个分支机构,为政府、运营商、金融、能源、互联网以及教育、医疗等行业用户,提供具有核心竞争力的安全产品及解决方案,帮助客户实现业务的安全顺畅运行。

基于多年的安全攻防研究, 绿盟科技 在网络及终端安全、互联网基础安全、合规及安全管理等领域,为客户提供入侵检测/防护、抗拒绝服务攻击、远程安全评估以及Web安全防护等产品以及专业安全服务。

北京神州绿盟信息安全科技股份有限公司于2014年1月29日起在深圳证券交易所创业板上市交易,股票简称: 绿盟科技 ,股票代码:300369。


原文发布时间:2017年3月24日
本文由:shenhezhe 发布,版权归属于原作者
原文链接:http://toutiao.secjia.com/wget-vulnerability-analysis-and-defense
本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

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

相关文章
通过Android逆向之签名算法分析看apk安全防护
android安全问题日益验证,作为一名移动安全渗透人员,有时需要对移动apk进行全面的渗透测试,而不能仅仅局限于apk本身,此时往往就需要结合静态分析和动态分析进行。
1696 0
源码分析 RocketMQ DLedger 多副本之 Leader 选主
本文将按照《RocketMQ 多副本前置篇:初探raft协议》的思路来学习RocketMQ选主逻辑。首先先回顾一下关于Leader的一些思考: 节点状态需要引入3种节点状态:Follower(跟随者)、Candidate(候选者),该状态下的节点会发起投票请求,Leader(主节点)。
2287 0
源码分析 There is no getter for property named '*' in 'class java.lang.String(1)
源码分析 There is no getter for property named '*' in 'class java.lang.String
60 0
带你读《物联网渗透测试》之三:固件分析与漏洞利用
本书介绍物联网渗透测试的原理和实用技术。主要内容包括IOT威胁建模、固件分析及漏洞利用、嵌入式web应用漏洞、IOT移动应用漏洞、IOT设备攻击、无线电入侵、固件安全和移动安全最佳实践、硬件保护以及IOT高级漏洞的利用与安全自动化。
3585 0
使用application log 分析navigation target解析错误
Created by Jerry Wang, last modified on Sep 20, 2015
53 0
CVE-2018-15664漏洞分析报告
近日来自SUSE的安全专家Aleksa Sarai公布了编号为CVE-2018-15664的docker相关高危安全漏洞,该漏洞的CVSS评分为8.7,影响面涵盖所有docker发行版本,攻击者可利用该漏洞逃逸出容器读取或篡改host或其他任意容器内的文件,当前docker官方已经给出了临时方案以降低攻击面并将于下个release版本发布。
2476 0
java反序列化漏洞入门分析
参考文献: https://nickbloor.co.uk/2017/08/13/attacking-java-deserialization/amp/https://www.
1927 0
F5设备中存在一个Ticketbleed漏洞,可被远程攻击者利用
本文讲的是F5设备中存在一个Ticketbleed漏洞,可被远程攻击者利用,F5 Networks BIG-IP设备中存在一个严重漏洞,漏洞编号为CVE-2016-9244。该漏洞被命名为Ticketbleed,可被远程攻击者利用于窃取内存中的敏感信息,包括敏感数据(比如SSL Session ID)。
1603 0
+关注
9364
文章
243
问答
文章排行榜
最热
最新
相关电子书
更多
JS零基础入门教程(上册)
立即下载
性能优化方法论
立即下载
手把手学习日志服务SLS,云启实验室实战指南
立即下载