3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

SECCON Beginners CTF Writesup

Last updated at Posted at 2018-06-05

# 概要
5月26日に開催されたSECCON Beginners CTFに参加してきたのでWritesupを記載します。

Welcome

問題文に記載されてる通り、公式IRチャットページにアクセスするとフラグが記載されている。
welcome2.png
ctf4b{welcome_to_seccon_beginners_ctf}
#pain mail
pcapファイルが渡されるため、Wiresharkで読み込む。
Protocol HierarchyとConversationsから以下の情報が分かった。

通信相手は172.19.0.2⇔172.19.0.3で行われている。
ほぼ、SMTPで占められているので、メールでのやりとりと予想。
SMTPでフィルターし、FllowTCPStreamで通信内容を見ると
mail1.png
me@4b.loaclからyou@4b.localにメッセージが送付されており、次に暗号化したファイル、次にパスワードを送付すると記載されている。
次のメールの通信内容は
mail2.png
encrypted.zipを送付している。
最後のメールの通信内容で
mail4.png
パスワードを送付しているので、上記のencrypted.zipを解凍することでflag.txtが得られる。
ctf4b{email_with_encrypted_file}

veni_vidi_vici

zipファイルがダウンロードし、解凍すると中から3つのファイルが出てくる。それぞれ、以下の内容で復号できる。

  • part1 rot13で復号化
  • part2 ak → is と対応する文字に変換させる
  • part3 180度逆なので、180度逆転させる

これらを結合するとフラグが出てくる。
ctf4b{n0more_cLass!cal_cRypt0graphy}

#Find the messages
ディスクイメージが与えられる。fileコマンドの結果は以下の通りになる。
disk1.png
daemonimageでディスクイメージをマウントしてもアクセスできないので、ftkimagerというツールで中を覗いてみる。

disk2.png
中にはmessage1,2,3のフォルダがありmessage1はテキストファイルで閲覧可能。
base64でデコードするとctf4b{y0u_t0uchedになる。

message2は画像ファイル(png)だが、開くことができない。
バイナリソフトで該当ファイルを開き、最初と最後を確認する。
disk3.png
PNG形式のファイルの最初は16進数で常に、89 50 4E 47 0D 0A 1A 0Aで開始し、終端はIENDチャンクで終わる。IENDチャンクが存在するので、PNGファイルであると推定されるが、最初が全て58が入力されているので上記の値で上書きすると画像ファイルが復元できる。
disk6.png

最後のmessage3はファイルが削除されているので、foremostコマンドで復旧する。
auditログを見るとpdfファイルを復元できた旨が表示される。
disk4.png
pdfを見ると3つのフラグが表示される。
disk5.png
3つ結合させて、フラグが取得できる。
ctf4b{y0u_t0uched_a_part_0f_disk_image_for3nsics}
#SimpleAuth
zipを解凍し、fileコマンドで確認するとELF-64なので、Linuxで実行すると、パスワード入力を求められる。失敗するとUmm...Auth failed...と表示されるので正しいパスワードを入力する必要がある。
IDAProでファイルを逆アセンブラすると以下のようになる。
image.png
パスワード入力後、auth関数での比較を行い、比較が間違っている場合、失敗に飛ぶようになっている。
auth関数の中を見ると、入力された値とスクリプト内で保持している値を比較している。
比較している値は以下になる。
image.png
16進数を変換するとフラグを取得できる。
ctf4b{rev3rsing_p4ssw0rd}

#Greeting
ホームページに記載ある通り、adminでしかフラグが表示されない。
しかい、adminを入力するとusernameを偽管理者に書き換えれてしまう。
image.png

しかし、POSTでusernameを設定するとCookieにusernameをsetする旨が記載されているので、一度adminと入力したのち、再度このページにアクセスするとusernameがadminで設定されるのでフラグが表示される。
greet2.png
ctf4b{w3lc0m3_TO_ctf4b_w3b_w0rd!!}
#感想
初心者向けと言いつつ、Warmup以外は割と難易度が高かった印象。自分のレベルが低い 
特にpythonを利用して解く問題が多かったイメージなのでpythonのスキルを上げなければと感じた。

3
3
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
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?