CTF

Facebook CTF(fbctf)をインストールしてみる

More than 1 year has passed since last update.

   __               _                 _     _____ _______ ______

/ _| | | | | / ____|__ __| ____|
| |_ __ _ ___ ___| |__ ___ ___ | | _| | | | | |__
| _/ _' |/ __/ _ \ _ \ / _ \ / _ \| |/ / | | | | __|
| || (_| | (_| __/ |_) | (_) | (_) | <| |____ | | | |
|_| \__,_|\___\___|_.__/ \___/ \___/|_|\_\\_____| |_| |_|

最近は国内でもCTFを運営するケースが最近増えています.手軽にCTFを建てることができるプラットフォームとして以前からFacebook CTFがOSSになっていたことは知っていたのですが,実際に導入するとどうなるかが分からなかったのでやってみました.


導入

公式ではUbuntu 16.04のみをサポートしています.Ubuntu 16.10ではインストールできません.

一式インストールされてしまうので,すでにサーバなどをローンチしている環境では行わない方が無難です.

sudo apt-get update

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

[+] Adding default admin user

[+] The password for admin is: [hash]

この[hash]の中にパスワードがあるので,忘れないようにメモしておくとよいです.

Success!

\033[0;32m [+] fbctf deployment is complete! Ready in https://[IPアドレス] \033[0m

自分のIPアドレスに行くとなんかかっこいい画面が出ます.インストール後はオレオレ証明書が導入されているためブラウザの警告が出ます.公式でもLet's Encryptなどを利用することが推奨されているので導入してもよいかもしれません.

Facebook CTF.png


遊んでみる

LOGINから,adminと与えられたパスワードでログインできます.

admin権限では,Quiz/Flag/Base/Categoryなどの編集ができます.

Categoryを編集して,Flagに適用されるカテゴリの編集ができます.

Facebook CTF   Admin_.png


Flag

Flagの編集では,問題が属する国(Country)やカテゴリ,ヒントやそのペナルティなど細かいところまで編集できます.添付ファイルやリンクも追加できるため普通にCTFとして運営できるぐらい便利です.

Facebook CTF   Admin.png


プレイしてみる

実際にゲームを開始する際は,管理画面のBEGIN GAMEをクリックすればゲームがスタートします.タイマーなどもあるのでそれらを利用することもできます.

今回は例としてFlagの問題を追加してみました.実際にNorwayに問題が追加されているのがわかります.

Facebook CTF   Gameboard.png

解答画面では,このように表示されます.

Facebook CTF   Gameboard2.png

手軽にかっこいいCTFが作ってみたいときはよいかもしれません.


参考