云主机AKSK泄露利用
字数 1422 2025-08-12 11:33:45

云主机AK/SK泄露检测与利用技术指南

一、AK/SK认证基础

1.1 基本概念

  • Access Key Id (AK): 用于标识用户的唯一凭证
  • Secret Access Key (SK): 用户用于加密认证字符串的密钥,必须严格保密

1.2 认证原理

  1. 用户请求时使用SK加密生成认证字符串
  2. 云主机接收请求后使用相同SK和机制生成认证字符串
  3. 系统比对两个字符串,相同则执行操作,不同则返回错误

二、AK/SK泄露途径

2.1 常见泄露场景

  • Spring Boot框架暴露env端点
  • 源代码或配置文件中硬编码AK/SK
  • 日志文件中意外记录敏感信息
  • GitHub等代码仓库意外提交凭证

2.2 泄露检测方法

  1. Spring Boot应用检测:

    • 检查/actuator/env端点
    • 查找aliyun.accesskeyaliyun.secretKey属性
    • 使用Jolokia接口获取脱敏字段明文
  2. 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 直接命令执行

  1. 使用RunCommandAPI
  2. 参数设置:
    • RegionId: 从行云管家获取
    • RunShellScript: Linux实例Shell脚本
    • CommandContent: Base64编码的命令
    • InstanceId: 目标实例ID

3.2.2 创建并调用命令

  1. 使用CreateCommand创建命令
  2. 获取返回的CommandId
  3. 使用InvokeCommand调用命令
  4. 在VPS接收反弹shell

3.3 其他云厂商利用

  1. 七牛云:

    • 参考官方开发者中心文档
    • 使用AK/SK进行服务器管理
  2. 亚马逊云:

    • 通过行云管家绑定管理
    • 或使用AWS CLI工具

四、防御措施

4.1 预防泄露

  • 避免在代码中硬编码AK/SK
  • 使用环境变量或密钥管理服务
  • 设置最小权限原则
  • 定期轮换AK/SK

4.2 泄露后处置

  1. 立即禁用泄露的AK/SK
  2. 检查云主机是否有异常操作
  3. 重置所有可能受影响的凭证
  4. 审计日志分析攻击路径

五、参考资源

  1. 阿里云API文档: https://api.aliyun.com/#/?product=Ecs
  2. Jolokia利用方法: https://www.jianshu.com/p/ae4be3af5231
  3. 自动化工具:
    • https://github.com/iiiusky/alicloud-tools
    • https://github.com/mrknow001/aliyun-accesskey-Tools
  4. 行云管家: https://yun.cloudbility.com/

六、法律声明

所有技术仅限授权测试使用,未经授权进行渗透测试属于违法行为。实际操作前必须获得书面授权。

云主机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 直接命令执行 使用 RunCommand API 参数设置: 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/ 六、法律声明 所有技术仅限授权测试使用,未经授权进行渗透测试属于违法行为。实际操作前必须获得书面授权。