上司から「社内で研修の一環としてなんか面白いことができないかなー?」という相談を受けたので
「セキュリティ界隈にはCTFという技術を競うコンテストがあります
それを応用してクイズ大会的なことをやったら面白くないっすか?
画面こんな感じで国取り合戦風っすよ。」
偉い人「え。なにこれかっこいい。面白そう。」
って反応をもらったので、準備をしてみることにしました。
ゆうても基本のしくみはFacebookさんがオープンソースで提供してくださってるものです
FBCTF
github.com
インストールして試してみました、というお話です。
■FBCTFインストール準備
サポートされているOSがUbuntu 16.04らしいので
VirtualBoxにUbuntu 16.04日本語Remixをインストールして使います。
手順を参考にさせていただきました
ゲスト⇔ホスト間のコピペは最低限できるようにしといた方が便利。
割り当てるメモリが少ないと動作ががくがくするので
4GBくらい割り当てるとスムーズになってきた気がする。気のせい?
インストール完了したら速攻でこんな画面が
消しても消してもでてくる…なぜだ…
対応
端末で以下を入力
sudo rm /var/crash/*
sudo sed -i ‘s/enabled=1/enabled=0/g’ /etc/default/apport
参考にさせていただきました
結局原因はわからないが(…)メッセージが出なくはなった。
これでUbuntu完成
■FBCTFのインストール
単にインストールするだけなら公式のクイックセットアップガイドの通りにやるだけなので
実はとっても簡単
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さん。