前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >手把手教你打造超级CTF平台

手把手教你打造超级CTF平台

作者头像
FB客服
发布2019-11-11 18:43:09
2.6K1
发布2019-11-11 18:43:09
举报
文章被收录于专栏:FreeBuf

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

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

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

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

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

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

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

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

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

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

训练平台搭建方法(CTFd)

安装git

代码语言:javascript
复制
sudo apt-get install git

下载ctfd

代码语言:javascript
复制
sudo git clonehttps://github.com/isislab/CTFd.git

安装pip

代码语言:javascript
复制
sudo apt-get install python-pip

安装pip

代码语言:javascript
复制
sudo apt-get install python-pip

安装Flask

代码语言:javascript
复制
sudo pip2 install Flask

到 CTFd的路径下,运行prepare.sh

代码语言:javascript
复制
sudo ./prepare.sh

运行CTFd目录下的serve.py

代码语言:javascript
复制
sudo python serve.py

安装完成

访问IP

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

一键部署,快人一步!

比赛平台搭建

安装Git

代码语言:javascript
复制
git clone https://github.com/facebook/fbct

进入FBCTF文件夹

代码语言:javascript
复制
cd fbctf

安装Virtualbox和Vagrant

代码语言:javascript
复制
apt-get install virtualbox vagrant

查看Vagrant版本

代码语言:javascript
复制
vagrant -v

下载安装Ubuntu14.04(需要安装Virtualbox)

代码语言:javascript
复制
vagrant box add ubuntu/trusty64

通过Vagrant开启虚拟机

代码语言:javascript
复制
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/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 启动相关组件。

代码语言:javascript
复制
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:

代码语言:javascript
复制
[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-琴里

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

比赛平台:链接: https://pan.baidu.com/s/1BWPGqLRUAyBcl-81c3xKGg# 提取码:zcfr 训练平台:链接: https://pan.baidu.com/s/1N_IBcgH5lUpoUzrwC7_ifg# 提取码:zvz6

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 训练平台搭建方法(CTFd)
  • 比赛平台搭建
  • 现在,我们讨论如何生成动态靶机。
  • 当你做完了以上的所有步骤,恭喜你,你已经成功搭建CTF平台了!
  • 没有你们,就没有德胜的这篇文章,非常感谢!
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档