这其中呢, 具有代表的 CTF 比赛有老牌的 WCTF,XCTF, 还有各大厂所举办的数不清的 CTF 比赛, 这里为了避免广告嫌疑, 不写上了.
但是呢, 可以给大家安利个好的 CTF 训练平台, 老牌的 Bugku 咱不提, 基本上都知道.
但新起之秀的圈子的砺剑 CTF 平台, BUUCTF 以及未来我朋友的超级平台 (字节脉搏) 也即将上线了.
这些平台无疑都采用了动态靶场 + 丰富的 CTF 题目, 更有的还有今年各大比赛的原题, 实属 "牛批"......
那你想不想做一个, 一样的 CTF 平台呢?
那就由孙德胜, 来教大家如何搭建 CTF 的训练平台, 以及炫酷的 CTF 比赛平台!
训练平台, 感谢琴里大佬提供
比赛平台, 感谢琴里大佬提供
训练平台搭建方法(CTFd)
安装 Git
sudo apt-get install Git
下载 ctfd
sudo Git clone<a href="https://github.com/isislab/CTFd.git">https://github.com/isislab/CTFd.git</a>
安装 pip
sudo apt-get install python-pip
安装 pip
sudo apt-get install python-pip
安装 Flask
sudo pip2 install Flask
到 CTFd 的路径下, 运行 prepare.sh
sudo ./prepare.sh
运行 CTFd 目录下的 serve.py
sudo python serve.py
安装完成
访问 IP
步骤太繁琐? 网上同类文章太多? 想一键获取搭建好的 CTF 平台? 刚好, 你认识孙德胜, 文章结尾提供建好的镜像!
一键部署, 快人一步!
比赛平台搭建
安装 Git
Git clone <a href="https://github.com/facebook/fbctf">https://github.com/facebook/fbct</a>
进入 FBCTF 文件夹
cd fbctf
安装 VirtualBox 和 Vagrant
apt-get install VirtualBox Vagrant
查看 Vagrant 版本
Vagrant -v
下载安装 Ubuntu14.04(需要安装 VirtualBox)
Vagrant box add Ubuntu/trusty64
通过 Vagrant 开启虚拟机
Vagrant up
开启成功后, 可以通过浏览器访问 https://10.10.10.5/ 使用平台, 并且可以通过'vagrant ssh'命令连接 Ubuntu14.04, 连接后源代码位置:/var/www/fbctf/, 做二次开发可以直接修改源代码, 修改后重启服务即可.
什么? 还是不想搭建? 想一键获取搭建好的 CTF 平台? 那么, 巧了! 因为你认识孙德胜, 所以依旧在文章的结尾提供建好的镜像.
现在, 我们讨论如何生成动态靶机.
利用大佬开发的 CTFd-Whale:
1, 在机器上安装好 Docker 和 Docker-Compose, 并且启用 Docker Swarm.
Docker Swarm 参考: https://www.jianshu.com/p/77c4c62d9afe
注意需要用以下命令来标记节点:
docker node ls #检查节点 ID
docker node update -label-add name=Linux-1 <节点 ID>
参考链接:
https://docs.docker.com/compose/install/
2, 在机器上下载代码.
Git clone -b single https://github.com/glzjin/CTFd.git
3, 进入目录, 编辑 frp 两端配置文件, 使 token 随机, 再使用 docker-compose 启动相关组件.
- cd CTFd
- vi frp/frps.INI # token 一定要随机
- vi frp/frpc.INI # token 一定要随机
- Git submodule update --init
- docker-compose up -d
4, 启动完毕, 打开 http://ip:8000/ 安装 CTFd.
5, 进入系统后台设置, 打开插件设置页面, 按照如下指导进行设置. 点击可看大图.
Frp Config Template, 记得修改 token:
- [common]
- token = randomme
- server_addr = 172.1.0.4
- server_port = 6490
- pool_count = 200
- tls_enable = true
- admin_addr = 172.1.0.3
- admin_port = 7400
其他内容无特殊情况无需修改.
6, 添加一个题目, 进行测试.
具体可以参照这位大佬的博客:
https://www.zhaoj.in/read-6333.html
当你做完了以上的所有步骤, 恭喜你, 你已经成功搭建 CTF 平台了!
最后, 我要感谢以下的几位大佬:
@圈子社区 国士无双
@圈子社区 段鹏
@Tone
@glzjin
@admin - 琴里
没有你们, 就没有德胜的这篇文章, 非常感谢!
来源: http://www.tuicool.com/articles/ni6r63u