python 程序运行在阿里云主机_阿里云主机Access key利用工具

1e1b2af85593993ced7821d2ae138853.png

简介(Gamma实验室核心成员:一灯老和尚所写)

在日常渗透过程中我们经常遇到信息泄露出ALIYUN_ACCESSKEYID与ALIYUN_ACCESSKEYSECRET(阿里云API key),特别是laravel框架得debug信息。APP中也会泄露这些信息,那么我们如何直接利用这些泄露的api key去拿到别人的阿里云主机shell勒?

!!!下载链接在文末!!!

概述

我们说下阿里API有什么用吧,以下是官方说明:

云服务器(Elastic Compute Service,ECS),可以调用API管理您的云上资源和开发自己的应用程序。

ECS API支持HTTP或者HTTPS网络请求协议,允许GET和POST方法。您可以通过以下方式调用ECS API

详情参考阿里云官方API文档:https://help.aliyun.com/document_detail/25484.html?spm=a2c4g.11186623.6.1276.12244f88jytZ8c

开发思路

1、通过阿里云SDK使用

SDK下载地址:https://github.com/aliyun/aliyun-openapi-python-sdk

pip安装

# Install the core library pip install aliyun-python-sdk-core # Install the ECS management library pip install aliyun-python-sdk-ecs # Install the RDS management library pip install aliyun-python-sdk-rds

调用查询ecs主机

#!/usr/bin/env python#coding=utf-8 from aliyunsdkcore.client import AcsClientfrom aliyunsdkcore.acs_exception.exceptions import ClientExceptionfrom aliyunsdkcore.acs_exception.exceptions import ServerExceptionfrom aliyunsdkecs.request.v20140526.DescribeInstancesRequest import DescribeInstancesRequest client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-hangzhou') request = DescribeInstancesRequest()request.set_accept_format('json') response = client.do_action_with_exception(request)# python2: print(response) print(str(response, encoding='utf-8'))

创建命令

#!/usr/bin/env python#coding=utf-8 from aliyunsdkcore.client import AcsClientfrom aliyunsdkcore.acs_exception.exceptions import ClientExceptionfrom aliyunsdkcore.acs_exception.exceptions import ServerExceptionfrom aliyunsdkecs.request.v20140526.CreateCommandRequest import CreateCommandRequest client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-hangzhou') request = CreateCommandRequest()request.set_accept_format('json') response = client.do_action_with_exception(request)# python2: print(response) print(str(response, encoding='utf-8'))

这里会返回一个云助手命令id,返回结果:

{ "RequestId": "E69EF3CC-94CD-42E7-8926-F133B86387C0", "CommandId": "c-7d2a745b412b4601b2d47f6a768d3a14"}

执行命令

#!/usr/bin/env python#coding=utf-8 from aliyunsdkcore.client import AcsClientfrom aliyunsdkcore.acs_exception.exceptions import ClientExceptionfrom aliyunsdkcore.acs_exception.exceptions import ServerExceptionfrom aliyunsdkecs.request.v20140526.InvokeCommandRequest import InvokeCommandRequest client = AcsClient('<accessKeyId>', '<accessSecret>', 'cn-hangzhou') request = InvokeCommandRequest()request.set_accept_format('json') response = client.do_action_with_exception(request)# python2: print(response) print(str(response, encoding='utf-8'))

返回结果

{ "RequestId": "E69EF3CC-94CD-42E7-8926-F133B86387C0", "InvokeId": "t-7d2a745b412b4601b2d47f6a768d3a14"}

安全组部分就省略了,根据API文档

2、通过GET/POST 使用

这里先说下公共请求参数

名称类型是否必需描述
ActionStringAPI的名称。取值请参见API概览。
AccessKeyIdString访问密钥ID。AccessKey用于调用API,而用户密码用于登录 ECS管理控制台。
SignatureString您的签名。取值请参见签名机制。
SignatureMethodString签名方式。取值:HMAC-SHA1
SignatureVersionString签名算法版本。取值:1.0
SignatureNonceString签名唯一随机数。用于防止网络重放攻击,建议您每一次请求都使用不同的随机数。
TimestampString请求的时间戳。按照ISO8601标准表示,并需要使用UTC时间,格式为yyyy-MM-ddTHH:mm:ssZ。示例:2018-01-01T12:00:00Z 表示北京时间2018年01月01日20点00分00秒。
VersionStringAPI版本号,格式为YYYY-MM-DD。取值:2014-05-26
FormatString返回参数的语言类型。取值范围: · json· xml默认值:xml

2.1 GET请求

https://ecs.aliyuncs.com/?Action=DescribeInstanceStatus&RegionId=cn-hangzhou&PageSize=1&PageNumber=1&InstanceId.1=i-bp1j4i2jdf3owlhe****&<公共请求参数>

XML返回格式:

