简介

首先认识下阿里云官方解释的什么是AccessKey:在调用阿里云API时您需要使用AccessKey完成身份验证。AccessKey包括AccessKey ID和AccessKey Secret,需要一起使用。具体如下:
AccessKey ID:用于标识用户。

AccessKey Secret:用于验证用户的密钥。AccessKey Secret必须保密。

云主机通过使用Access Key Id / Secret Access Key加密的方法来验证某个请求的发送者身份。Access Key Id(AK)用于标示用户,Secret Access Key(SK)是用户用于加密认证字符串和云厂商用来验证认证字符串的密钥,其中SK必须保密。AK/SK原理使用对称加解密。云主机接收到用户的请求后,系统将使用AK对应的相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。在使用云服务 API 进行访问时,用户需要提供其 AK 和 SK,以便进行身份验证。这些凭证用于证明用户的身份,并授权用户执行特定的操作,如创建、管理和访问云资源,例如虚拟机实例、存储桶、数据库等。Access Key 和 Secret Key 的组合是敏感信息,类似于用户名和密码的组合,需要妥善保管和保密。如果 AK 或 SK 泄露,未经授权的人可能会使用它们来访问和操作用户的云资源,导致数据泄露、资源滥用或其他安全风险。

常见的泄露方式

1.硬编码产生泄露 例如将AK/SK硬编码到程序代码/配置文件中,攻击者只需要对小程序包进行反编译即可获取AK/SK。2.安全意识单薄&存储手段缺失 最直白的如硬编码到业务代码中并上传github,其次也有明文配置到配置文件并在日志中任意打印,或者明文保存在代码库、配置文件、公开可访问的存储桶、版本控制系统中,这些都可能被攻击者获取。3.AK/SK业务隔离手段缺失,比如多个业务共有一对AKSK,这样任何一个业务造成的AKSK泄露都会导致其他业务受影响。比如Bucket允许任意文件上传和读取、bucket允许匿名访问、bucket允许列出文件、bucket允许盲上传 4.AK/SK安全分发手段缺失,比如直接通过微信、企业微信等即时通讯工具对AK/SK口口相传等等。

CF框架简介

CF 是一个云环境利用框架,适用于在红队场景中对云上内网进行横向、SRC 场景中对 Access Key 即访问凭证的影响程度进行判定、企业场景中对自己的云上资产进行自检等等。当前已支持阿里云、腾讯云、AWS和华为云。手上刚好有一台阿里云主机,今天就用它来做实验学习一下。 

使用过程

AK/SK泄露

大部分的云主机都支持AK/SK都认证方式,用于API调用等功能,由于开发的不规范,以及一些其它漏洞,可能会导致AK/SK泄露。在渗透中,如果发现目标泄露了AK/SK,可以通过AK/SK直接攻击其对应的云服务器。

以阿里云为例

以阿里云为例,学习下CF利用框架的使用方式 CF 是一个云环境利用框架,适用于在红队场景中对云上内网进行横向、SRC 场景中对 Access Key 即访问凭证的影响程度进行判定、企业场景中对自己的云上资产进行自检等等。当前已支持的云:阿里云、腾讯云、AWS、华为云。

使用

首先开始访问配置
cf config

键盘上下键选择云服务商后回车,然后程序会提示输入访问密钥别名,以及输入访问密钥 ID (Input Access Key Id)都输入同样的Access Key Id值即可;回车后输入Access Key Secret;再次回车,直接输入optiona即可配置完成。
输入以下命令可查看当前获取的阿里云服务器的权限
cf alibaba perm

接管控制台
cf alibaba console

使用新增的账号密码在
https://signin.aliyun.com

即可实现登录
一键列出当前访问凭证的云服务资源
cf alibaba ls

查看 CF 为实例执行命令的操作的帮助信息
cf alibaba ecs 
exec
 -h

在实例中一键执行whoami,ifconfig和hostname
cf alibaba ecs 
exec
 -b

设置想要执行的命令,在exec 后加 -c 和命令
./cf alibaba ecs 
exec
 -c whoami

不过要注意的是,在执行某些危险命令的过程中(如cf alibaba console),不断收到了阿里云的告警提示信息

优化与防御

需要做一些有效的措施来减少密钥泄露的风险:

优化开发并配合检测工具

针对硬编码带来的安全问题,首先需要解决额就是问题的源头,所以我们需要提升开发者的安全意识和安全习惯,这样可以最大程度的避免问题的发生。或者确保只有授权人员能够访问。避免将密钥明文保存在代码库、配置文件或公开可访问的位置。

监控和审计

要配合适当的监控和审计能力,监控是为了实时的去发现问题的出现,而审计则更加关注问题出现后的处理和追溯。配合适当的工具和能力,这样一旦发生了泄露事件,我们可以根据监控和审计情况,快速定位问题的影响范围,并锁定攻击者,快速处理和修复。大多数的云供应商都有提供相关工具,当然基于云中的责任共担模型,使用工具和管理上层安全是需要用户去负责的,所以最关键的问题还是在用户层面。

建立持续性云上安全检测机制

最后也是最重要,针对云上层出不穷的安全问题,错误配置是最常见的原因,对已经上云的资源,建立持续性的机制,主要通过预防、检测、响应和主动识别云基础设施风险,持续管理云安全状况,以及企业的安全策略,主动与被动结合,发现评估云服务的安全配置风险,一旦发现问题,可以提供自动或者人工的补救措施。

关于HummerRisk

HummerRisk 是开源的云原生安全平台,以非侵入的方式解决云原生的安全和治理问题,核心能力包括混合云的安全治理和K8S容器云安全检测。 

参考文章

https://blog.csdn.net/wolaisongfendi/article/details/128965488

工具下载

对应工具已同步知识星球。

往期推荐
E
N
D
知识星球产品及服务
团队内部平台:潮汐在线指纹识别平台 | 潮听漏洞情报平台 | 潮巡资产管理与威胁监测平台 | 潮汐网络空间资产测绘 | 潮声漏洞检测平台 | 在线免杀平台 | CTF练习平台 | 物联网固件检测平台 | SRC资产监控平台  | ......
星球分享方向:Web安全 | 红蓝对抗 | 移动安全 | 应急响应 | 工控安全 | 物联网安全 | 密码学 | 人工智能 | ctf 等方面的沟通及分享
星球知识wiki:红蓝对抗 | 漏洞武器库 | 远控免杀 | 移动安全 | 物联网安全 | 代码审计 | CTF | 工控安全 | 应急响应 | 人工智能 | 密码学 | CobaltStrike | 安全测试用例 | ......
星球网盘资料:安全法律法规 | 安全认证资料 | 代码审计 | 渗透安全工具 | 工控安全工具 | 移动安全工具 | 物联网安全 | 其它安全文库合辑  | ......
扫码加入一起学习吧~
继续阅读
阅读原文