最后更新于2023年12月27日(星期三)14:51:44 GMT
在日常安全研究的过程中, Rapid7研究人员发现,Akkadian Provisioning 经理版本4.50.18, 思科统一通信环境的供应解决方案, 有三个漏洞, 哪一个, 结合时, 是否会导致在具有更高权限的受影响设备上远程执行代码. 下表总结了这些问题.
CVE标识符 | CWE标识符 | CVSS评分(严重性) | 修复 |
---|---|---|---|
cve - 2021 - 31579 | cwe - 798:使用硬编码凭据 | 8.2 (高) | 更新 5.1.0 |
cve - 2021 - 31580 | cwe - 78在操作系统命令(exec)中使用的特殊元素的不正确中和 | 7.9 (高) | 更新 5.1.0 |
cve - 2021 - 31581 | cwe - 269在操作系统命令中使用的特殊元素的不当中和(vi) | 7.9 (高) | 更新 5.1.0 |
除了这些问题, 另外还发现了两个可疑的发现:读取本地MariaDB明文凭证的能力, 以及无意中携带提交历史的整个GitHub repo. 在写这篇文章的时候, 目前尚不清楚这些发现是否存在独特的安全问题, 但尽管如此, 应该由供应商审核吗.
产品描述
Akkadian Provisioning 经理 (PME)是思科统一通信(UC)设备和应用程序的管理平台, 这些主要是用于通信的VoIP和视频解决方案. PME通常出现在大型企业中,在这些企业中,提供和重新配置这些解决方案是相当常见的事情. 更多关于阿卡得语PME的信息可以从 供应商的网站.
信贷
这些问题是由凯尔·布莱克、瑞安·比利亚雷亚尔(@XjCrazy09),以及乔纳森·彼得森(@deadjakk),并根据 Rapid7的漏洞披露策略.
剥削
在版本4上观察和测试了以下内容.50.18 GA 2020-04-07 - Build 1.1.Akkadian Provisioning 经理 (PME)的36 (Linux).
cve - 2021 - 31579:使用硬编码凭证
在客户端站点进行渗透测试时, Rapid7的研究人员能够访问PME OVA虚拟化设备,并且能够中断启动过程并强制初始化系统成为交互式shell, 如下图所示:
这成功地为Rapid7研究人员提供了根shell环境:
一旦实现了shell访问,测试人员就确定了启用的功能 “akkadianuser” 在用户/etc/passwd数据库中:
对用户主目录的调查揭示了生产服务器上的一组开发人员文件:
Rapid7研究人员确定了用于配置高可用性用户的开发人员配置脚本, /home/akkadianuser /脚本/ create_haakkadianuser./home/ akkappmanager_installation/scripts/create_haakkadianuser . Sh和/home/akkadianuser /tmp/akkappmanager_installation.sh. 这些脚本显示,高可用性用户是用默认密码创建的 “haakkadianpassword” 如下图所示:
使用已创建的高可用性用户密码的知识, Rapid7的研究人员能够成功地猜测现有的凭证 “hakkadianuser” 用户,也就是 “hakkadianpassword”. Rapid7能够验证此凭证可以访问阿卡德PME受限壳:
然后,Rapid7能够通过下面描述的技术成功地绕过受限制的shell菜单环境, cve - 2021 - 31580和cve - 2021 - 31580, 并确定了跑步 “akkadianuser” 用户在没有密码的情况下被赋予无限制的sudo权限:
这是通过使用sudo命令的shell转义来确认的, 允许Rapid7研究人员完全访问根用户:
cve - 2021 - 31580: Shell Escape通过'exec'命令
Rapid7研究人员发现,PME的Akkadian Appliance 经理组件使用的受限shell并没有直接设置为受限shell二进制文件, 相反,他开始抨击, 并且可以通过下面列出的程序绕过. 首先,观察默认的bash shell:
控件触发受限制的shell环境 /home/akkadianuser /.bashrc 的配置文件 “akkadianApp经理” 通过sudo Shell:
知道shell是bash, python限制shell环境是交互式的, Rapid7研究人员将OpenSSH通道从 “壳” to “执行” 通过向SSH客户端提供单个执行参数. 这将触发交互式Python脚本无法成功地找到 “/ dev / tty” 文件和退出, 但是由于shell是在bash shell的上下文中运行的, 失败的退出条件不会使父shell失败,并且命令将通过操作系统传递,从而允许绕过, 如下所示.
将这个问题与默认的硬编码root用户结合起来, hakkadianuser: hakkadianpassword, 会允许一个未经验证的, 基于网络的攻击者,可以不受限制地访问具有根权限的交互式shell.
cve - 2021 - 31581:通过“vi”编辑器界面逃离Shell
Rapid7的研究人员发现,PME的Akkadian Appliance 经理组件的受限制shell环境可以使用附带的版本绕过 `vi`,一个流行的基于终端的文本编辑器. 正常情况下,通过认证后显示如下提示信息:
选择4:产品设置菜单,下一组选项提示:
选择1:Akkadian PM/HCS 服务,出现下一组选项:
选择2:MySQL Service选项并跟随到下一个屏幕:
选择4:Edit MySQL Configuration (my ..的vi编辑器界面 ' / etc /我.cnf”:
的附带版本中的执行功能可以绕过这个问题 `vi` 在PME上打 `:!` 然后是想要的命令. 下面的截图显示受限制的shell以root用户运行(由于cve - 2021 - 31580中提到的shell的sudo调用):
将这个问题与默认的硬编码root用户结合起来, hakkadianuser: hakkadianpassword, 会允许一个未经验证的, 基于网络的攻击者,可以不受限制地访问具有根权限的交互式shell.
cve - 2021 - 31581:敏感信息暴露
Rapid7的研究人员还发现,该应用程序通过暴露的web服务器提供敏感数据. 清单的 ' / var / www / html /中外/ ' 目录Rapid7标识了ionCube打包的PHP文件, 但是另一组文件被标记为可读权限:
其中许多文件包含可以通过web服务器访问的敏感数据. 请注意 ' /中外/数据库/中外/ phinx.yml” 文件包含明文本地MariaDB用户名和密码:
Rapid7研究人员能够使用本地shell访问,以成功验证这些凭据是否有效,并努力连接到底层的MariaDB本地侦听主机. 原始客户机的渗透测试范围还包括一个LDAP集成环境, 并且利用这个问题成功地从数据库中恢复了明文LDAP BIND凭据:
附加发现:发布Git存储库(没有CVE ID)
web服务器还公开了一个git存储库 `.git / ' 目录. 这一点通过访问得到证实 “中外/.git /配置 它暴露了有关ionCube封装的Akkadian PME存储库的信息:
由于git存储库的可预测结构, Rapid7能够直接从面向web服务器的公开网络中提取repos:
然后,Rapid7提取每个提交,并能够查看其他文件和ionCube编码的后端PHP文件, 历史的和现在的:
虽然这个git结构似乎包含敏感信息, Rapid7的研究人员并没有验证这些信息是否对攻击者有用. 在任何情况下,它都应该从阿卡德设备的生产装置中移除.
影响
如前所述, 结合cve - 2021 - 31579和cve - 2021 - 31580或cve - 2021 - 31581将允许未经授权的攻击者完成攻击, root-level shell access to the affected devices; this can open a door to installing cryptominers, 击键记录者, 持续的贝壳, 以及任何其他基于linux的恶意软件.
虽然进一步访问思科统一通信环境在技术上似乎是可能的, 从这些被入侵的设备中直接收集实时或记录的电话或会议似乎不太可能.
修复
第一期, 对SSH端口(22/tcp)的网络访问应该仅限于受信任的用户, 当然也不会暴露在互联网上. 此外, 系统操作员应该知道这一点, 在没有修复的情况下, 对Akkadian Appliance 经理具有访问权限的用户实际上具有对设备的根shell访问权限, 由于上述第二个和第三个问题.
Rapid7的研究人员试图与阿卡德实验室进行沟通, 但我们无法引出对这个漏洞披露的回应. 客户应该找他们的销售代表询问一个固定的时间表, 确保只有授权用户才能访问受影响设备的SSH端口.
披露时间表
2021年1月: Rapid7研究人员发现的问题, 瑞安比利亚雷亚尔, 还有乔纳森·“死杰克”·彼得森
2021年2月3日,星期三:对供应商的初始披露尝试,创建了票证51058.
周一,2021年2月22日通过支持单对供应商进行跟踪
2021年3月10日,星期三通过支持单对供应商进行第二次跟进
星期二,2021年6月8日:公开披露
2021年6月11日星期三: 供应商提供了有关修复的信息
更新: 6月11日, 2021, 供应商联系了Rapid7,并提供了关于测试组件的固定版本的信息. 6月16日, 确定在以下组件和版本中解决了这里描述的问题:Akkadian OVA设备版本3.0(及以后版本),Akkadian Provisioning 经理 5.0.2(以及之后的版本),以及阿卡德设备管理器3.3.0.314-4a349e0(及更新版本).