type
status
date
slug
summary
tags
category
icon
password
一、密钥泄露的利用方法
1.1 获取所有DB实例

此时会列出所有的RDS信息,可以看到所在的地区,连接的地址,版本,服务类型,我们注意到有一个DBInstanceID,然后我们可以使用以下命令获取指定实例ID下更详细的信息(实例的安全组信息)

1.2 查看公网访问地址
查看是否存在公网访问地址
没有公网地址的返回结果

有公网地址的返回结果

1.3 申请公网访问地址

尝试登陆访问,发现无法登录。

1.4 添加白名单
查询指定RDS白名单
查看白名单显示,只允许 172.16.0.0/12 访问。


为指定实例添加白名单
经过查看可以发现白名单被修改成功。

尝试登陆数据库发现还是登陆失败。

1.5 账号
查询已存在的账号
可以通过以下命令查询当前RDS中有哪些用户
由于实例创建时没有创建用户所以不存在用户。

有用户的实例是这样的,但是只有账号没有密码。

创建账号

再次尝试链接数据库,即可发现能正常访问。

1.6 为账号添加数据库权限
查询数据库
在为自己添加权限之前,我们需要知道,当前账号下的数据库有哪些?

使用创建的FuYuanziTest账号登录Navicat却发现没有fuyuanzi123这个数据库的访问权限。
为账号添加对应数据库的权限

可以发现对应的数据库出现在了被授权的账号下。

1.7 修改高权账号的密码
查看账号

直接修改数据库管理员密码,这样可以直接接管对应的数据库

使用新的密码接管数据库。

二、总结
RDS的攻击面基本都来自于用户侧配置问题,并且很多RDS都不会放在公网,而是在VPC的内网中,那么我们如果在公网中找到一个泄露了RDS账号与密码,可以保留起来,打进内网的时候也许能派上用场,并且在AK泄露的时候,我们也是需要拥有一定的权限,才可以做上述操作。