计算机管理系统:电脑网络技术记录本

服务器

当前位置:首页 > 网络技术 > 服务器

记一次阿里云主机泄露Access Key到Getshell

0x01  前言


此次渗透为一次授权渗透测试,门户网站找出了一堆不痛不痒的小漏洞,由于门户网站敏感特征太多而且也没什么特殊性就没有截图了,后台则是根据经验找出并非爆破目录,涉及太多敏感信息也省略了,我们就从后台开始。


PS:本文仅用于技术讨论,严禁用于任何非法用途,违者后果自负。


0x02  正文


拿到网站先信息收集了一波,使用的宝塔,没有pma漏洞,其它方面也没有什么漏洞,没有捷径走还是老老实实的渗透网站吧。


打开网页发现就是登录,果断爆破一波,掏出我陈年老字典都没爆破出来,最终放弃了爆破。

记一次阿里云主机泄露Access Key到Getshell

记一次阿里云主机泄露Access Key到Getshell

跑目录也没跑出个什么东西,空空如也,卡在登录这里找回密码这些功能也都没有,CMS指纹也没查到,都快要放弃了,瞎输了个login,报了个错(准确说是调试信息),提起12分精神查看。


小结:渗透这东西还是要讲究缘分的。

记一次阿里云主机泄露Access Key到Getshell

往下继续看。

记一次阿里云主机泄露Access Key到Getshell

Reids账号密码都有,上面还有个mysql账号密码,但是端口都未对外网开放,只能放弃了。


但下面ALIYUN_ACCESSKEYID跟ALIYUN_ACCESSKEYSECRET就很关键。


利用方式可以手动一步一步来,但是已经有大神写出了工具,不想看手工的直接滑到最后部分。


说句废话:手工有手工的乐趣,一步一步的操作会让你做完后有种成就感,我个人觉得手工其实是种享受,工具呢只是为了方便,在红蓝对抗中争分夺秒时使用。


手工篇


首先用行云管家导入云主机,网站地址:https://yun.cloudbility.com/


步骤:选择阿里云主机 -> 导入key id跟key secret -> 选择主机 -> 导入即可(名字随便输)

记一次阿里云主机泄露Access Key到Getshell

记一次阿里云主机泄露Access Key到Getshell

记一次阿里云主机泄露Access Key到Getshell

导入成功后在主机管理看得到

记一次阿里云主机泄露Access Key到Getshell

点进来查看详情,这里可以重置操作系统密码,但作为渗透,千万千万千万不要点这个,不能做不可逆操作。我们用这个只是为了得到两个数据,就是实例ID以及所属网络,拿到就可以走人了。往下看

记一次阿里云主机泄露Access Key到Getshell

这里我们打开阿里API管理器,这个是阿里提供给运维开发人员使用的一个工具,https://api.aliyun.com/#/?product=Ecs,点击左边的搜素框输入command,我们会用到CreateCommand跟InvokeCommand,CreateCommand是创建命令,InvokeCommand是调用命令。继续往下看

记一次阿里云主机泄露Access Key到Getshell

Name部分随意。


Type指的是执行脚本类型。


RunBatScript:创建一个在Windows实例中运行的 Bat 脚本。


RunPowerShellScript:创建一个在Windows实例中运行的PowerShell脚本。


RunShellScript:创建一个在Linux实例中运行的Shell脚本。


CommandContent为执行命令,需要注意的是这里是填写base64编码。


填写完后选择python。

记一次阿里云主机泄露Access Key到Getshell

点击调试SDK示例代码,此时会弹出Cloud shell窗口,并创建一个CreateCommand.py文件,用vim编辑器打开CreateCommand.py,修改accessKeyId与accessSecret。

记一次阿里云主机泄露Access Key到Getshell

记一次阿里云主机泄露Access Key到Getshell

执行CreateCommand.py,会返回一个RequestId与CommandId,记录CommandId,后面调用命令会用到。

记一次阿里云主机泄露Access Key到Getshell

打开InvokeCommand。


RegionId填写行云管家中的所属网络。


CommandId填写刚刚执行CreateCommand.py返回的CommandId。


InstanceId填写示例ID,行云管家中获取到的那个。


继续点击调试SDK示例代码,会生成一个InvokeCommand.py文件,同样用vim编辑器把accessKeyId与accessSecret修改了。

记一次阿里云主机泄露Access Key到Getshell

修改完成后使用nc监听端口,执行InvokeCommand.py。

记一次阿里云主机泄露Access Key到Getshell

成功执行命令反弹shell,收工。


工具篇


工具地址:https://github.com/iiiusky/alicloud-tools


使用方法:


查看所有实例信息


AliCloud-Tools.exe -a <AccessKey> -s <SecretKey> ecs –list

记一次阿里云主机泄露Access Key到Getshell

当拿到示例ID后就可以执行命令了。


执行命令。


AliCloud-Tools.exe -a <AccessKey> -s <SecretKey> ecs exec -I <实例ID> -c "执行命令"

记一次阿里云主机泄露Access Key到Getshell

0x03 总结


Access Key一般会出现在报错信息、调试信息中,具体场景没法说什么情况。本次遇到也是意外收获,因此我在网上也查阅了很多文章,并没发现什么技巧。如果是APP在APK中存放Access Key Web页面/JS文件等 Github查找目标关键字发现Access Key与AccessKey Secret拥有WebShell低权限的情况下搜集阿里云Access Key利用。

相关内容

文章评论

表情

共 0 条评论,查看全部
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~