找回密码
 立即注册
注册 登录
×
热搜: 活动 交友 discuz
查看: 112|回复: 2

远程命令执行漏洞 CVE-2021-22986

[复制链接]

2

主题

6

帖子

12

积分

新手上路

Rank: 1

积分
12
发表于 2022-9-20 13:02:17 | 显示全部楼层 |阅读模式
i控制 REST 接口存在一个未经身份验证的远程命令执行漏洞。(CVE-2021-22986)
冲击
此漏洞允许未经身份验证的攻击者通过 BIG-IP 管理接口和自身 IP 地址对 iControl REST 接口进行网络访问,从而执行任意系统命令、创建或删除文件以及禁用服务。此漏洞只能通过控制平面利用,而不能通过数据平面利用。利用此漏洞可能导致完全的系统受损。设备模式下的 BIG-IP 系统也容易受到攻击。
安全公告状态
F5 产品开发已将标识951705和标识954381 (BIG-IP) 和标识955145(大 IP 和大 IQ) 分配给此漏洞。
若要确定是否已针对此漏洞评估您的产品和版本,请参阅“适用于(请参阅版本)”框。要确定您的版本是否已知易受攻击,以及受此漏洞影响的组件或功能,以及有关解决此漏洞的版本、单点版本或修补程序的信息,请参阅下表。


建议的操作
如果您正在运行“已知易受攻击的版本”列中列出的版本,则可以通过安装“引入的修补程序”列中列出的版本来消除此漏洞。如果该表未列出软件分支的固定版本,则该分支当前不存在任何候选更新,F5 建议升级到具有此修补程序的版本(请参阅下表)。
如果“引入的修补程序”列在同一分支中列出了您正在运行的版本之前的版本,则您的版本应具有该修补程序。请参阅 K51812227:了解安全通报版本控制。
如果您使用公有云市场(AWS、Azure、GCP 或阿里巴巴)来部署 BIG-IP 虚拟版 (VE),F5 建议您安装“中引入的修复程序”列中列出的 BIG-IP 版本的最新版本,具体取决于这些版本在这些市场上的可用性。
缓解
在可以安装固定版本之前,可以使用以下部分作为临时缓解措施。这些缓解措施将对 iControl REST 的访问限制为仅受信任的网络或设备,从而限制了攻击面。

  • 通过自身 IP 地址阻止 I控制 REST 访问
  • 通过管理界面阻止对 REST 的访问
通过自身 IP 地址阻止 I控制 REST 访问
您可以通过自身 IP 地址阻止对 BIG-IP 系统的 i控制 REST 接口的所有访问。为此,您可以将系统中的每个自身 IP 地址的“端口锁定”设置更改为“不允许无”。如果必须打开任何端口,则应使用“允许自定”选项,注意禁止访问 iControl REST。默认情况下,“访问控制”会在单个网卡大 IP VE 实例上侦听 TCP 端口 443 或 TCP 端口 8443。如果修改了默认端口,请确保不允许访问配置的备用端口。
注: 执行此操作会阻止使用自身 IP 地址访问配置实用程序和 iControl REST 的所有操作。这些更改还可能影响其他服务,包括中断高可用性 (HA) 配置。
在对自 IP 地址的配置进行更改之前,参考:

  • K17333:端口锁定行为概述 (12.x - 16.x)
  • K13092:保护对BIG-IP系统的访问概述
  • K31003634:单网卡 BIG-IP 虚拟版的配置实用程序现在默认为 TCP 端口 8443
  • K51358480:在配置重新加载后,单网卡 BIG-IP VE 可能会错误地恢复到默认管理 httpd 端口
如果必须在自身 IP 地址上公开端口 443 并希望限制对特定 IP 范围的访问,则可以考虑使用 BIG-IP 系统中内置的数据包筛选功能。有关详细信息,请参阅:

  • K13383:为 BIG-IP 数据包过滤器配置网段网络地址
