观星免费为您检测F5 BIG-IP 远程代码执行漏洞

 

F5 BIG-IP 远程代码执行漏洞(漏洞利用已公开)

基本信息

风险等级: 高危

漏洞类型: 远程代码执行漏洞

漏洞利用: 已有

漏洞编号:CVE-2020-5902

简要描述

2020年07月06日,数字观星应急团队监测 到F5 BIG-IP 远程代码执行漏洞利用已公开,漏洞编号为 CVE-2020-5902,漏洞等级:严重。未授权的远程攻击者通过向漏洞页面发送特制的请求包,可以造成任意 Java 代码执行。进而控制 F5 BIG-IP 的全部功能,包括但不限于: 执行任意系统命令、开启/禁用服务、创建/删除服务器端文件等。该漏洞影响控制面板受影响,不影响数据面板。数字观星应急团队建议广大用户及时将 BIG-IP 按照修复建议升级到指定版本。与此同时,观星台已更新相关插件,用户可利用插件快速排查风险。

 

 

目前msf已经集成了该漏洞的利用。未授权的远程攻击者通过向该页面发送特制的请求包,可以造成任意Java 代码执行。进而控制 F5 BIG-IP 的全部功能,包括但不限于: 执行任意系统命令、开启/禁用服务、创建/删除服务器端文件等。

对于漏洞公开利用,数字观星应急团队第一时间对漏洞进行了分析及漏洞复现:

进行文件读取

img1

 

进行远程代码执行

img2

 

【受影响版本】

                      BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) = 15.1.0

                      BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) = 15.0.0

                      BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) 14.1.0 - 14.1.2

                      BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) 13.1.0 - 13.1.3

                      BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) 12.1.0 - 12.1.5

                      BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) 11.6.1 - 11.6.5

【安全版本】

                      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

img3

 

F5 BIG-IP是美国F5公司的一款集成了网络流量管理、应用程序安全管理、负载均衡等功能的应用交付平台,TMUI被称为配置实用程序。

影响范围

                      BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) = 15.1.0

                      BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) = 15.0.0

                      BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) 14.1.0 - 14.1.2

                      BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) 13.1.0 - 13.1.3

                      BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) 12.1.0 - 12.1.5

                      BIG-IP (LTM, AAM, AFM, Analytics, APM, ASM, DNS, FPS, GTM, Link Controller, PEM) 11.6.1 - 11.6.5

漏洞分析与利用

tmshCmd

 tmshCmd  service方法处理请求的时候,对 command 参数进行处理。

然后调用 WorkspaceUtils.runTmshCommand(cmd, request); 方法执行命令,限制了执行delete,create,list,modify

if ("POST".equalsIgnoreCase(request.getMethod())) {
            String[] cmdArray = command.split(" ");
            String operation = cmdArray[0];
            String module = cmdArray[2];
            if (!ShellCommandValidator.checkForBadShellCharacters(command) && (operation.equals("create") || operation.equals("delete") || operation.equals("list") || operation.equals("modify")) && WHITELISTED_TMSH_MODULES.contains(module)) {
               try {
                  String[] args = new String[]{command};
                  Result result = Syscall.callElevated(Syscall.TMSH, args);
                  output = result.getOutput();
                  error = result.getError();
               } catch (CallException var11) {
                  logger.error(NLSEngine.getString("ilx.workspace.error.TmshCommandFailed") + ": " + var11.getMessage());
                  error = var11.getMessage();
               }
            } else {
               error = NLSEngine.getString("ilx.workspace.error.RejectedTmshCommand");
}

fileRead

 fileRead  service方法处理请求的时候,对 fileName 参数进行处理。

接着调用 WorkspaceUtils.readFile(fileName); 方法,进行文件读取。

img4

 

调用 isFileWhitelisted 方法,检测请求的 fileName 是否在白名单里,如果不在,则返回false,不抛出错误。

img5

 

继续调用 userCanAccessPartition 方法,检测 fileName 是否以 /var/sdm/plugin_store/plugins/ 开头,不是就返回false

img6

 

接着就能调用 WorkspaceUtils.readFile(fileName); 方法,进行文件的读取。 方法,进行文件的读取。

img7

 

 

漏洞排查

请通过观星台查看漏洞情报了解漏洞技术细节,关注观星台插件更新列表,快速识别受影响资产。也欢迎登录我们的 POC++平台,提交 POC 并获取奖励,地址: https://poc.shuziguanxing.com

img8

 

漏洞检测

方法一:

使用配置实用程序显示BIG-IP版本信息

登录到配置实用程序,导航对系统 > 配置,软件版本显示在“ 版本”框中。

img9

 

方法二:

使用命令行显示BIG-IP版本信息,通过键入以下命令登录到TMOS Shell(tmsh):tmsh

之后键入命令:show /sys version

img10

 

安全修复

缓解措施:

如果目前无法升级,则可以使用以下部分作为临时缓解措施:

要消除未经身份验证的攻击者利用此漏洞的能力,请将LocationMatch配置元素添加到httpd。为此,请执行以下步骤:

1.                      登陆 TMOS Shell(tmsh)执行:

  tmsh

2.                      修改 httpd 配置信息:

  edit /sys httpd all-properties

1.                      找到 include 部分并添加以下内容:

  include '
  <LocationMatch ".*\.\.;.*">
  Redirect 404 /
  </LocationMatch>
  '

1.                      通过输入以下命令,将更改写入并保存到配置文件中:

  Esc
  :wq!

1.                      通过输入以下命令来保存配置:

  save /sys config

1.                      通过输入以下命令来重新启动httpd服务:

  restart sys service httpd

修复建议: 

也可以通过升级进行安全修复:

                      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

情报来源

https://support.f5.com/csp/article/K52145254

https://nosec.org/home/detail/4501.html

 

此漏洞从利用程序公开后,自动挂马机如雨后春笋,请大家千万要尽快修复。基于此,观星免费为您检测F5 BIG-IP 远程代码执行漏洞,申请方式:

 

请保持电话通畅。

收到申请之后,我们会第一时间联系您。

 

 

2020年7月7日 11:21
首页    观星免费为您检测F5 BIG-IP 远程代码执行漏洞