云主机AK/SK泄露利用

 

AK/SK认证

云主机通过使用Access Key Id / Secret Access Key加密的方法来验证某个请求的发送者身份。Access Key Id(AK)用于标示用户,Secret Access Key(SK)是用户用于加密认证字符串和云厂商用来验证认证字符串的密钥,其中SK必须保密。 AK/SK原理使用对称加解密。

云主机接收到用户的请求后,系统将使用AK对应的相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含的认证字符串进行比对。如果认证字符串相同,系统认为用户拥有指定的操作权限,并执行相关操作;如果认证字符串不同,系统将忽略该操作并返回错误码。

 

AK/SK泄露

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

 

AK/SK利用

行云管家直接大部分主流的云厂商。

https://yun.cloudbility.com/

选择对应厂商,通过AK/SK凭证对主机进行绑定。

AK/SK验证通过,选择绑定的云主机。

绑定成功,可以直接重置操作系统登录密码。(取得客户授权后操作)

 

实战利用

阿里云AK/SK泄露

如下,目标使用了spring boot 2.0框架,开放了env端点。

存在阿里云aliyun.accesskey和aliyun.secretKey属性,其对应的value进行了脱敏处理。

尝试获取脱敏的属性明文。

需要补课的参考我之前的文章。

https://www.jianshu.com/p/ae4be3af5231

目标网站存在/actuator/jolokia 接口且使用了 jolokia-core 依赖,直接尝试使用第一种方法获取明文。(大多数情况通过下载应用实时的 JVM 堆信息,获取明文)

修改arguments为想要获取的属性值。

成功获取到aliyun.accesskey、aliyun.secretKey的明文信息。

使用行云管家输入获取的AK/SK绑定主机。可以查看到主机的实例ID,所属地区等信息。

最终目的是获取服务器权限,由于没有取得客户允许,不能随意重置操作系统密码。

查看阿里云官方的api使用。

https://api.aliyun.com/#/?product=Ecs

在左上方搜索框,搜索相关命令执行的操作方法。

RunCommand为执行命令。

CreateCommand是创建命令和InvokeCommand调用命令一起使用。

首先尝试直接执行命令:

选择熟悉的脚本语言,本次使用python

RegionId为地域ID,通过行云管家获取到

RunShellScript:适用于Linux实例Shell脚本。

CommandContent:对bash反弹shell命令进行Base64编码

InstanceId:通过行云管家获取到实例ID

正确输入后,可以调试SDK代码执行脚本,也可以把脚本内容粘贴到本地执行。

执行成功后远程vps没有接收到反弹的shell,原因未知。

查看其他师傅的利用文章使用的CreateCommand创建命令和InvokeCommand调用命令进行反弹shell操作。

首先使用CreateCommand创建命令,输入对应信息。

执行脚本,获取到返回的CommandId

然后使用InvokeCommand调用命令,输入得到的CommandId

执行脚本

vps成功接收到反弹的shell

工具自动化

可以直接使用网上自动化的利用工具,简单便捷。

https://github.com/iiiusky/alicloud-tools

指定AK/SK 获取主机列表

./AliCloud-Tools -a xxx -s xxx ecs –list

指定AK/SK,实例ID,和执行的命令。

./AliCloud-Tools -a xxx -s xxx ecs exec -I xxx -c “whoami”

成功接收到反弹的shell。

图形化工具

https://github.com/mrknow001/aliyun-accesskey-Tools/releases/tag/1.0

其它云主机AK/SK利用

网上的大多数文章都是对阿里云的AK/SK进行利用。

然而实际情况中可能遇到其它的云主机AK/SK泄露。

如:

亚马逊云

七牛云

在行云管家列表内的可以直接绑定去管理。

https://yun.cloudbility.com/

不在列表内的,需要去查看官方的API文档,然后根据文档进行进一步的利用。

以七牛云举例,其官方开发者中心描述了如何使用AK/SK对服务器进行管理。

 

总结

多看官方的开发者文档

参考链接:

https://www.freebuf.com/articles/web/255717.html

http://r3start.net/index.php/2020/10/23/738

(完)