Capture The Flag
えぼるどCTFという大会があるよというお話。
どうも。えぼです。
今回はCapture The Flag、略称CTFという大会のお話である。
CTFについて
CTFとは、『Capture The Flag』の略称であり、旗どりゲームの要領で行う。
この大会では、主に情報セキュリティの知識を用いる。
何らかの方法で隠された文字列(Flag)を見つけ出し、提出すると得点となる。
当然、専門知識や高度な技術は求められる。
しかし、楽しみながらスキルアップを目指すことのできる大会でもあるのだ。
CTFの基本ルール
制限時間内により多くの問題を解いたものの勝ちとなる。
チームでの争いとなり、情報セキュリティ人材として評価されやすくなる。
| 制限事項 | 24時間(大会によって12〜48時間) |
| 参加資格 | なし(国籍・年齢・性別問わず) |
| チーム定員 | 制限なし(本戦はリーダーを含む4名まで) |
| 検索 | オンライン、オフライン問わず可能 |
| 禁止事項 | 他者とのFLAG・解法・ヒントを共有すること |
CTFの大会の内容
大会では情報セキュリティに関する技術を利用して様々な問題を解く。
出題範囲としては非常に膨大な量である。
Reversing:実行ファイルを解析する問題
Pwn:サーバプログラムが持つ脆弱性をつく問題
Web:Webに関する問題
Crypto:暗号を解読する問題
Network:ネットワークの通信を解析する問題
Forensics:与えられたファイルを解析する問題
Steganography:あるデータに隠蔽されたデータを探す問題
Professional Programming and Coding:プログラミングを使って解く問題
Recon:ある特定の人物を調査する問題
Misc:上記のジャンルに当てはまらないコンピュータの雑学、練習問題
このように、CTFでは非常に幅広い分野の知識とスキルが求められる。
そ情報セキュリティに関する技術的な部分を深く理解することにも繋がる。
実際に解いてみる
では、ここからは実際に問題をCpawCTFの問題から紹介してみようと思う。
問題はLevel1で9問構成である。

ド初級編
まず、[Misc] Test Problemを解く。
この問題はすごく簡単だ。なんと問題自体に答えが書いてある。

そう。答えはcpaw{this_is_Cpaw_CTF}である。
少し難しくなる編
では、次に[Forensics] Riverを解いていく。
全然順番通りではないが、あんまり気にしないでいただきたい。
この問題を紹介するのは、個人的に一番面白いと感じたからである。

この問題は川の写真(以下、river.jpg)の名前を特定するものだ。
写真から位置情報などを特定するのにもってこいなものがある。
『Exiftool』である。
このツールは、画像に関する詳細なメタデータを抽出することができる。
まず、ターミナルからインストールして、

そして、実際に使用してみるのみ!!

この画像に載っている情報はほんの一部であるが、
ファイルサイズやアクセスした時間が分かるようだ。
今回はriver.jpgの位置の情報が欲しいので、少し下にスクロールすると、
![]()
ここまで分かれば、あとはGoogle Map等で調べるだけである。
緯度と経度を打ち込むと、

甲突川(こうつきがわ)であるということが分かる。
あとは、CpawCTFに打ち込むだけだ。
一度、甲突川をローマ字に変換して、Cpaw{}を付ける。

答えはcpaw{koutsukigawa}となるのだ。
まとめ
久々にCTFについて詳しく知る良い機会となった。
一つお詫びがあるとするなら、約2年前の自分の記事を再利用したことである。
大学時代にCTFを調べていた時の記事をほとんどそのまま使っている。
過去の記事
参考
1. SECCON
https://www.seccon.jp/13/
2. CpawCTF
https://ctf.cpaw.site/index.php
3. CTFとは?初心者の勉強法や独学のコツを解説
https://www.computerfutures.com/ja-jp/knowledge-hub/cyber-security/what-is-ctf/
4. CTF(Capture The Flag)とは?概要・ルール解説
https://cybersecurity-jp.com/column/33780
5. 「exiftool」で画像データのEXIF情報を抽出 #コマンドライン
https://qiita.com/daruda/items/d18c2056be8dd96fed98

コメント