<DescribeInstanceStatusResponse> <PageNumber>1</PageNumber> <InstanceStatuses> <InstanceStatus> <Status>Running</Status> <InstanceId>i-bp1j4i2jdf3owlhe****</InstanceId> </InstanceStatus> </InstanceStatuses> <TotalCount>58</TotalCount> <PageSize>1</PageSize> <RequestId>746C3444-9A24-4D7D-B8A8-DCBF7AC8BD66</RequestId></DescribeInstanceStatusResponse>

JSON返回格式

{ "PageNumber": 1, "InstanceStatuses": { "InstanceStatus": [ { "Status": "Running", "InstanceId": "i-bp1j4i2jdf3owlhe****" } ] }, "TotalCount": 58, "PageSize": 1, "RequestId": "746C3444-9A24-4D7D-B8A8-DCBF7AC8BD66"}

2.2 POST请求

POST / HTTP/1.1Host: ecs.aliyuncs.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2Accept-Encoding: gzip, deflateContent-Type: application/x-www-form-urlencodedContent-Length: 0 Action=DescribeInstanceStatus&RegionId=cn-hangzhou&PageSize=1&PageNumber=1&InstanceId.1=i-bp1j4i2jdf3owlhe****&<公共请求参数>

返回跟GET方式一样

工具使用

图形化界面,没什么说的。附一张截图相信大家都明白了。

2531f243b023ac6f2128d75cc89cc822.png

结束

阿里云为运维人员与开发人员提供了方便,但同时自身也要加强安全意识,注意自己的key不要泄露,不然直接接管阿里云所有esc主机,风险比一般高危漏洞都还要高。

下载链接及漏洞文章

项目链接:https://github.com/mrknow001/aliyun-accesskey-Tools

工具下载链接:https://github.com/mrknow001/aliyun-accesskey-Tools/releases/download/1.0/Aliyun-.AK.Tools.exe

欢迎大家关注微信公众号Gamma安全实验室,会不定期发表技术文章和安全工具

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563417.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言中case1 case3 n =1,(n 1)-Step Derivations on n-Groupoids: The Case n = 3

摘要&#xff1a;We define a ranked trigroupoid as a natural followup on the idea of a ranked bigroupoid. We consider the idea of a derivation on such a trigroupoid as representing a two-step process on a pair of ranked bigroupoids where the mapping d is a …

输入数字存入数组C语言,//从键盘上输入若干整数,并将其存入数组中,并统计输入数据的个...

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼//从键盘上输入若干整数&#xff0c;并将其存入数组中&#xff0c;并统计输入数据的个数。#include#include#include#includeint sum_num(char [],int []);int cou_num(char [][81],int,int[]);int txt(char [][81],int);//主函数m…

一张纸厚度是多少毫米_一张纸的威力有多大?纸折103次捅破宇宙,理论荒诞却无法反驳...

【图文摘自网络&#xff0c;如有侵权请联系删除】人类达到月球需要多久时间&#xff1f;地球和月亮的距离不是一成不变的&#xff0c;它有着近地点和远地点&#xff0c;地球里月球最远的距离在363300千米&#xff0c;最远为405500千米。而当年阿波罗号由火箭发射到登陆月球表面…

c语言中结构体类型只有,C语言中main()函数不要返回结构体类型(求助)

大家先看一下这段程序&#xff1a;#include typedef unsigned char bool;typedef struct _person person;struct _person {bool sex;};person main() {person xingwang;xingwang.sex 0;return xingwang;}如此简单清晰的程序&#xff0c;您觉得会报错吗&#xff1f;如果您和我一…

oracle 两表两列数据对比_Oracle、PostgreSQL与Mysql数据写入性能对比

最近因为工作需要&#xff0c;需要对Oracle和Mysql写入性能进行对比&#xff0c;以前都是听说Mysql性能比Oracle不是一个级别&#xff0c;现在亲测后&#xff0c;不比不知道&#xff0c;一比吓一跳。。。追加PostgreSql性能测试数据测试场景本地电脑(单机)&#xff0c;通过程序…

锐驰机器人的市场_【年终盘点】2020年,锐驰的王炸新品!

点击蓝字关注我哦辛苦付出、苦熬实干&#xff0c;换来了硕果累累、丰收成片。回首2020年&#xff0c;锐驰秉承着锐意进取、快速创新的理念&#xff0c;在自动化道路上不断探索&#xff0c;推出了多款智能自动化机器&#xff0c;现在着重介绍以下3款&#xff1a;异型插件机器人、…

c语言语音控制游戏文献,C语言课程设计-基于C语言推箱子游戏设计-毕业论文文献.doc...

gd工程职业技术学院毕业论文基于C语言的推箱子游戏设计Design of the push box Based on Combined Language作者姓名&#xff1a;学科专业&#xff1a; 应用电子技术学院(系部)&#xff1a; 机电工程系指导教师&#xff1a;gd工程职业技术学院2013年1月摘要近年来随着科技的飞速…

学生管理系统c#语言代码,基于C#语言的学生管理系统的设计(ASP.NET2.0)

摘 要随着科学技术的不断提高,计算机科学日渐成熟,其强大的功能已为人们深刻认识,它已进入人类社会的各个领域并发挥着越来越重要的作用。学生管理系统是学校管理中不可少的一部分。而基于B/S架构的学生管理系统是方便学校管理&#xff0c;实行电子办公的必要组成部分&#xf…

