AliYun RDS云数据库攻防
2025-3-4
| 2025-4-1
Words 788Read Time 2 min
type
status
date
slug
summary
tags
category
icon
password

一、密钥泄露的利用方法

1.1 获取所有DB实例

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

1.2 查看公网访问地址

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

1.3 申请公网访问地址

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

1.4 添加白名单

查询指定RDS白名单

查看白名单显示,只允许 172.16.0.0/12 访问。
notion image
notion image

为指定实例添加白名单

经过查看可以发现白名单被修改成功。
notion image
尝试登陆数据库发现还是登陆失败。
notion image

1.5 账号

查询已存在的账号

可以通过以下命令查询当前RDS中有哪些用户
由于实例创建时没有创建用户所以不存在用户。
notion image
有用户的实例是这样的,但是只有账号没有密码。
notion image

创建账号

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

1.6 为账号添加数据库权限

查询数据库

在为自己添加权限之前,我们需要知道,当前账号下的数据库有哪些?
notion image
使用创建的FuYuanziTest账号登录Navicat却发现没有fuyuanzi123这个数据库的访问权限。

为账号添加对应数据库的权限

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

1.7 修改高权账号的密码

查看账号

notion image
直接修改数据库管理员密码,这样可以直接接管对应的数据库
notion image
使用新的密码接管数据库。
notion image

二、总结

RDS的攻击面基本都来自于用户侧配置问题,并且很多RDS都不会放在公网,而是在VPC的内网中,那么我们如果在公网中找到一个泄露了RDS账号与密码,可以保留起来,打进内网的时候也许能派上用场,并且在AK泄露的时候,我们也是需要拥有一定的权限,才可以做上述操作。
  • 云安全
  • 阿里云
  • 华为云 ECS 弹性计算服务攻防云函数隐匿CS_IP
    Loading...