首发 | CertiK:深度解析F5 BIG-IP远程代码执行漏洞

今日一早,推特以及各大技术论坛上炸开了锅,安全圈子的人都在讨论F5设备里远程代码执行的漏洞。很多讨论的内容,大部分是在分享如何寻找目标,利用漏洞,并没有关于对漏洞成因的分析。CertiK的安全研究员下载了存在漏洞的程序,搭建环境复现漏洞后,对漏洞的起因进行了分析,并在下文分享给大家。

F5 BIG-IP是美国 F5 公司的一款集成了网络流量管理、应用程序安全管理、负载均衡等功能的应用交付平台。Positive Technologies的研究人员Mikhail Klyuchnikov 发现其配置工具Traffic Management User Interface(TMUI)中存在远程代码执行漏洞,CVE编号为CVE-2020-5902。该漏洞CVSSv3评分为10分,攻击者可利用该漏洞创建或删除文件,关闭服务、执行任意的系统命令,最终获得服务器的完全控制权。CVE具体表述请查看文章底部参考链接1。

受影响的BIG-IP软件版本

【15.0.0-15.1.0.3】【14.1.0-14.1.2.5】【13.1.0-13.1.3.3】【12.1.0-12.1.5.1】【11.6.1-11.6.5.1】

漏洞利用

读取任意文件:

curl-k 'https://[F5 Host]/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd'

远程执行tmsh命令:

curl -k 'https://[F5 Host]/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin'

官方给出的临时修复方案(后文会对修复进行分析):

 

漏洞复现

在F5的官网注册账号之后,可以从F5的资源库中下载存在漏洞的BIG-IP软件。访问参考链接2可以下载BIG-IP TMOS(Traffic Management Operating System, 流量管理操作系统)的虚拟机镜像。CertiK技术团队因为使用Vmware Fusion, 下载的是“BIGIP-15.0.0-0.0.39.ALL_1SLOT-vmware.ova-Image fileset for VMware ESX/i Server”。

Gate.io已开通CFX杠杆交易和理财服务:据官方公告,Gate.io现已开通CFX杠杆交易和理财借出服务,用户可以通过借入CFX的方式做空,或者通过借入USDT的方式做多。Gate.io的理财和借贷市场是一个用户对用户的借贷平台(有抵押,理财无回本风险),平台不参与任何借贷和放贷。[2020/11/17 21:05:37]

在Vmware Fusion中加载镜像(import):

加载完成之后,使用默认用户名密码登陆系统:

用户名: root

密码: default

系统初始化之后,使用”ifconfig”命令查询虚拟机IP地址。CertiK技术团队的BIG-IP TMUI虚拟机IP地址为”172.16.4.137”。

在浏览器中访问BIG-IP TMUI登陆界面:

https://172.16.4.137/tmui/login.jsp

复现任意文件读取:

在浏览器中访问以下地址可以读取”/etc/passwd”文件内容:

https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd

复现tmsh命令执行:

https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin

漏洞分析

在进入漏洞分析前,先要明确一点:漏洞利用中的fileRead.jsp和tmshCmd.jsp文件在用户登陆后本身是可以被访问的。

下面的截图显示了登陆前和登陆后访问以下URL的区别:

https://172.16.4.137/tmui/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd

登陆前访问:

被跳转回登陆界面

输入账号密码登陆管理界面之后再访问,可执行fileRead.jsp读取文件。

fileRead.jsp和tmshCmd.jsp虽然是在PoC中最终被利用的文件,但是他们并不是漏洞的起因。此漏洞的本质是利用Apache和后台Java(tomcat)对URL的解析方式不同来绕过登陆限制, 在未授权的情况下,访问后台JSP模块。CertiK技术人员第一次注意到此类型漏洞是在2018年Orange的BlackHat演讲: “Breaking Parser Logic Take Your Path Normalization Off and Pop 0Days Out”. 这里可以查看演讲稿件(参考链接2)。

这里我们可以理解在F5 BIG-IP的后台服务器对收到了URL请求进行了两次的解析,第一次是httpd(Apache), 第二次是后一层的Java(tomcat).

在URL在第一次被Apache解析时,Apache关注的是URL的前半段

https://172.16.4.137/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd

当Apache在看见前半段是合法URL且是允许被访问的页面时,就把它交给了后面的第二层。Apache在这里完全把URL里面关键的 /..;/ 给无视了。

在URL在第二次被解析时,后面的Java(tomcat)会把/..;/理解为,向上返回一层路径。此时,   /login.jsp/  和  /..;/ 会抵消掉。Tomcat看到的真正请求从

