ふるつき2

裏ブログです。うそです

DownUnderCTF / 0CTF Finals

今週末はDownUnderCTF 2021と0CTF 2021 Finalsに参加していた。チームメイトのうち、特にWebの人はHackIstanbulにも取り組んでいて非常に忙しそうだった。HackIstanbulでは予選から決勝まで何一つできていないので反省です。

さて、DownUnderCTF 2021だが非常に面白かった。48時間のうち24時間くらいで元気がなくなってしまい次第に動きがなくなるという弊チームの良くないところが発揮されてしまっていたが、すくなくともいくつかの問題には取り組めたし、解くことができた。今最も信頼できるCrypto Playerであるところのjosephの問題はどれも良くできていていた。解けなかったSubsutitution Cipher iiiや1337 crypto v2も面白かったし、簡単な問題もこんな構成ができるのかと思って楽しめた。そしてyadlpは次のCTF用に温めていたElliptic Curve のDLP + Linear systemっぽい問題を遥かに高い次元で実現されてしまった。

yadlpではこのアイデアがあったのでDLPパートが解ければすぐだと思っていたが、なぜかLLLがうまく決まらず、結局複数インスタンス + Sage 8.1のsolve_rightというよくわからない攻略方法になった。これがどう働いているのか全然わからない。

josephのすごいところはこれだけ面白いCrypto Setを作っておきながら、それだけでなくReversingやpwnの問題も手掛けていてかつこれらも面白くできている(らしい)ところだが、それだにとどまらずその後のwriteupがとても丁寧に書かれていて教育的だったり、さらにCTF全体のふりかえり記事もとても丁寧に書いていたりする。超人的なタスク処理能力だと思うがふりかえり記事にもあったようにDUCTFは1年がかりの大プロジェクトであり、それだけ情熱を傾けてきた対象なのだろうということが伺える。

それだけにjoseph以外の問題がいまいちだったのは残念だと思う。cryptoでもそうだったし、それ以外のカテゴリでもそうだったようだ。実力が伴わないことは仕方がないことではあるが、CTF全体のバランスが取れていないと参加者からみたときにちぐはぐになってしまうし、良い問題の価値がくすんで見えてしまう。また、絶賛するほどでもないがそんなに悪くない普通の問題もそれより良い問題がたくさんあると比較的悪く見えてしまい、結局どの問題にとっても損ということになる。これをどう解決するかは難しい問題で、答えは今のところない。

そういえば./Vespiaryに負けたのは悔しい。なんで負けたのかはあんまり良くわかっていない。24時間ぐらい取り組んだあたりでzer0ptsの面々はやる気が急減少することが知られているからそれだろうという気はする。zer0ptsが勝っているCTFは短期決戦が多い気がする。


話は変わって0CTF Finals。こちらはスコアボードを見てもらうとわかるがzer0ptsは辛くも最下位を免れて11位で、全然まともに参加していなかったことがわかる。やはり並行して複数のCTFを見ることは基本的に不可能なのだということがよくわかる。当初からやる気がなかったということはないのだが、蓋を開けてみればptr-yudaiが序盤に高速で解いたpwnと、私が空き時間にといたcryptoしか解けていないという状態になった。Web担当の面子がHackIstanbulに労力を持っていかれていたこともある。

CTFに真剣に取り組み続けることは非常に難しく、このあたりはみんな課題に感じているところだと思うが、強いチームはちゃんと取り組んで勝ちきっている。一体どうやっているのだろう。一問一問を素早く解くことでCTFに取り組むコストが下がるというのはそうだが、それだけでは説明がつかないような気もする。

私もCTFは序盤で燃焼したあと後半は燃えカスになってしまうのだが、「負けたくない」という思いをもって頑張ったりすることはある。今回の場合もそうで、CTF終了3時間前くらいに起きてスコアボードを見たところr00timentaryに順位を抜かされていて最下位は嫌だなと思ったのでCryptoを頑張ったところ2問とけてなんとか時間の差で勝つことができた。

解けたcryptoはezmatとezrsaだが、どちらもきちんと解ききれたのはかなりえらい。とくにezmatは 71^{5}(うまくやると 71^{4})個の値の全探索をやるという決断をちゃんとできて、4重だと何故かうまくいかないので5重でやってみるという方向に舵をきれたのが偉いし、ezrsaは少ない時間の中でちゃんと手を動かして観察しつつ少しずつステップを進められたので偉い。この調子でezrsa+も解けていればもっと偉かったが……