【picoCTF】[FindAndOpen] Writeup
問題概要
- Category: Forensics
Description:
Someone might have hidden the password in the trace file.
Find the key to unlock this file. This tracefile might be good to analyze.
日本語訳:
誰かがパスワードをこのトレースファイルに隠したみたい。
ファイルをアンロックするために、このファイルから鍵を探して。
このトレースファイルは分析に役立つかも。
解法のプロセス(アプローチ)
1. Wiresharkでの確認と初期調査
まずはダウンロードしたファイル(dump.pcap)をWiresharkで開いて確認してみます。
パケット一覧を眺めていると、ところどころ平文で文章が書かれているパケットが見つかります。
共通しているのはMDNSではないポートの通信ですが、その中に2つだけ、よくわからない文字の羅列が含まれるパケットを発見しました。
何だろうと気になって1つ目の画像のデータ部分をよく見てみると、末尾に = があったり、大文字・小文字・数字が混在していることから、Base64 でエンコードされていることが推測できます。
2. CyberChefでのデコード(パスワードの特定)
この怪しい文字列を解読します。
Wiresharkのパケット詳細ペインからそのまま値をコピーすると、テキストではなく「16進数(Hex)のバイト列」としてコピーされることがあります。
そのため、CyberChef に貼り付けた上で、まずは From Hex で16進数からテキストに戻し、その後に From Base64 でデコードするという2段構えのレシピを使用します。
Output結果:
This is the secret: picoCTF{R34DING_LOKd_
一見するとフラグのように見えますが、末尾の } がなく不完全です。問題文の「誰かがパスワードをこのトレースファイルに隠したみたい」というヒントを考慮すると、これがZIPファイルを解凍するためのパスワードだと分かります。
3. ZIPファイルの展開とフラグの獲得
特定したパスワード(picoCTF{R34DING_LOKd_)を用いて、同梱されていた flag.zip を解凍します。
unzip flag.zip
実行結果:
Archive: flag.zip
[flag.zip] flag password:
extracting: flag
パスワードが見事に通り、中から flag というファイルが抽出されました!
あとはこのファイルの中身を確認するだけです。
ls
# dump.pcap flag flag.zip
cat flag
実行結果:
picoCTF{R34DING_LOKd_fil56_succ3ss_b98dda6a}
推測通り、完全な状態のフラグを獲得できました!
Flag:
picoCTF{R34DING_LOKd_fil56_succ3ss_b98dda6a}
お疲れさまでした!



