こここブログ

機械学習, 統計分析, 競技プログラミング, CTF, VR, ……テクノロジーへの憧憬に身を焼かれている人のメモ帳です

RCTF 2019 ひとり反省会[CTF5戦目]

2019-06-06-公開

RCTF 2019 [*1] にチーム「Xplosion」 の1人として参加した。Xplosionは私とCTFに誘ってくれた友人kangetsu121さんの2人編成。CTF5戦目。

Harekaze CTF 2019にも同時参加。

www.kokokocococo555.com

将来の振り返りのために取り組みをメモしておく [*2] 。

今回、手も足も出なかったためWrite Upを読んだ感想をメモするに留まる。

解けた問題

Welcome [Misc 51]

  • IRCやTelegramにflagそのものが記載されている。flag提出の練習

draw [Misc 70]

  • kangetsu121さんが解いた
  • 文字列をググると描画アプリが見つかる
  • Logoって描画スクリプトだったのね…というお気持ち

取り組んだ問題

printer [Misc 198]

  • スーパーマーケットが導入したプリンターをハッキングしてUSBトラフィックをゲットしたよ、という設定
  • .pcapngファイルが与えられるのでWiresharkで開くと1つだけ長いパケットが見つかる
  • 画像をプリンターに送っているのでは、その画像を読み出せばflagがあるのでは、と当たりを付けたが画像として読み出す方法が分からず断念

復習

  • 参考:RCTF 2019 Writeup · Alan's Blog
  • outputしているパケットに目をつけ、内容を確認するとascii文字列あり
  • 文字列でググると「TSPL/TSPL2 Programming Language」というマニュアルが見つかる
  • パケットの中身をPythonスクリプトで描写する
  • 目をつけたパケットはよかった
  • あとはその中で可読なascii文字列を抽出し、ググる力が必要だった

babyre1 [Reverse 338]

  • babyreファイルをLinuxで実行してみるとInput right flag you can got 'Bingo!'と表示される
  • 文字列を入力するとinput is too short!と言われる
  • 文字数を変えながら入力すると16桁でinput flag is wrong!に出力が変わる
  • ヒントに "There are multiple answers, please ensure MD5(rctf{your answer}) == 5f8243a662cf71bf31d2b2602638dc1d" とあるので、MD5にかけたら5f8243a662cf71bf31d2b2602638dc1dになる16桁の文字列を見つけるのではと当たりをつける
  • Pythonスクリプトを書いてブルートフォースしたが、現実的な時間で終わらなかった
  • 英数字で総当たりした

復習

※理解できるWrite Up待ち

Cryptの各種問題

  • 挑戦したが無理だった

復習

※後に更新予定

順位

  • 188位/405teams (上位46%)

学び

  • とにかく得られた文字列をググるの、大事

雑感

  • 目のつけどころは良くても最後まで解ききる力が足りない。スクリプト力が足りない

関連

同時参加CTF

www.kokokocococo555.com

*1:土, 18 5月 2019, 10:00 JST — 月, 20 5月 2019, 10:00 JST

*2:個人的な見解。チームメイトはきっともっといろいろ考えているし、取り組んでいる。