云主机AKSK泄露利用
字数 1422 2025-08-12 11:33:45
云主机AK/SK泄露检测与利用技术指南
一、AK/SK认证基础
1.1 基本概念
- Access Key Id (AK): 用于标识用户的唯一凭证
- Secret Access Key (SK): 用户用于加密认证字符串的密钥,必须严格保密
1.2 认证原理
- 用户请求时使用SK加密生成认证字符串
- 云主机接收请求后使用相同SK和机制生成认证字符串
- 系统比对两个字符串,相同则执行操作,不同则返回错误
二、AK/SK泄露途径
2.1 常见泄露场景
- Spring Boot框架暴露env端点
- 源代码或配置文件中硬编码AK/SK
- 日志文件中意外记录敏感信息
- GitHub等代码仓库意外提交凭证
2.2 泄露检测方法
-
Spring Boot应用检测:
- 检查
/actuator/env端点 - 查找
aliyun.accesskey和aliyun.secretKey属性 - 使用Jolokia接口获取脱敏字段明文
- 检查
-
JVM堆信息分析:
- 通过
/actuator/jolokia接口 - 下载应用实时JVM堆信息
- 提取敏感属性明文
- 通过
三、AK/SK利用技术
3.1 利用工具
-
行云管家(https://yun.cloudbility.com/):
- 支持主流云厂商AK/SK绑定
- 可查看主机实例ID、所属地区等信息
- 支持重置操作系统密码(需授权)
-
自动化工具:
- AliCloud-Tools(https://github.com/iiiusky/alicloud-tools)
- 图形化工具(https://github.com/mrknow001/aliyun-accesskey-Tools)
3.2 阿里云API利用
3.2.1 直接命令执行
- 使用
RunCommandAPI - 参数设置:
- RegionId: 从行云管家获取
- RunShellScript: Linux实例Shell脚本
- CommandContent: Base64编码的命令
- InstanceId: 目标实例ID
3.2.2 创建并调用命令
- 使用
CreateCommand创建命令 - 获取返回的CommandId
- 使用
InvokeCommand调用命令 - 在VPS接收反弹shell
3.3 其他云厂商利用
-
七牛云:
- 参考官方开发者中心文档
- 使用AK/SK进行服务器管理
-
亚马逊云:
- 通过行云管家绑定管理
- 或使用AWS CLI工具
四、防御措施
4.1 预防泄露
- 避免在代码中硬编码AK/SK
- 使用环境变量或密钥管理服务
- 设置最小权限原则
- 定期轮换AK/SK
4.2 泄露后处置
- 立即禁用泄露的AK/SK
- 检查云主机是否有异常操作
- 重置所有可能受影响的凭证
- 审计日志分析攻击路径
五、参考资源
- 阿里云API文档: https://api.aliyun.com/#/?product=Ecs
- Jolokia利用方法: https://www.jianshu.com/p/ae4be3af5231
- 自动化工具:
- https://github.com/iiiusky/alicloud-tools
- https://github.com/mrknow001/aliyun-accesskey-Tools
- 行云管家: https://yun.cloudbility.com/
六、法律声明
所有技术仅限授权测试使用,未经授权进行渗透测试属于违法行为。实际操作前必须获得书面授权。