希捷NAS出现远程代码执行漏洞
国外安全研究人员OJ Reeves发现了希捷NAS的一枚远程代码执行漏洞,并在去年的10月7日报告给了官方,但是130天过去官方仍然没有修复该漏洞,所以今天他放出了漏洞细节。
概述
希捷(Seagate Technology Cor)目前是全球最大的硬盘、磁盘和读写磁头制造商。他主打商业对象的NAS叫做Business Storage 2-Bay NAS,很多情况下他暴漏在公网上。
本次的远程代码执行漏洞出现在2014.00319版本的固件上,攻击者可以在没有认证的情况下远程执行命令,获取设备root权限。
漏洞细节
希捷NAS存在一个web形式的管理界面,当管理员登录后可以通过它进行一些操作,比如添加用户,设置访问控制,管理文件等等。
Web的主要配置如下:
PHP 5.2.13
CodeIgniter 2.1.0
Lighttpd 1.4.28
都是一些很老的版本,我们知道在PHP 5.2版本可以通过空字符截断来包含文件。在CodeIgniter 2.2.0之前的版本我们可以提取秘钥然后解密cookie (CVE-2014-8686)进行对象注入。同时每一个CI框架都应该使用不同的加密Key,但是在希捷的NAS产品中,所有的加密key是一样的。
CI的框架是把SESSION放在客户端存储的,有下面这几个参数:
Username:这是一个字符串值,代表当前会话的用户的名称
is_admin:这是一个字符串值,可以为yes或者no,来判断当前用户是否为管理员
language:这是来设置用户当前的语言的
一旦一个session被确认并且cookie中有username参数,系统没有进一步验证用户凭证。这意味着一旦用户可以操作这个值,就可以完全绕过登录机制。
is_admin参数可以使用户提升权限为管理员。
Language会包含相应的php语言文件,这里存在本地文件包含漏洞。
利用漏洞
想利用这个漏洞以root权限远程执行代码并不难,关键的几步如下:
1、攻击者必须把php代码写入NAS的文件系统,可以通过下面几步做到:
通过User-Agent毒化HTTP access log文件
通过Host毒化HTTP error log文件
在Web界面修改设备的描述,他会把user-controlled字符串写入/etc/devicedesc文件
上传一个文件并且在公网上分享
2、然后去修改cookie中的language参数来包含文件,并且用00截断。
3、攻击者带着这个恶意的cookie去访问设备便可以执行命令。
Exploit
Metasploit模块
Python脚本
Metasploit利用截图
受影响的固件版本 2014.00319 2013.60311 本文由 360安全播报 翻译,来自:https://beyondbinary.io/advisory/seagate-nas-rce/关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
关注网络尖刀微信公众号
随时掌握互联网精彩
随时掌握互联网精彩
赞助链接
排名
热点
搜索指数
- 1 澳门是伟大祖国的一方宝地 7984384
- 2 女子穿板鞋爬山回家脱鞋时被吓一跳 7908754
- 3 张雨绮 为了讨大家喜欢才穿成这样 7801518
- 4 2024 向上的中国 7766039
- 5 72岁老人3年拍100部短剧 7624643
- 6 免费升级宽带后家里成“电诈中心” 7523780
- 7 90%烧伤男生父亲:对方让我高抬贵手 7420280
- 8 9岁女孩胃里取出直径4厘米头发团 7350351
- 9 春熙路不能随便开直播了 7259213
- 10 男子网贷1000元3天内需还2000元 7165151