通过管理界面阻止对 REST 的访问
若要缓解受影响的 F5 产品的此漏洞,应将管理访问权限限制为仅受信任的用户和设备通过安全网络。有关保护对 BIG-IP 系统的访问的详细信息,请参阅:

  • K13092:保护对BIG-IP系统的访问概述
  • K46122561:使用网络防火墙规则限制对管理接口的访问
  • K69354049:使用 iptables 限制对配置实用程序和 i控制 REST 服务的 BIG-IP 管理接口的访问
注意:在 httpd 中按 IP 地址限制对管理接口的访问不是解决此问题的可行方法。
本节中的信息基于 F5 收集并认为是可靠的妥协指标的证据。重要的是要注意,被利用的系统可能会显示不同的指标,熟练的攻击者可能能够删除其工作痕迹。不可能证明设备没有受到损害;如果您有任何不确定性,请考虑设备受到损害。
如果您无法使用 iHealth 识别入侵指标,您也可以手动执行以下检查:
查找 X-F5 身份验证令牌在 /var/log/restjava .log d 中没有值。为此,请输入以下命令:
zgrep -e “X-F5-身份验证令牌没有值” /var/log/restjavad.*.log命令输出可能类似于攻击者试图破坏的设备上的以下示例:
0.log:[警告][2347][2021年3月23日 08:58:30 UTC][com.f5.rest.app.RestServerServlet] X-F5-身份验证-令牌没有价值,因此跳过。注意:在有限的一般情况下,包含文本 X-F5-身份验证令牌没有值的日志条目可能会出现在 /var/log/restjavad.*.log。
当您看到 X-F5-身份验证令牌没有值消息时,您可以将 /var/log/restjavad.*.log 中找到的任何日志与在 /var/log/audit* 和 /var/log/restjavad-audit 中找到 .log的日志进行比较。
使用此比较来确定这些日志的意图和潜在影响。例如,您可能会在这些日志中看到以下条目:
“/变量/日志/审核”中的条目
3月23日 00:58:30 主机名通知icrd_child[13385]: 01420002:5: 审核 - pid=13385 用户=管理文件夹=/通用模块=(tmos)# 状态=[命令确定] cmd_data=运行util bash -c id
条目在 “/var/log/restjavad-audit.0.log”
[一][2348][2021年3月23日 08:58:30 UTC][转发器直通工]{“user”:“local/admin”,“method”:“POST”,“uri”:“http://localhost:8100/mgmt/tm/util/bash”,“status”:200,“from”:“nnn.nnn.nnn”}如果日志显示任何条目,这可能表示来自 IP 地址 nnn.nnn 的具有空 X-F5-身份验证令牌值的 REST 请求调用命令运行 util bash -c id。您必须仔细检查任何 /var/log/restjavad-audit*.log 和 /var/log/audit* 条目中的源 IP 地址,并将它们与您知道对设备进行合法 REST 调用的 IP 地址进行比较。
其他妥协指标可能包括对任何文件、配置或正在运行的进程进行意外修改。F5 具有旨在检测以下内容的 iHealth 试探法:

  • 未知进程正在运行(启发式 H511618)
  • 当配置实用程序 iControl REST 接口已通过管理接口 (H444724) 公开到互联网时
  • 当自身 IP 地址将端口锁定设置为“全部允许”(H458565) 时
K17333:端口锁定行为概述

端口锁定功能允许您通过控制系统上定义的每个自 IP 地址的访问级别来保护 BIG-IP 系统免受不需要的连接尝试。本文档后面定义的每个端口锁定列表设置都指定了 self IP 可以接受连接的协议和服务。系统拒绝与不在列表中的服务或协议端口建立的流量和连接。
端口锁定异常

  • TCP 镜像端口:BIG-IP 系统为每个流量组维护一个单独的镜像通道。每个连接通道的端口范围从 TCP 1029 开始,对于创建的每个新流量组和通道,端口范围递增 1。BIG-IP 系统允许 TCP 端口 1029 到 1155。
  • TCP 端口 4353:在同步组中配置 BIG-IP 设备时,对等设备使用 tcp:4353 上的集中管理基础结构 (CMI) 在自身 IP 地址上进行通信,而不考虑端口锁定设置。
注意: CMI 使用与 iQuery tcp:4353 相同的端口,但独立于 iQuery 和可用于该端口的端口配置选项。由于 :4353 流量始终允许发送到配置的配置同步 IP 地址,因此这也允许 iQuery 流量(如果 iQuery 配置为连接到配置同步 IP 地址)。在所有其他情况下,为了使 iQuery 能够连接,您必须在端口锁定设置中明确允许 tcp/4353。

  • ICMP:发往自身 IP 地址的互联网控制消息协议 (ICMP) 流量不受端口锁定列表的影响,并且在任何情况下都隐式允许。
定义的虚拟服务器会覆盖它们所服务的流量的端口锁定设置。
您还可以使用以下命令确定默认支持的协议和服务:
tmsh列表网自允许
输出类似于以下示例:
网络自我允许 {
默认值 {
igmp:任何
ospf:任何
pim:任何
tcp:domain
tcp:f5-iquery
tcp:iquery
tcp

520
udp:cap
udp:域
udp:f5-iquery
udp:snmp
}
}全部允许
此选项指定允许与 self IP 地址的所有连接,而不考虑协议或服务。
注意:F5 建议避免使用“全部允许”,因为此设置会增加系统的安全风险。相反,如果需要允许其他端口,建议使用“允许自定义”。
不允许
此选项指定不允许在 self IP 地址上进行任何连接,而不考虑协议或服务。但是,ICMP 流量始终是允许的,如果 BIG-IP 系统配置为冗余对,则始终允许作为例外列出的端口来自对等系统。
允许自定义
此选项允许您指定允许在自 IP 地址上进行连接的协议和服务。但是,ICMP 流量始终是允许的,如果 BIG-IP 系统配置为冗余对,则始终允许作为例外列出的端口来自对等系统。
允许自定义(包括默认值)
除了默认协议和服务之外,此选项还允许您指定允许在自 IP 地址上进行连接的协议和服务。但是,ICMP 流量始终是允许的,如果 BIG-IP 系统配置为冗余对,则始终允许作为例外列出的端口来自对等系统。
默认端口锁定设置
使用配置实用程序或 TMOS 外壳 (tmsh) 创建自 IP 地址时,默认端口锁定设置为“不允许无”。
使用配置实用程序修改特定自 IP 的端口锁定设置

  • 登录到配置实用程序。
  • 转到网络>自我 IP。
  • 选择相关的自身 IP 地址。
  • 对于“端口锁定”,请选择要使用的设置。
  • 选择“更新”。
  • 使用 tmsh 修改端口锁定设置
通过输入以下命令登录到 tmsh:
断续器若要修改自 IP 地址的端口锁定设置,请使用以下命令语法:
修改 /net 自<self_IP_name>允许服务<选项>例如,要将自身 IP 地址 10.10.10.1 的端口锁定设置更改为默认值,请输入以下命令:

  • 修改 /net self 10.10.10.1 允许服务默认
注意:如果您命名了自 IP 而不是使用 IP 作为名称,则必须按名称引用它们。您可以使用以下命令找到您的 self IP 的名称:
list /net self

这将导致如下所示的输出:
net self 内部 {
地址 10.10.10.1/24
允许服务所有
流量组 流量组 本地仅
vlan internal_vlan
}

  • 在这种情况下,您的修改命令将是:
修改 /net 自内部允许服务默认值

  • 通过输入以下命令保存更改:
保存系统配置
重要提示:如果 ltm nat(但不是 ltm snat)配置为转换自身 IP 地址,则无论端口锁定设置如何,转换地址都会无条件地接受流量并将其传送到 Linux 主机。尽管功能是设计使然,但 BIG-IP 管理员可能不会期望出现此行为。
参考:support
回复

使用道具 举报

0

主题

4

帖子

6

积分

新手上路

Rank: 1

积分
6
发表于 2025-2-5 00:22:01 | 显示全部楼层
传说中的沙发???哇卡卡
回复

使用道具 举报

2

主题

8

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2025-2-26 22:42:46 | 显示全部楼层
向楼主学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋| 黑客通

GMT+8, 2025-4-7 14:12 , Processed in 0.087430 second(s), 22 queries .

Powered by Discuz! X3.4

Copyright © 2020, LianLian.

快速回复 返回顶部 返回列表