CpawCTF level1 を解いてみた
友達に誘われてCTFの大会に出場することになったので、それに向けて練習がてらCpawCTFを始めました!
初めてCTFの問題を解いたのでその時の感想を残しておきます。
CpawCTFとは?
CTFとは
CTFはCapture The Flagの略称。Flagといわれる一定の形式の文字列を、与えられたファイルやサーバーの中から探し出す競技です。
セキュリティやネットワークの知識をフル活用して、ターゲットとなる文字列を探し出す様はまさにハッカーですね!
CpawCTFとは
常設されている有名CTFサイトの1つで、CTF入門者向けの内容となっています。まずはこのCTFサイトから始めて、CTFに慣れていくのが良いようです。
他にもksnctfなどの有名CTFサイトがありますが、最初はCpawCTFから始めた方が無難です。自分はksnctfから始めてみましたが、難易度が高すぎてくじけそうになりました(笑)
印象的な問題
Q11.[Network]pcap
内容はパケットファイル(pcap)を何かしらの解析ツールで読む問題でした。自分はwiresharkでファイルを解析しました。
ネットワークについては本などで勉強していたので、ふわっとした理解をしていましたが、実際に送信されているパケットを解析するのは初めてでめちゃくちゃ興味深かったです。
普段アプリケーションエンジニアとして働いている自分はHTTPを意識することは多いですが、TCPについてそこまで考えることはないので、SYN・ACKで3way handshakeをしている様を生で見れたのは感動でした(笑)
他の通信を傍受するところはまさにハッカーになった気分になれるのでおすすめです。
Q7.[Reversing] Can you execute ?
実行ファイル(ELF)を渡されて、どうすれば動くのか調べる問題です。
自分はPHPやjavascriptなどのインタプリタ言語しかやったことがないので、コンパイル済みのファイルをデバッグするのが初めてでした。(今回はデバッグというほどではありませんが)
どのように実行ファイルを調査するべきなのか分からなかったこともあり、少し時間をかけてググってみたことで、stringsやfile、gdbといった今後もCTFで使えそうなコマンドを色々知ることができました。
解いてみた感想
いつもは直接関わらない低レイヤーな技術が触れて面白かったです。webアプリケーションを単純に作っているだけでは見れない新鮮な世界でした。
CpawCTF レベル1は問題難易度は非常に低いので、気軽にCTF体験ができます。
インフラやセキュリティを専門としていない人ほど勉強になるので、初心者こそやってみると良いかもしれません。