SSSCTF平台部署指南(CTFd+CTFd-Whale)

0x00 前言

一、参考资料

CTFd-Whale 推荐部署实践 – 赵 (zhaoj.in)

(手把手教你如何建立一个支持ctf动态独立靶机的靶场(ctfd+ctfd-whale)_fjh1997的博客-CSDN博客

二、准备阶段

首先,服务器中需要已经安装docker和docker-compose,

docker 安装可以参照官方文档:Install Docker Engine on Debian | Docker Documentation

docker-compose 安装直接 sudo apt install docker-compose 即可。

三、技术原理

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/53e686ac-9dfe-4c68-8ffd-d85d0a7bdc54/IMG_0441.jpg

主要技术:frp(fast reverse proxy),使docker容器中的内部网络穿透到外部网络中。

Frps服务:运行在服务器上的服务,用于将frpc的流量向外转发。

Frpc容器:与靶机容器同处在一个docker网络下,用于将靶机的流量发送到frps

ctfd-whale:作为ctfd的一个插件,它的作用是调用Docker的接口生成独立的靶机容器,同时控制frpc接口转发靶机端口。

0x01 安装步骤

一、安装启动frp服务

1.下载安装frps

cd
wget <https://github.com/fatedier/frp/releases/download/v0.36.2/frp_0.36.2_linux_amd64.tar.gz>
tar -zxvf frp_0.36.2_linux_amd64.tar.gz
cd frp_0.36.2_linux_amd64
sudo cp systemd/* /etc/systemd/system/
sudo mkdir /etc/frp
sudo cp frpc.ini  frps.ini /etc/frp/
sudo cp frpc  frps /usr/bin/
sudo chmod a+x /usr/bin/frpc /usr/bin/frps
sudo systemctl enable frps

2. 配置frps.ini