异常信息_一个针对异常信息通知的springboot starter

前言作为后端开发者&#xff0c;项目上线之后难免会遇到各种问题&#xff0c;一个良好且及时的异常通知机制可以让我们在项目的维护上避免很多不必要的麻烦。本项目的开发愿景是为了给使用者在线上项目的问题排查方面能够带来帮助&#xff0c;简单配置&#xff0c;做到真正的开…

2使用教学_建水三中智能交互式液晶一体机设备投入使用

“张老师&#xff0c;一体机的使用会了吗&#xff1f;”“一体机在教学中好用吗&#xff1f;”“告别多年粉笔加黑板的教学方式&#xff0c;不用再吸入粉笔灰了。”2月25日清晨&#xff0c;建水三中的老师们议论纷纷&#xff0c;大家关注的是如何操作使用教室里安装的一体机。建…

数据结构折半查找算法C语言,数据结构C语言实现----折半查找

运行结果&#xff1a;代码如下&#xff1a;#include//数组初始化函数void Array_get(int array[],int max){printf("请输入一个数组&#xff0c;大小从低到高&#xff0c;各个数字间以空格隔开&#xff1a;");for (size_t i 0; i < max; i){scanf("%d"…

生活中的算法的实际举例_驾校学的技术,在实际生活中,你能运用自如吗?

学驾照的过程不用说&#xff0c;每一个经历过的人都有着刻骨铭心的记忆。很多人认为自己流了很多汗水&#xff0c;付出了很多精力在练车场上摸爬滚打&#xff0c;这下肯定把驾驶技术给夯实了&#xff0c;以后开车上路一点问题也没有。但是事情真的是这样吗&#xff0c;驾校学的…

c语言万年历设计背景,万年历设计报告

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼#include#includechar* month_str[]{"January","February","March","April","May","June","July","August","September","Octob…

470p 更换固态硬盘_联想G510换固态硬盘遇到的问题

唉&#xff01;更正一下吧&#xff01;电脑识别光驱位机械硬盘没有成功&#xff0c;出现了新问题&#xff0c;偶尔能识别出来&#xff0c;通常情况下不能识别出来&#xff0c;正在寻找解决办法中.........现在对于刚发表的这篇文章&#xff0c;有点惭愧&#xff01;二更&#x…

linux指针赋值原子,x86_64处理器的指针赋值是原子操作吗?

如题&#xff0c; x86_64处理器的指针赋值是原子操作吗&#xff1f;说实话我很讨厌参与讨论那些似乎不确定东西&#xff0c;倒不是说我对未知不敬畏&#xff0c;而是参与讨论的人大多数都是似懂非懂&#xff0c;对&#xff0c;我说的不确定性指的是参与讨论的人的认知的不确定&…

tecplot批量导出图片_批量导出Excel图片,用这招,半分钟干的活别人一整天完不成...

上个星期&#xff0c;我的一个同学向我求助。她是公司的HR&#xff0c;老板让她把员工信息表中的照片导出到文件夹中&#xff0c;然后打包发送给行政部的文员打印出来。她公司有5000多人&#xff0c;她复制粘贴了整整一个上午&#xff0c;才导出了200多张照片&#xff0c;而且还…

android动画超出圆角,Android关于Glide的使用(高斯模糊、加载监听、圆角图片)

高斯模糊、加载监听、圆角图片这些相信大家都很熟悉&#xff0c;那如何实现这些效果&#xff0c;请大家参考本文进行学习。1、引用compile com.github.bumptech.glide:glide:3.7.02、加载图片2.1 基本加载Glide.with(context).load(url).into(imageView);2.2 设置加载中和加载失…

填充table_Excel Power Query | 向下填充的逆过程

上期内容给大家讲解了关于图表精品图表 | Excel绘制“带有阈值分割的条形图和棒棒图”的制作方法。本期给大家讲解一下关于Power Query的知识 。如下图&#xff0c;将下面的数据向下填充逆过程。即将左侧的数据转换至右侧的数据。如果是从右往左的话是直接向下填充即可&#xf…

android中拖拽浮动按钮,Android自定义view实现拖拽选择按钮

本文实例为大家分享了Android实现拖拽选择按钮的具体代码&#xff0c;供大家参考&#xff0c;具体内容如下DragChooseDemo效果图Attributes属性(布局文件中的自定义属性)半径、文字大小、按钮个数注意配合使用&#xff0c;以达到最佳效果方法使用布局文件中的使用android:id&qu…

# 解析bt文件_磁力链接和BT种子使用方法

目前用的最多的是磁力链接和BT种子&#xff0c;不过好多人并不太会使用&#xff0c;因此写个教程给大家说明一下。何为磁力链接&#xff1a;简单地说&#xff0c;磁力链接是一种特殊链接&#xff0c;但是它与传统基于文件的位置或名称的普通链接(如http://xxx)不一样&#xff0…