The Big IAM Challenge 云安全 CTF 挑战赛

2023-12-04 04:28

本文主要是介绍The Big IAM Challenge 云安全 CTF 挑战赛,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

The Big IAM Challenge 云安全 CTF 挑战赛

今天,我们来做一下有关于云安全 的CTF 挑战赛 The Big IAM Challenge,旨在让白帽子识别和利用 IAM错误配置,并从现实场景中学习,从而更好的认识和了解IAM相关的风险。比赛包括6个场景,每个场景都专注于各种AWS服务中常见的IAM配置错误。

挑战赛地址:bigiamchallenge.com

Buckets of Fun

We all know that public buckets are risky. But can you find the flag?

我们进入题目主页后,第一题是叫 Buckets of Fun,我们点击 View IAM Policy 开始做题

在这里插入图片描述

第一题给出了一个 Bucket 的 Policy 内容, 查看提示获取本关的IAM策略如下:

在这里插入图片描述

{"Version": "2012-10-17","Statement": [{"Effect": "Allow", //Effect(效果)设置为Allow(允许)"Principal": "*",  //Principal(主体)是所有用户("*""Action": "s3:GetObject",  //获取对象"Resource": "arn:aws:s3:::thebigiamchallenge-storage-9979f4b/*"  //指定S3存储桶中的所有对象},{"Effect": "Allow","Principal": "*","Action": "s3:ListBucket",    //列出存储桶"Resource": "arn:aws:s3:::thebigiamchallenge-storage-9979f4b","Condition": {       //条件是通过前缀限制只能列出以"files/"为前缀的对象"StringLike": {"s3:prefix": "files/*"}}}]
}

该策略允许任何用户列出"thebigiamchallenge-storage-9979f4b"存储桶中符合前缀条件"files/"的对象。该策略存在如下安全风险:

1、允许任何用户对指定的S3存储桶执行GetObject操作以获取对象的内容。

2、允许任何用户对指定的S3存储桶执行ListBucket操作列出存储桶中符合指定前缀条件的对象

从给到的内容里可以看到,这个存储桶具有公开列对象和公开读取的权限,由于题目里已经给出了 Bucket 名称,针对s3存储桶权限校验不严格,列出桶资源对象并使用查看对象内容获取flag

aws s3 ls s3://thebigiamchallenge-storage-9979f4b/files/

在这里插入图片描述

此时,我们得知files目录下还存在着 flag1.txt 文件夹,由于题目里已经给出了 Bucket 名称,此时我们直接拼接下完整的 URL 为:https://thebigiamchallenge-storage-9979f4b.s3.amazonaws.com/files/flag1.txt

直接访问这个地址,就可以看到 FLAG 所对应的 Key

在这里插入图片描述

然后将这个flag复制,点击提交

在这里插入图片描述

Google Analytics

We created our own analytics system specifically for this challenge. We think it’s so good that we even used it on this page. What could go wrong?

Join our queue and get the secret flag.

第二题叫做Google Analytics,我们继续点击 View IAM Policy

在这里插入图片描述

查看提示获取本关的IAM策略如下:

在这里插入图片描述

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": "*","Action": ["sqs:SendMessage",   //发送消息"sqs:ReceiveMessage"   //接收消息],"Resource": "arn:aws:sqs:us-east-1:092297851374:wiz-tbic-analytics-sqs-queue-ca7a1b2"}]
}

该IAM策略允许任何用户对特定的SQS队列执行SendMessage和ReceiveMessage操作,即发送和接收消息。该策略存在如下安全风险:

1、该策略将操作权限授予了所有用户(“*”),意味着任何具有该策略的用户或角色都可以发送和接收消息。

2、该策略没有限制允许访问的用户、角色或其他条件。它允许所有用户执行SendMessage和ReceiveMessage操作。

SQS (Simple Queue Service) 可以用来帮助不同的应用程序之间进行可靠的消息传递,它就像是一个消息中转站,可以把消息从一个地方发送到另一个地方,确保消息的安全送达和处理,让应用程序之间更好地进行通信和协作

题目的 Policy 中给出了 Account ID 和 Queue 的值,那么我们就可以构造这个 Queue URL 了,构造好后的 Queue URL 为:

https://queue.amazonaws.com/092297851374/wiz-tbic-analytics-sqs-queue-ca7a1b2

最后,使用 AWS CLI 的 SQS 服务里的 receive-message 接口,利用 –queue-url 参数指定这个队列的 URL 地址:

aws sqs receive-message --queue-url https://sqs.us-east-1.amazonaws.com/092297851374/wiz-tbic-analytics-sqs-queue-ca7a1b2

在这里插入图片描述

接着,我们在浏览器中输入URL的地址,获得flag的内容:

在这里插入图片描述

点击提交

在这里插入图片描述

Admin only?

We learned from our mistakes from the past. Now our bucket only allows access to one specific admin user. Or does it?

在这里插入图片描述

第 4 题的名字叫 “Admin only?”,查看提示并获取本关的IAM策略如下:

在这里插入图片描述

{"Version": "2012-10-17","Statement": [{"Effect": "Allow","Principal": "*","Action": "s3:GetObject","Resource": "arn:aws:s3:::thebigiamchallenge-admin-storage-abf1321/*"},{"Effect": "Allow","Principal": "*","Action": "s3:ListBucket","Resource": "arn:aws:s3:::thebigiamchallenge-admin-storage-abf1321","Condition": {"StringLike": {"s3:prefix": "files/*"},"ForAllValues:StringLike": {"aws:PrincipalArn": "arn:aws:iam::133713371337:user/admin"}}}]
}

可以看到,这道题是和 S3 相关的,思路还是和第一题一样,先找到 FLAG 的 Key,然后拼接访问 FLAG 的地址即可。

那么,现在的目标就是获取到这个 FLAG 的 Key,但是我们从 Policy 里可以看到这个存储桶只对 arn:aws:iam::133713371337:user/admin 主体授予了 ListBucket 权限,所以现在要解决的问题就是,怎么绕过这个限制。

查阅官方文档,我们可以得到这样的一条信息:对于 ForAllValues,如果请求中没有键或者键值解析为空数据集(如空字符串),则也会返回 true,不要使用带有 Allow 效果的 ForAllValues,因为这样可能会过于宽容。

也就是说,如果我们把请求中的 aws:PrincipalArn 至为空,这里就会返回 True,那么就可以绕过了。

此时我们先发送一条包含 aws:PrincipalArn 的请求。

aws s3api list-objects --bucket thebigiamchallenge-admin-storage-abf1321 --prefix 'files/' 

在这里插入图片描述

可以看到提示An error occurred (AccessDenied) when calling the ListObjects operation: Access Denied,显示拒绝访问,然后加上 --no-sign-request 试试。

aws s3api list-objects --bucket thebigiamchallenge-admin-storage-abf1321 --prefix 'files/' --no-sign-request

在这里插入图片描述

该参数可以用来执行无需身份验证的请求。使用该参数可以跳过对请求进行签名和身份验证的步骤,从而可以在某些情况下执行不需要验证的操作。

aws s3 ls s3://thebigiamchallenge-admin-storage-abf1321/files/ --no-sign-request
aws s3 cp s3://thebigiamchallenge-admin-storage-abf1321/files/flag-as-admin.txt /tmp/flag4.txt
cat /tmp/flag4.txt

在这里插入图片描述

获得此题的flag如下:

{wiz:principal-arn-is-not-what-you-think}

在这里插入图片描述

这篇关于The Big IAM Challenge 云安全 CTF 挑战赛的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/452082

相关文章

客户案例:安全海外中继助力知名家电企业化解海外通邮困境

1、客户背景 广东格兰仕集团有限公司(以下简称“格兰仕”),成立于1978年,是中国家电行业的领军企业之一。作为全球最大的微波炉生产基地,格兰仕拥有多项国际领先的家电制造技术,连续多年位列中国家电出口前列。格兰仕不仅注重业务的全球拓展,更重视业务流程的高效与顺畅,以确保在国际舞台上的竞争力。 2、需求痛点 随着格兰仕全球化战略的深入实施,其海外业务快速增长,电子邮件成为了关键的沟通工具。

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

2024网安周今日开幕,亚信安全亮相30城

2024年国家网络安全宣传周今天在广州拉开帷幕。今年网安周继续以“网络安全为人民,网络安全靠人民”为主题。2024年国家网络安全宣传周涵盖了1场开幕式、1场高峰论坛、5个重要活动、15场分论坛/座谈会/闭门会、6个主题日活动和网络安全“六进”活动。亚信安全出席2024年国家网络安全宣传周开幕式和主论坛,并将通过线下宣讲、创意科普、成果展示等多种形式,让广大民众看得懂、记得住安全知识,同时还

【Kubernetes】K8s 的安全框架和用户认证

K8s 的安全框架和用户认证 1.Kubernetes 的安全框架1.1 认证:Authentication1.2 鉴权:Authorization1.3 准入控制:Admission Control 2.Kubernetes 的用户认证2.1 Kubernetes 的用户认证方式2.2 配置 Kubernetes 集群使用密码认证 Kubernetes 作为一个分布式的虚拟

企业安全之WiFi篇

很多的公司都没有安全团队,只有运维来负责整个公司的安全,从而安全问题也大打折扣。我最近一直在给各个公司做安全检测,就把自己的心得写下来,有什么不足之处还望补充。 0×01  无线安全 很多的公司都有不怎么注重公司的无线电安全,有钱的公司买设备,没钱的公司搞人力。但是人的技术在好,没有设备的辅助,人力在牛逼也没有个卵用。一个好的路由器、交换机、IDS就像你装备了 无尽、狂徒、杀人书一

Linux 安全弹出外接磁盘

命令行操作 首先,需要卸载硬盘上的所有分区,可以使用umount来卸载分区 清空系统缓存,将所有的数据写入磁盘 sync 列出已挂载的文件系统 使用lsblk或者df命令来查找要卸载的分区 lsblk or df -h 确保没有文件正在使用 使用lsof 命令来检查 sudo lsof |grep /dev/sdc 卸载分区 假设硬盘的分区是 /dev/sdc1,使用u

3.比 HTTP 更安全的 HTTPS(工作原理理解、非对称加密理解、证书理解)

所谓的协议 协议只是一种规则,你不按规则来就无法和目标方进行你的工作 协议说白了只是人定的规则,任何人都可以定协议 我们不需要太了解细节,这些制定和完善协议的人去做的,我们只需要知道协议的一个大概 HTTPS 协议 1、概述 HTTPS(Hypertext Transfer Protocol Secure)是一种安全的超文本传输协议,主要用于在客户端和服务器之间安全地传输数据

【小迪安全笔记 V2022 】信息打点9~11

第9天 信息打点-CDN绕过篇&漏洞回链8接口探针&全网扫指&反向件 知识点: 0、CDN知识-工作原理及阻碍 1、CDN配置-域名&区域&类型 2、CDN绕过-靠谱十余种技战法 3、CDN绑定-HOSTS绑定指向访问 CDN 是构建在数据网络上的一种分布式的内容分发网。 CDN的作用是采用流媒体服务器集群技术,克服单机系统输出带宽及并发能力不足的缺点,可极大提升系统支持的并发流数目,减少或避

【CTF Web】BUUCTF Upload-Labs-Linux Pass-13 Writeup(文件上传+PHP+文件包含漏洞+PNG图片马)

Upload-Labs-Linux 1 点击部署靶机。 简介 upload-labs是一个使用php语言编写的,专门收集渗透测试和CTF中遇到的各种上传漏洞的靶场。旨在帮助大家对上传漏洞有一个全面的了解。目前一共20关,每一关都包含着不同上传方式。 注意 1.每一关没有固定的通关方法,大家不要自限思维! 2.本项目提供的writeup只是起一个参考作用,希望大家可以分享出自己的通关思路

OpenStack中加固VNC访问安全

OpenStack中加固VNC访问安全 目录 OpenStack中加固VNC访问安全1.问题发现2.流程分析3.潜在后果4.解决方案④配置IPtables⑤VNC添加访问密码 5.参考链接 1.问题发现 很多同学使用noVNC之后都没有退出终端的习惯,往往都是用完了就直接关闭网页窗口。说这样隐患很大,如果内网里面有一些script kiddie随时都能将我们线上的虚拟