ちょこちょこ勉強記録

おもにセキュリティの勉強過程をメモしていきます

CpawCTFを解く(Level2 Q28 writeup)

GW中に少しでも勉強を進めようと思い、重い腰を上げてCTFに初挑戦してみました。

初心者が手を付けるならCpawCTFがお勧めという話を聞いたので、まずはLevel1から。

f:id:aquilachry:20210504191628p:plain

Level1は難なくクリア

フラグとは何ぞや、というMiscのTest Problemに始まり、本当に基礎の基礎を手取り足取り教えてくれる感じ。

緯度経度から川の名前を探すForensicsなど、簡単ながらも問題を解いていく面白さを味わえる良問揃いでした。

 

次はLevel2に挑戦。Level1は適当に記載の順番で問題を解いていったので、同様にとりあえずStegoのQ13を解いたところで、メニューの上にあるDifficultyタブから問題毎の解いた人数を見れることを発見。

一番解いた人数が少ない(難しいと思われる)Q28のNetwork問題にいきなり手を付けてみることにしました。

無事ヒントを見ずにフラグを手に入れることができたので、自分用兼ねて解き方をメモしておきます。

ちなみにこの問題、つい最近(2021/04/11)更新されたようです。

f:id:aquilachry:20210504192719p:plain

なんとか自力でクリア


まず問題文のリンクからpcapファイルをダウンロードします。

中身をWiresharkで眺めます。

なんだかFTPでいろいろやっているみたい。ログインしようとして失敗したりしているのがわかります。

問題文から推測するに、特に暗号化されていない平文のデータが重要になりそうなので、適当にそれっぽいものを探していきます。

フィルタでFTP or FTP-DATAとしてポチポチすると、怪しい文字列を発見しました。

f:id:aquilachry:20210504193146p:plain

No.83

"FLAG file exists in this directory"…どうやらFTPサーバにログインしてFLAGファイルを探し出す必要がありそうです。

ちなみにその際”Current working directory: /”とあるので、ルートディレクトリを見ればよさそうですね。

FTPサーバにログインします。IPは見ての通り118.27.110.77です。

ここで必要になってくるのがユーザとパスワードですが、これも暗号化されていないので筒抜けになっています。

pcapファイルの上の方に戻って…最初にanonymousでログインしようとして失敗し、一回接続を切っています。

その後、No.38でcpaw_userでログインを試みているようです。パスワードはNo.42にまんま書いてあります。コピペして接続。

f:id:aquilachry:20210504193659p:plain

FTPサーバにログイン

早速dirを、、と思いましたが、謎のエラー("500 Illegal PORT command")が発生。

調べてみると、"Linux command-line ftp defaults to using active-mode FTP. Try switching to passive mode with the pass command"とのことなので、その通りにするとdir発行できました。

serverfault.com

 

しかし、あるのはdummyファイルのみ。開いても中身は例の"FLAG file exists in this directory"だったので、一瞬どういうこと?と手が止まってしまいました。

少し冷静になって、どうせ隠しファイルだろうと思い"dir -al"すると案の定".hidden_flag_file"という、いかにもなファイル名で置いてありました。

ダウンロードして中身を開くと、フラグゲット。

f:id:aquilachry:20210504194302p:plain

いかにもなフラグファイル

f:id:aquilachry:20210504194451p:plain

FLAG


お疲れさまでした。

引き続きLevel2を解いて、CpawCTFが終わったらpicoCTFに挑戦予定です。

他にはLPICCCNAも取りたいし、4月に受けた情報処理安全確保支援士の結果も気になるし、放置気味のHTBもTHMも進めたいし、、いろいろありますが、焦らずゆっくりやっていきたいと思います。