前言
云计算的普及与安全隐患:随着云计算的普及,越来越多企业将关键数据和业务迁移到云端,这带来了新的安全挑战,包括数据泄露、账号劫持、云上恶意活动等。
云平台独特的攻击面:云平台的多租户架构、API依赖、虚拟化等特性,提供了攻击者利用的机会,如通过API接口的漏洞进行数据窃取、利用虚拟化逃逸攻击底层资源等。
攻防对抗的复杂性:云上环境中的攻防不同于传统环境,动态的资源管理、复杂的权限分配、弹性的网络架构都增加了防御难度,同时也给攻防人员带来了独特的挑战。
云上攻防:随着越来越多的业务和服务迁移到云端,云计算因其便捷性和数据安全性成为一种趋势。然而,云上攻防与传统攻防存在显著不同,对其深入了解显得尤为重要。在云环境中,一个关键知识点是如何在获取了访问密钥(AK/SK)后进一步利用,扩大影响范围。看似普通的 AK/SK 在攻防演练或渗透测试中,往往能发挥至关重要的作用,帮助我们有效地测试并提升云环境的安全防御能力。
寻找AK/SK
寻找AK/SK技巧:在云上攻防中,我们可以通过多种方式来查找访问密钥(AK/SK)。一种常见的方法是利用 BurpSuite 及其各种插件(HaE),扫描页面或 JavaScript 文件中可能包含 AK/SK 的关键词。插件通常通过正则匹配识别文件中的关键内容,但这种方法可能会误匹配一些无关的关键词,因此我们需要自行判断和验证 AK/SK 的特征,这一点稍后会详细讲到。
另一种方式是利用未授权的 API 接口访问获得 AK/SK,例如 /api/oss/config/
等接口。曾经通过某电网的一个 JS 路径发现了存储桶泄露,涉及数万条数据,危害较大。这些实例都说明,AK/SK 是云上安全防护中不可忽视的关键点,必须采取严谨的策略来识别和保护。
识别AK/SK
识别技巧:实际上,关于 AK/SK 的识别特征,网上早已有不少人分享过具体方法。例如,不同云厂商的 AK/SK 格式存在特征差异,可以利用这些特征识别 AK/SK 的来源云厂商,从而实现更有针对性的利用。基于这些特征,我结合了前人分享的云上攻防知识点,整理出了国内主要云厂商的 AK/SK 特征汇总。
此外,这里提供了一篇相关参考文章: https://wiki.teamssix.com/cloudservice/more/
腾讯云
腾讯云 (Tencent Cloud) 的 Access Key 开头标识一般是 "AKID"
阿里云
阿里云 (Alibaba Cloud) 的 Access Key 开头标识一般是 "LTAI"。
华为云
华为云 (Huawei Cloud) 的 Access Key 是20个随机大写字母和数字组成。
百度云
百度云 (Baidu Cloud) 的 Access Key 开头标识一般是 "AK"。
京东云
京东云 (JD Cloud) 的 Access Key 开头标识一般是 "JDC_"。
联通云
联通云 (China Unicom Cloud) 的 Access Key 开头标识一般是 "LTC"。
移动云
移动云 (China Mobile Cloud) 的 Access Key 开头标识一般是 "YD"。
电信云
中国电信云 (China Telecom Cloud) 的 Access Key 开头标识一般是 "CTC"。
云存储桶连接工具分享
腾讯云
https://cosbrowser.cloud.tencent.com/
阿里云
https://github.com/aliyun/oss-browser
移动云
https://ecloud.10086.cn/op-help-center/doc/article/57052
行云管家
https://yun.cloudbility.com
综合连接工具
https://github.com/dark-kingA/cloudTools
案例分享
这里是曾经某次攻防演练中通过某JavaScript
文件拿到的AK/SK
,这里可以明显看到"LTAI"的字样,结合前面的知识,可以判断该AK/SK
的来源是阿里云
用OSS-Browser进行连接,可以看到该AccessKey
下有26
个存储桶
随后用CF这款云上工具进行连接,可以看到已经拿到了最高权限
可接管的ECS服务器如下:
接管阿里云控制台
登录阿里云账户
总结
随着不断企业上云,我们必须了解并学习云安全相关的知识以应对未来可能存在的安全隐患,针对AK/SK的防护有以下几种措施:
密钥管理服务(KMS):使用腾讯云 KMS 安全生成、管理密钥,避免硬编码密钥到代码中,并定期轮换密钥,减少长期暴露风险。
访问权限控制(CAM):通过 CAM 设置精细化权限,尽量使用短期凭证,遵循最小权限原则。
日志和异常监控:启用腾讯云云审计(Cloud Audit),监控 AK/SK 的使用情况,设置异常访问告警。
密钥加密存储与环境隔离:使用加密方式存储密钥,不在代码中直接暴露密钥信息,区分生产和开发环境。
应对密钥泄露:若发现泄露,立即禁用相关密钥,生成替代密钥并替换,防止影响扩大。
原文始发于微信公众号(红细胞安全实验室):【云安全】浅谈关于云上攻防AK/SK的特征和利用姿势
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论