云安全AKSK随笔
AliYyun给出的AKSK的作用
在阿里云,用户可以使用AccessKey(简称AK)构造一个API请求(或者使用云服务SDK)来操作资源。AccessKey包括AccessKey ID和AccessKey Secret。其中AccessKey ID用于标识用户,AccessKey Secret是用来验证用户身份合法性的密钥。AccessKey Secret必须保密。
AK/SK泄露的攻击面
1.AK/SK接管存储桶
当泄露的AK/SK有对存储桶有操作权限的时候,可以在aliyun Cli配置AK/SK来接管存储桶
使用aliyun oss ls来列出桶

使用aliyun oss ls <桶的名称>列出桶里面的内容


2.AK/SK执行云服务器命令
当泄露的AK/SK对ECS有操作权限的时候
可以使用aliyun ecs DescribeInstances列出ECS资源

使用 aliyun ecs RunCommand --CommandContent "<命令内容>" --Type RunShellScript --InstanceId.1 <示例id>
可以在ECS上面执行命令

返回了``
使用aliyun ecs DescribeInvocationResults --CommandId <CommandId>
可以看经过base64编码后的输出


用户临时凭证STS 泄露
STS(Security Token Service)临时访问凭证是一种短期有效的身份认证机制,用于在限定的时间内授予用户对阿里云资源的访问权限。与永久访问密钥(AccessKey ID 和 AccessKey Secret)不同,STS 临时访问凭证具有时效性,过期后自动失效,从而有效降低了因密钥泄露导致的安全风险
STS可以由具有调用AssumeRole接口的Ram用户获取扮演指定的RAM角色,从而获取STS临时访问凭证。
通过STS访问OSS资源demo
创建Ram用户
身份管理->创建用户- 给Ram用户授予访问
AssumeRole的权限 
- 给Ram用户授予访问
访问控制左侧
权限管理->权限策略->创建权限策略->脚本编辑创建赋予上传权限的策略
1
2
3
4
5
6
7
8
9
10{
"Version": "1",
"Statement": [
{
"Action": "oss:PutObject",
"Resource": "acs:oss:*:*:******/*",
"Effect": "Allow"
}
]
}创建角色 然后赋予角色刚刚的自定义权限策略

在阿里给出的API接口 使用刚刚创建的ram扮演刚刚创建的ram角色来调用
填入ram角色的RoleArn与RoleSessionName

在aliyun中使用aliyun configure --mode StsToken配置STS
然后可以使用cp将文件上传到oss中


通过STS访问ECS资源demo
创建一个角色

添加管理ecs的权限

将Ram用户与Ecs管理

如果ECS服务器上面存在SSRF漏洞或者你已经RCE了
可以试着在ECS上面访问一下阿里的元数据地址http://100.100.100.200/latest/meta-data/
如果配置了Ram则会有一个ram

然后访问ram下面的资源获得STS

通过配置aliyun cli工具即可对控制ECS