变成了:

再来fileRead.jsp并没有对收到的请求进行身份验证,后台因此直接执行fileRead.jsp, 读取并返回了/etc/passwd文件的内容。

根据以上的思路,其实可以找出别的利用漏洞的URL, 比如:

https://172.16.4.137/tmui/tmui/login/legal.html/..;/..;/locallb/workspace/fileRead.jsp?fileName=/etc/passwd

这里“https://172.16.4.137/tmui/tmui/login/legal.html”和之前的“login.jsp”一样,是一个不需要登陆就能访问的页面。但是因为要向上返回两次,需要用两个/..;/来抵消掉 ”/login/legal.html”。

回到开头提到的官方给出的临时修复方案, 修复方案的本质是在httpd的配置中添加以下规则:

include '

<LocationMatch ".*\.\.;.*">

Redirect 404 /

</LocationMatch>

这个规则的意思是,当http服务器在监测到URL中包含..;(句号句号分号)的时候,直接返回404. 这样利用漏洞的请求就没办法到达后台(第二层)了。

如何避免漏洞:

此漏洞的利用方式在网络上公开之后,因为它的攻击成本低廉,大批黑客都开始图谋利用此漏洞攻击使用F5 BIG-IP产品的系统。黑客只需要付出极小的代价就能获得目标系统的控制权,对系统产生巨大的破坏。

俗话说:“不怕贼偷,就怕贼惦记”。即便这样的黑客攻击事件这次没有发生在你身上,不代表你是安全的。因为很有可能黑客的下一个目标就是你。

而Certik的专业技术团队会帮你彻底打消这种“贼惦记”的担忧。CertiK专业渗透测试团队会通过对此类事件的监测,第一时间给客户提交漏洞预警报告,帮助客户了解漏洞细节以及防护措施。此举可以确保客户的系统不受攻击并且不会遭受财产损失。

同时作为一名安全技术人员,在新漏洞被发现的时,不仅需要知道漏洞是如何被黑客利用的,更要去探寻漏洞背后的原因,方可积累经验,更加有能力在复杂的系统中发现隐藏的漏洞。

CertiK以及其技术人员,将永远把安全当做信仰,与大家一同学习并一同成长。

参考链接

1.https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-5902

2.https://downloads.f5.com/esd/ecc.sv?sw=BIG-IP&pro=big-ip_v15.x&ver=15.0.0&containerqmwyg=Virtual-Edition

3.https://i.blackhat.com/us-18/Wed-August-8/us-18-Orange-Tsai-Breaking-Parser-Logic-Take-Your-Path-Normalization-Off-And-Pop-0days-Out-2.pdf

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

MATIC黑客从加密货币交易所Cashaa窃取了336 个BTC

据报道,英国加密货币交易所Cashaa被黑客窃取了超过336个比特币。Cashaa已停止了所有加密货币交易,但是,初步看来用户并未受到此次黑客攻击的影响。 Cashaa首席执行官Kumar Gaurav在与Cointelegraph分享的媒体简报中说,他们的一个钱包被盗,并且向黑客发送了超过336个比特币。他还怀疑黑客来自印度东德里。

MANA金色前哨|央行数字货币研究所与滴滴探索出行场景

据北京商报消息,日前,央行数字货币研究所与滴滴出行正式达成战略合作协议,共同研究探索数字人民币在智慧出行领域的场景创新和应用。双方期望通过建立合作关系,促进数字人民币在多元化出行场景中的平台生态建设。 报道中还提及,法定数字货币系统将成为数字经济发展中重要的基础设施。近年来,央行成立数字货币研究所,在法定数字货币领域的研发不断取得新成果。

ETH数据表明:投资者人口结构的变化可能将比特币价格推至新高

比特币(BTC)已经横盘整理了一个月左右,而以太坊(ETH)和Chainlink(LINK)等其他几种山寨币的表现要优于比特币。自2018年11月以来,比特币的波动性达到了最低水平。 此外,据CryptoCompare的数据,比特币的USDT和USD交易对交易量分别下降了56%和44%,而6月份的全球加密货币交易量也下降了49.3%。

LTC7.8午间行情 :震荡过后 行情有望继续

文章系金色财经专栏作者牛七的区块链分析记供稿,发表言论仅代表其个人观点,仅供学习交流!金色盘面不会主动提供任何交易指导,亦不会收取任何费用指导交易,请读者仔细甄别,谨防上当。 比特币反弹到9377美金后遇到些许阻力,目前在9300美金附近震荡。

[0:0ms0-0:640ms