SevenAtOneDebug

プログラミングとネットワーク、セキュリティについて書くつもりです

picoCTF: General Skills解いた感想

概要

2023年11月時点でpicoGym Practice Challengesで公開されているGeneral Skillsの問題を全部解いたので簡単に振り返りをしておきたいと思います。

picoCTFについて

picoCTFはCarnegie Mellon Universityがセキュリティスキルの向上を目指して行なっているCTFです。問題ジャンルはWeb Exploitation、Cryptography、Reverse Engineering、Forensics、General Skills、Binary Exploitationの6つで構成されています。picoCTFのサイト上のpicoGymにて、過去に出題された問題にいつでもチャレンジできるようになっており、それに付随するコンテンツ(学習用の動画やpdf)もアクセスできます。

General Skills

 General SkillsはpicoCTFの問題の中で、最初に取り組むことが想定されている取っ掛かり的な問題群です。セキュリティ演習というよりは、そのための準備運動という位置付けです。CTFでよく使われるプログラミング言語であるPythonや、Linuxの基本的な操作について学習します。

感想

 この問題群は比較的スラスラと解けたという印象です。Pythonのコードを修正して実行したり、文字コードを変換したり、少し調べながらLinuxコマンドをあれこれ打ち込んでいたら解ける、というものがほとんどです。一部変わり種的な問題もありますが、検索エンジンで調べれば大抵ピッタリなサイトやツールが見つかりますので、そう言ったものを使って試行錯誤すると解けると思います。SpecialとSpecialerは若干手こずりましたが、コマンドのマニュアルをよく読んだら解ける問題でした。

 General Skillsの問題群を解くことで、CTFで回答にたどり着くまでのおおよその流れを確認することができました。まずは問題を見て内容を理解し、関連のある内容について検索エンジンで調べたり、マニュアルを読んだりします。それができたら、回答の大まかな流れを推測して、それを試すためのスクリプトを作って動かします。フラグが得られない場合は、出力をヒントにまた調べる、というふうに繰り返します。最も重要なのはひたすらに取り組む忍耐力だということがよくわかりました。

役に立ったツール

CyberChef

 文字コードの変更や、エンコード/デコード、暗号化処理など、様々なデータ処理をWeb上で行えるオンラインツール。General skillsの問題では、base64のデコードや文字コードの変換を行う際に便利に使えました。

今後取り組みたい問題ジャンル

 やはり身近な存在はWeb、ということでWeb問題をぼちぼちと解いていきたいと思っています。

参考リンク

picoCTF

picoctf.org

Cyberchef

gchq.github.io