记一次实战阿里云主机泄露Access Key到getshell

admin 2021年12月27日01:59:31评论771 views字数 2083阅读6分56秒阅读模式

01

前言

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


02

正文

拿到网站先信息收集了一波,使用的宝塔,没有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,收工。

 

工具篇

使用方法:

查看所有实例信息

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


 

03

总结

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



免责申明:    

    本项目仅进行信息搜集,漏洞探测工作,无漏洞利用、攻击性行为,发文初衷为仅为方便安全人员对授权项目完成测试工作和学习交流使用。       请使用者遵守当地相关法律,勿用于非授权测试,勿用于非授权测试,勿用于非授权测试~~(重要的事情说三遍)~~,如作他用所承受的法律责任一概与凌晨安全无关!!!


记一次实战阿里云主机泄露Access Key到getshell


本文始发于微信公众号(谢公子学安全):记一次实战阿里云主机泄露Access Key到getshell

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2021年12月27日01:59:31
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次实战阿里云主机泄露Access Key到getshellhttps://cn-sec.com/archives/482553.html

发表评论

匿名网友 填写信息