从云服务器SSRF漏洞到接管你的阿里云控制台

通联网络是国内著名的虚拟主机和域名注册提供商。独创的第6代虚拟主机管理系统,拥有在线数据恢复、Isapi自定义,木马查杀等30余项功能.千M硬件防火墙,为您保驾护航!双线虚拟主机确保南北畅通无阻!

从云服务器SSRF漏洞到接管你的阿里云控制台

2022年6月15日 云服务器 0

本文将以阿里云为例,对云服务中的一些攻防手法进行演示,首先利用 Terraform 进行 ECS SSRF 漏洞环境的搭建,然后通过实例中存在的 SSRF 漏洞一步步拿下该云服务账户的所有的阿里云服务权限。

在部署靶场时,需要用到你的阿里云 AccessKey,为了避免影响到你的云上生产环境,因此这里强烈建议使用非生产环境的 AccessKey,不要和生产环境使用同一个账号。

在进入容器后,容器会提示选择接下来要使用的云服务提供商,这里以阿里云服务为例,输入 2 选择阿里云后回车。

src=在 Outputs 处,可以看到返回的靶场地址,访问这个地址,可以看到 SSRF 测试靶场页面,这时就说明环境搭建完了。

当前环境存在 SSRF 漏洞,但和常规 SSRF 所处的环境不同,这里的 SSRF 漏洞是出现在云服务器上的,这也就意味着我们可以通过这个 SSRF 漏洞获取到该服务器的元数据信息。

src=在返回的结果中,可以看到当前环境存在 ram/ 目录,这也就意味着当前云服务器配置了 RAM 角色,这样我们可以获取到临时凭证了。

src=访问页面,通过 RAM 用户进行登录,这里的用户格式为 s,其中 username 就是刚刚创建的用户名,company-alias 可以通过下面的这个命令获取到。

src=由于刚才在创建用户时,赋予了 AdministratorAccess 权限,因此在 RAM 访问控制处可以看到,当前账号拥有管理所有阿里云资源的权限。

src=在云服务 ECS 实例中也可以看到我们刚才搭建的那台 SSRF 靶场服务器。

src=至此,就实现了利用云服务器上的 SSRF 漏洞接管了阿里云控制台。

另外这个环境里还放了一个 flag 文件,你如果感兴趣的话,可以动手去尝试找到这个 flag,Writeup 地址:

RAM 角色权限过大,导致可以通过该角色的权限进行创建子用户以及给子用户授予高权限等操作

元数据未做加固访问,导致一旦目标存在 SSRF 漏洞,元数据就存在被获取的风险

那么针对第一个 RAM 角色权限过大的问题,主要还是需要使用者严格遵守权限最小化的原则,在为 RAM 角色赋予权限时,避免赋予过高的权限,只赋予自己所需要的权限,这样可以将影响程度降到最低,但是这并不能治本。

针对第二个元数据未做加固访问的问题,可以将实例上的元数据访问模式设置为加固模式,这是一种治本的方法,将元数据访问模式设置为加固模式有以下两种方法:

在创建实例时,可以在「系统配置」的「高级选项」中将「实例元数据访问模式」设置为「仅加固模式」

在已经创建好的实例中,可以在阿里云 OpenAPI 中开启元数据强制使用 Token 访问,OpenAPI 地址:

src=值得一提的是,将元数据设置为加固模式可以防止通过 SSRF 获取到元数据,但如果实例权限被拿下,那么红队还是可以通过在实例上执行获取 token 的命令,然后利用该 token 获取到元数据。

将元数据访问模式设置为加固模式进而防御 SSRF 漏洞的这个方法由 2h0ng 师傅提供

删除 SSRF 靶场环境,在使用完靶场后,记得及时删除,因为这里创建的云服务是按时间计费的,该靶场

发表评论

您的电子邮箱地址不会被公开。