vRealize RCE + Privesc (CVE-2021-21975, CVE-2021-21983, CVE-0DAY-?????)
"和阻止它一样容易理解。"
"Reality Smasher" 是一个针对 vRealize 的利用工具,利用了 VMSA-2021-0004 中提及的安全问题(CVE-2021-21975、CVE-2021-21983),以及测试过程中发现的一个权限提升漏洞。
"Reality Smasher" 利用 CVE-2021-21975 窃取 vRealize 的 "maintenanceAdmin" 帐户凭据。这是通过托管一个 HTTPS 监听器来实现的,该监听器使用本仓库中包含的密钥和证书。这些凭据用于之后所有经过身份验证的请求。首先,请求并存储管理员帐户的哈希密码以供后续使用。
接下来,发送一个请求以启用 SSH 服务。然后,利用 CVE-2021-21983 覆盖 "admin.properties" 文件。接着,发送一个请求来设置管理员用户的初始密码。这是允许的,因为管理员凭据已存储在 "admin.properties" 中。如果没有这个文件,vRealize 会认为从未设置过凭据,并接受未经身份验证的 "/security/adminpassword/initial" 请求。
在验证新管理员凭据允许 SSH 访问后,生成 SSH 密钥。然后利用权限提升漏洞允许 root SSH 登录,重新启动 sshd 服务,并将公钥追加到 "/root/.ssh/authorized_keys" 中。在验证 root SSH 访问后,恢复原始的哈希密码,并向用户授予一个以 root 用户身份交互的 SSH shell。所有 SSH 操作均使用 "golang.org/x/crypto/ssh" 执行。
为确保此利用工具的可靠性和健壮性,我们付出了大量努力。然而,这是我的第一个 golang 项目,因此请自行承担使用此利用工具的风险。建议在详细输出模式下运行此利用工具,以捕获哈希密码和生成的私钥。
