1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CpawCTFで必要だった技術

Last updated at Posted at 2025-05-12

先日、CpawCTF をチャレンジ3まで解ききったので、
そこまでで使用した技術などを網羅的にメモとして残しておきます。

CpawCTFはCTF初心者にうってつけのサイトと言われており、
基礎的な技術を実践的に学べる良問が揃っています。

これからCTFに挑戦してみたいと思っている方の参考になれば幸いです。

Linux

基本的に問題はLinux環境での操作が前提となっていることが多く、
以下のようなコマンドライン操作に慣れておくとスムーズです。

基本的なファイル操作コマンド

コマンド 説明
ls ls -la ファイル一覧を詳細表示(隠しファイル含む)
cd cd ./files/ ディレクトリを移動
cat cat flag.txt ファイルの中身を表示
grep grep "flag" *.txt テキスト内から特定の文字列を検索
find find . -name "*.jpg" 指定条件に合うファイルを検索(例:拡張子 .jpg)

ファイル解析系コマンド

コマンド 説明
file file mysterious.bin ファイルの種類を判別(バイナリかテキストかなど)
chmod chmod +x script.sh ファイルに実行権限を付与
strings strings image.png | grep flag バイナリから可読な文字列を抽出し、"flag" を含む行を抽出
xxd xxd secret.txt ファイルの内容を16進ダンプ表示
xxd -r -p xxd -r -p hex.txt > out.bin 16進から元のバイナリに復元

パイプ・リダイレクトの例と説明

技術 説明
パイプ | cat data.txt | grep "flag" cat の出力を grep に渡し、"flag" を含む行を抽出
リダイレクト > echo hello > out.txt 出力を out.txt上書き保存
リダイレクト >> echo world >> out.txt 出力を out.txt追記
リダイレクト < python solve.py < input.txt solve.py入力を input.txt から受け取る

特に strings, chmod, file, ls などはCpawCTFでも多用するので
どのようなオプションがあるのかなども知っていると楽です。

C言語

CTFではしばしば「謎の実行ファイル」が渡され、
その中でどんな処理が行われているかを見抜く必要があります。
そうしたバイナリファイルは、C言語で書かれたプログラムをコンパイルしたものが多く、
基本的なプログラムの理解が必要です。

CpawCTFでは特に難しい文法などは出現しないのでif, forなどの基礎文法を読み解けるようであれば大丈夫です、また多少ポインタを知っていると早く気づける問題などもありました。

Web

CpawCTFではWebの問題は少なく開発者ツールやSQLインジェクションを主に使って問題を解いていきます。

開発者ツールでは具体的にHTMLソースコードやJavaScriptを調べたり、
ネットワークを監視をして何が通信されていたのかを見るのが問題としてありました。

ネットワーク解析

CpawCTFの中には、通信の中にフラグが隠されている問題があります。
.pcap(パケットキャプチャ)形式のファイルが与えられることが多く、
Wiresharkで通信内容を読み解く力が求められる。

CpawCTFでは特に難しいWiresharkの操作などは求められませんが、
TCPではなくFTCを使う問題があります。
恥ずかしながら私はFTCへの接続方法がわからず調べながら解きました。

データの場所がある程度目星つく人は初心者では難しいと思うので、
頑張りながら探して見つける内にある程度ここら辺こういう情報があるなと覚えていくのが良いでしょう。

Ghidraを使ってデコンパイル

バイナリファイルを解析してフラグを出力する条件や処理を見つける問題が登場します。
難しいアセンブリの知識がなくても、Ghidraを使いC言語に復元されたコードを読んで、条件を理解することができます。中にはLinuxのstringsなどでごり押しで解くこともできますが、
あまりにもこれで良いのか感が凄いので、DLしてやってみました。
CpawCTFではただ使うだけなので難しいことは特にないです。

まとめ

私がCpawCTFに持った感想はたくさんの知識を浅く網羅的に攫ってくれるなと思いました。
実際私も解いていきながら分からない所は調べたりしていましたが、
その道中でこれってどういう仕組みで出来てるのだろうと問題以上の知識を調べたりと、
様々な分野のへの興味のきっかけになることが多かったです。
CpawCTFやろうか悩んでる人もそんなに難しい物では無いので、
とりあえず手を付けてみるのが良いと思います。

それではまた。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?