Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?
@karma0106

SECCON Beginners CTF Writesup

More than 1 year has passed since last update.

 概要

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
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
karma0106
このセキュリティ業界の片隅に

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
3
Help us understand the problem. What is going on with this article?