搭建一个ctf_手把手教你打造超级CTF平台

大家好,我是独立团孙德胜!

6fad67717919e14e58a3bceb68e87750.png

CTF,是最近大火的一个IP……

62b95a447c279866497b72ddc8f70a88.png

随之而来的是大批CTF训练平台和CTF比赛的到来。

10ca568b685bee6447a59ac393b20e97.png

这其中呢,具有代表的CTF比赛有老牌的WCTF、XCTF,还有各大厂所举办的数不清的CTF比赛,这里为了避免广告嫌疑, 不写上了。

d0a7724551861e88a7462f2c04093171.png

但是呢,可以给大家安利个好的CTF训练平台,老牌的Bugku咱不提,基本上都知道。

99a4cf8e8eb499b583b37a886982bf5c.png

但新起之秀的圈子的砺剑CTF平台、BUUCTF 以及未来我朋友的超级平台(字节脉搏)也即将上线了。

90af0f057146588eeb62a839f90e19f9.png

57d35ad4058bfe378a03f818c80fec3e.png

这些平台无疑都采用了动态靶场 + 丰富的CTF题目,更有的还有今年各大比赛的原题,实属“牛批”……

622a9cd1b8db813604c0a709274fe49c.png

那你想不想做一个,一样的CTF平台呢?

f838b41ca82316565e6891a00b8ba63f.png

那就由孙德胜,来教大家如何搭建CTF的训练平台,以及炫酷的CTF比赛平台!

69ecd4149a4d8a5561850339213a28e8.png

训练平台,感谢琴里大佬提供

14d8e3a245e3fc2a2740b8ae69e14a09.png

比赛平台,感谢琴里大佬提供

训练平台搭建方法(CTFd)

安装git

sudo apt-get install git

下载ctfd

sudo git clonehttps://github.com/isislab/CTFd.git

安装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

安装完成

bb332b91572afb243125baa3983b3a1d.png

访问IP

4dc21b8fbd46e3089901a0fdf3772d1d.png

步骤太繁琐?网上同类文章太多?想一键获取搭建好的CTF平台?刚好,你认识孙德胜,文章结尾提供建好的镜像!

一键部署,快人一步!

比赛平台搭建

安装Git

git clone https://github.com/facebook/fbct

进入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/,做二次开发可以直接修改源代码,修改后重启服务即可。

0373eea02fd954469fa19deeb5386926.png

什么?还是不想搭建?想一键获取搭建好的CTF平台?那么,巧了!因为你认识孙德胜,所以依旧在文章的结尾提供建好的镜像。

7e05b8348e8f765141e337f4e8ee82ae.png

现在,我们讨论如何生成动态靶机。

利用大佬开发的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

参考链接:

https://docs.docker.com/install/linux/docker-ce/ubuntu/

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、进入系统后台设置,打开插件设置页面,按照如下指导进行设置。点击可看大图。

35d20bed3abb87470bd9b3d070ebeef8.png

5643df9ad2f2c368be512da6dafc87ce.png

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、添加一个题目,进行测试。

bd5645112f092141a288676d98b5384a.png

d44c4c0d124ca6fcf9fc261b062ee227.png

具体可以参照这位大佬的博客:

https://www.zhaoj.in/read-6333.html

当你做完了以上的所有步骤,恭喜你,你已经成功搭建CTF平台了!

最后,我要感谢以下的几位大佬:

@圈子社区 国士无双

@圈子社区 段鹏

@Tone

@glzjin

@admin-琴里

没有你们,就没有德胜的这篇文章,非常感谢!

7de75537e86ce47b151e7f73ab01efdd.png

比赛平台:链接:

https://pan.baidu.com/s/1BWPGqLRUAyBcl-81c3xKGg#

提取码:zcfr

训练平台:链接:

https://pan.baidu.com/s/1N_IBcgH5lUpoUzrwC7_ifg#

提取码:zvz6

*本文作者:独立团孙德胜,转载请注明来自FreeBuf.COM

4d07fc9ce7e90583a2d01f31e2c12038.gif

精彩推荐

a7ccabc125561019520210050a0563db.png

fe3a351eb9fa77b22eae12196371491f.png

9f8c348c768ba5498bcedc5c62e23943.png

1792242054f0cca048326c8a2ba45be9.png

7b52b460d8a841c98df16813fbecca51.pngc2c30bdc17f4d595ccd048a20c164bc9.gif95d2734d75f21ffa90de861e7a33c7c6.gif

  • 7
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值