Pages

Wednesday, 31 May 2023

Facebook的线上比赛平台FBCTF开源

 


FBCTF是一个由 facebook用PHP语言开发的在线安全比赛平台, 学生和开发者可通过此平台了解网络安全和进行安全编码的实践。FBCTF平台开源内容包括CTF游戏地图,可用平台组织自己的线上网络安全比赛。开放注册团队以及得分榜。 现有平台中的挑战包括逆向工程、取证技术、web应用程序安全、密码学和二进制攻击。

Ubuntu环境中安装:

sudo apt-get install git
git clone https://github.com/facebook/fbctf
cd fbctf
./extra/provision.sh prod $PWD

项目地址:https://github.com/facebook/fbctf

-------------------------------------------------------------

FBCTF Build Status

What is FBCTF?

The Facebook CTF is a platform to host Jeopardy and “King of the Hill” style Capture the Flag competitions.

How do I use FBCTF?

  • Organize a competition. This can be done with as few as two participants, all the way up to several hundred. The participants can be physically present, active online, or a combination of the two.
  • Follow setup instructions below to spin up platform infrastructure.
  • Enter challenges into admin page
  • Have participants register as teams
  • Enjoy!

For more information, see the Admin Guide

Installation

The FBCTF platform was designed with flexibility in mind, allowing for different types of installations depending on the needs of the end user. The FBCTF platform can be installed either in Development Mode, or Production Mode.

Quick Setup Guide (Recommended Installation)

The Quick Setup Guide details the quick setup mode which provides a streamlined and consistent build of the platform but offers less flexibility when compared to a custom installation. If you would prefer to perform a custom installation, please see the Development Installation Guide or Production Installation Guide.

from https://github.com/facebookarchive/fbctf

-----------------------------------------------------------

Quick Setup Guide

Overview

This guide is intended to help you get the platform up and running with as little effort as possible.

Please note that this guide is to be used with Ubuntu 16.04 LTS as the host operating system. Other Linux distributions or operating systems are not supported by the quick setup process.

This guide details the quick setup mode which provides a streamlined and consistent build of the platform but offers less flexibility when compared to a custom installation. If you would prefer to perform a custom installation, please see the Development Installation Guide or Production Installation Guide.

The FBCTF platform was designed with flexibility in mind, allowing for different types of installations, depending on the needs of the end user. The FBCTF platform can be installed either in Development Mode, or Production Mode. Development is for testing and agility, and production is for better performance and typically used for live events. Production mode utilizes an HHVM web cache, which speeds up processing.

You will need to select your mode, production or development before proceeding.

Note that the following commands must be run before beginning your provision:

sudo apt-get update
sudo apt-get install git

Quick Setup Options

Option Description
Direct Installation Used when directly installing to the system you are on; this is useful when installing on bare metal, an existing VM, or a cloud-based host. Recommended for small events.

Direct Installation

From the system you wish to install the platform, execute the following:

  • git clone https://github.com/facebook/fbctf
  • cd fbctf
  • source ./extra/lib.sh
  • quick_setup install prod or quick_setup install dev
  • from https://github.com/facebookarchive/fbctf/wiki/Quick-Setup-Guide 

-----------------------------------------------------------------------------------------------

Installation Guide, Production

Overview

The FBCTF platform was designed with flexibility in mind, allowing for different types of installations, depending on the needs of the end user. The FBCTF platform can be installed either in Development Mode, or Production Mode. Development is for testing and agility, and production is for better performance and typically used for live events. Production mode utilizes an HHVM web cache, which speed up processing.

Production Installation

Production is intended for live events utilizing the FBCTF platform. Installation of the production platform can be performed either manually, or by using Docker.

Please note that regardless of the installation method, your VM must have at least 2GB of memory. This is required for the Composer part of the installation.

Regardless of your installation method, ensure the date and time is correct on your base system. This will prevent certificate invalidation issues when downloading certain packages. Follow the below instructions to force a time update on Ubuntu 16.04:

sudo apt-get install ntp
sudo service ntp stop
sudo ntpd -gq
sudo service ntp start

Manual (Preferred)

Ubuntu 16.04 x64 (Xenial) should first be installed as the hosting system. This is currently the only supported operating system. Ensure that you only install the base system without extras such as LAMP. This will cause issues with the FBCTF installation.

Update repositories on the Ubuntu system, to ensure you are getting the latest packages:

sudo apt-get update

Install the git package which will allow you to clone the FBCTF project to your local system:

sudo apt-get install git

Clone the FBCTF project by running the following command. This will create folder called fbctf in the current directory:

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

Navigate to the fbctf directory:

cd fbctf

Run the provision script in order to install the FBCTF platform. To perform a default installation, run the command below. However, check the provision script section for custom installations:

./extra/provision.sh -m prod -s $PWD

The provision script will autogenerate an administrative password at the very end. Ensure you document this password, as it will not be provided anywhere else.

If the admin password needs to be reset, run the following commands in the fbctf directory:

source ./extra/lib.sh
set_password [new_password] ctf ctf fbctf $PWD

After installing the FBCTF platform, access it through your web browser using the configured IP address.

Login with the credentials admin and the password generated at the end of the provision script. Access the login screen by clicking the Login link at the top right of the window. You will then be redirected to the administration page. The gameboard can be accessed at the bottom of the navigation bar located on the left side of the window.

from https://github.com/facebookarchive/fbctf/wiki/Installation-Guide,-Production

 

No comments:

Post a Comment