CTF

FBCTFを社内クイズ大会用に立ててみた

上司から「社内で研修の一環としてなんか面白いことができないかなー?」という相談を受けたので

「セキュリティ界隈にはCTFという技術を競うコンテストがあります
    それを応用してクイズ大会的なことをやったら面白くないっすか?
  画面こんな感じで国取り合戦風っすよ。」

偉い人「え。なにこれかっこいい。面白そう。」

って反応をもらったので、準備をしてみることにしました。

ゆうても基本のしくみはFacebookさんがオープンソースで提供してくださってるものです

FBCTF

github.com
インストールして試してみました、というお話です。

■FBCTFインストール準備
サポートされているOSがUbuntu 16.04らしいので
VirtualBoxにUbuntu 16.04日本語Remixをインストールして使います。

手順を参考にさせていただきました

sicklylife.hatenablog.com

sicklylife.hatenablog.com

ゲスト⇔ホスト間のコピペは最低限できるようにしといた方が便利。

割り当てるメモリが少ないと動作ががくがくするので
4GBくらい割り当てるとスムーズになってきた気がする。気のせい?

インストール完了したら速攻でこんな画面が
消しても消してもでてくる…なぜだ…

対応
端末で以下を入力

sudo rm /var/crash/*

sudo sed -i ‘s/enabled=1/enabled=0/g’ /etc/default/apport

参考にさせていただきました

結局原因はわからないが(…)メッセージが出なくはなった。
これでUbuntu完成

■FBCTFのインストール
単にインストールするだけなら公式のクイックセットアップガイドの通りにやるだけなので
実はとっても簡単

github.com

gitのインストール

sudo apt-get update

sudo apt-get -f install

sudo apt install git

あとはDirect Installationで書いてある通り~楽勝~♪

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

cd fbctf

source ./extra/lib.sh

quick_setup install prod

と思ったら最後でエラー吐いて止まってしまった(えー)

調べたらバグ?らしい

対応

cd /tmp && mkdir asfix

cd asfix

wget https://launchpad.net/ubuntu/+archive/primary/+files/appstream_0.9.4-1ubuntu1_amd64.deb

wget https://launchpad.net/ubuntu/+archive/primary/+files/libappstream3_0.9.4-1ubuntu1_amd64.deb

sudo dpkg -i *.deb

上手く行ったっぽいのでもう一回Direct Installationの通りやってみる

cd fbctf

source ./extra/lib.sh

quick_setup install prod

途中何回かパスワード聞かれるので言われるままに入力する。

ぼーっと待ってると数分で完了

adminのパスワードが表示されるのでメモる。

■社内に公開(NAT + ポートフォワーディング)設定
今回は社内イベントで使うためにサーバを立てているので
同じネットワークの他のPCからも接続できないと困る。

しかし、勝手に仮想PCを社内ネットワークに公開したら弊社の情シスに怒られる可能性がある(コラー)
ってことでVirtualBoxの設定

参考にさせていただきました

NAT + ポートフォワーディングの設定

ホストポート50443(被らなければなんでもいいと思う)
ゲストポート443 で設定。

どっちがホストでどっちがゲストなのかいつもわからなくなるなあ。

■接続テスト

接続先のIPアドレスがわかんなくなったので調べる

ホストPCのコマンドプロンプトで

ipconfig

いくつか出てくるけど
VirtualBox Host-Only Networkってところを確認

ブラウザに
https://(↑のIPアドレス):50443/
と入力(ポート番号はポートフォワーディングの設定とあわせる)

FBCTFはオレオレ証明書を使っているらしく怒られる画面になる。
どうせ社内で使うだけだから気にしない

エラー内容⇒例外を追加

セキュリティ例外を承認(画面はFirefox)

ついにゲーム画面が表示される。いえーい

素人でもすっごく簡単にCTF基盤ができた。
ありがとうFacebookさん。