Loot Public EBS Snapshotsb
| 2024-6-27
0  |  阅读时长 0 分钟
Field
RedTeam
Beginner
Free
Tags
s3
iam
ebs
snapshot
Status
Done
Huge Logistics, a titan in their industry, has invited you to simulate an "assume breach" scenario. They're handing you the keys to their kingdom - albeit, the basic AWS credentials of a fresh intern. Your mission, should you choose to accept it, is to navigate their intricate cloud maze, starting from this humble entry. Gain situational awareness, identify weak spots, and test the waters to see how far you can elevate your access. Can you navigate this digital labyrinth and prove that even the smallest breach can pose significant threats? The challenge is set. The game is on.
题目提供的信息:
AKIARQVIRZ4UCZVR25FQ / 0rXFu1r+KmGY4/lWmNBd6Kkrc9WM9+e9Z1BptzPv
 
相关概念:Amazon Machine Image (AMI) 亚马逊机器映像,就是创建虚拟机的镜像、Amazon Elastic Block Store (EBS) 块存储
当从支持 EBS 的 EC2 实例创建 AMI 时,幕后发生的事情是 AWS 创建连接到该实例的 EBS 卷的快照。然后将这些快照与 AMI 相关联。EBS 快照可用于提供 EBS 卷的时间点恢复,这在我们需要将您的数据恢复到以前的状态时非常有用,也可用于跨AWS区域和帐户传输数据。
 
2018 年,Duo 发现有 3213 账户公开 116386 个 EBS 快照,DEFCON 27(2019)更是发现了各行业在 EBS 快照泄漏的诸如源代码、SSH key、PII、密码等敏感信息
 
先看一个基本信息
 
 
查看最新版本
 
查看策略定义
 
题外话
这里我顺便用 aws-enumerate 工具枚举了一下,发现是没有这样手工看全的,工具就枚举出了
其实按理能实现自动获取 get-caller-identity 然后自动获取后面的~
 
除了我们已知的权限(如 GetPolicy 之类的),还有 ec2:DescribeSnapshotAttribute 和 ec2:DescribeSnapshots 权限
 
后者可以查看所有 EBS 快照,前者是看指定快照的
 
快照不是加密的,所以下面的步骤可以正常进行。不过我们当前 IAM 用户没有从快照创建存储卷权限,有的话连带创建 EC2创建,就能拿到里面的内容了。
 
接下来查看快照的 createVolumePermission 属性
Group 为 all 意味着是可公开访问的,并且任意 AWS 用户都能以该快照为基础创建存储卷~
 
当然也可以通过命令查看该 IAM 用户公开快照
 
那我们就可以用我们自己的账户,创建 EC2 实例,然后挂在该存储卷了~
 
进入 EC2 页面,左侧栏 点快照,先清楚筛选条件,然后搜 snap-0c0679098c7a4e636
notion image
 
选中该快照,操作 → 从快照复制卷
notion image
 
进入 创建卷 页面,值留默认即可,然后点创建卷,在 Elastic Block Store 下的 卷 页面,就能看到 卷 被成功创建了。region 为 us-east-1a
notion image
 
接下来创建 EC2 实例,到左侧栏 实例 → 启动新实例。
  • 亚马逊机器映像默认(符合条件的免费套餐)
  • 实例类型 t2.micro(也是符合条件的免费套餐即可)
  • 密钥对 创建新密钥对,名字随意,就会自动下载下来
  • 网络设置
    • 子网,一定要选择 上面 卷 可用区相应子网,比如上面是 us-east-1a,这里子网就要选 us-east-1a
    • notion image
    • 防火墙(安全组)保留默认 0.0.0.0/0 方便连接
 
其他保持默认,创建即可,回到实例页面,点一个刷新小按钮,很快就建好了,选中实例
notion image
 
复制一下公网 IP,然后连 SSH 即可,注意,默认下载下来的 ssh 密钥不是 600 权限,是连不了的,需要先确保当前用户只读写
 
然后并不能直接连 root 用户
 
就可以正常连了
 
回到 卷 页面,需要把公共快照的卷挂载到这台 EC2 实例上
notion image
 
选择刚刚创建的实例 id(注意,上面创建子网的时候一定要和该 卷 可用区一样,不然这里实例 id 是获取不到的)
notion image
最后点击挂载
 
回到 EC2 实例 SSH 里
就能见到挂载的 xvdb 挂载进去了
 
创建个目录,挂载
 
进入用户目录看看
 
intern 用户目录权限权限不足,我们 sudo 先提权到 root
 
发现个 php 文件
里面有个 aksk
 
看看桶里有啥,先 aws configure 配置一下,一般 ec2 实例自带 aws 命令的,直接在 ec2 上直接用即可
即可拿到 flag
 
防御
Plunder Public RDS Snapshots
Plunder Public RDS Snapshots
有点类似的,比如定期看看有没有新增的
 
AWS 也提供了定期的告警邮件以及修改时的告警字样,确保 EBS 快照是私有的,或者确保快照里没有敏感数据
 
DataDog Stratus Red Team 也提供了工具和文档来定期监控 ,学习网站 mark +1
 
进一步阅读
  1. DEFCON 27 议题,有空瞧瞧 👀
  1. https://rhinosecuritylabs.com/aws/exploring-aws-ebs-snapshots/ 主要讲了如何在本地分析 EBS 快照
  1. dufflebag
    BishopFoxUpdated Jul 5, 2024
    这个工具提供了直接检测 EBS 快照的方法,不用手动操作这么麻烦,不过看着第一配置也要费点功夫
 
Loading...
目录