Wget重定向漏洞技术分析与防护方案-阿里云开发者社区

开发者社区> 安全> 正文

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
本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

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

分享:
+ 订阅

云安全开发者的大本营

其他文章