2015年3月31日火曜日

TDU CTF 2014 Satellite in ConoHaへ行ってきました(writeup的な)

2015年03月29日に渋谷で開催された初心者向けCTFのTDU CTFに参加してきました。(CTF後に山梨で予定があったので書くのが遅くなりました。)初心者向けといいながらも上級者が来るんだろうなぁと思っていたら、やっぱり来ました(恐怖)。どこかに集まってやるCTFは今回が初めてだったので問題が解けるか不安でした。CTFには80人弱ほどの方が参加されていました。始めに運営の方々がXSSとかSQLiとかいろんな分野のプレゼンを少しされました。

では、解けた問題について書きます。スコアサーバーには自分の解けた問題や誰が解けたか、問題の点数などが書かれていないので、本当はもっと解いた問題、解けなかった問題があると思いますが、とりあえず思いついただけ。

web
・Easy SQLi Test
何かを検索するフォームがあります。適当に入力してもヒットしません。SQLi苦手なんですが、Easyと書いてあるのでテンプレで
" or 1=1;--
と入力すると全部出てきました。一番最後にフラグが書かれていました。この問題には複数のフラグがあり、flagTableに次のフラグが~みたいなのが書かれていましたが、ここで断念。

・Simple Uploader
ファイルをアップロードできるサイト。これもテンプレでphpをアップロードすると動きました。
<?php phpinfo(); ?>
を送るとphpinfoを見ることが出来、そこにフラグも書かれていました。この問題も複数のフラグがあるということで、
<?php system("cat /etc/passwd"); ?>
を送るとパスワードの中にフラグが。
<?php system("ls"); ?>
するといろいろあったので見てみるとこんな画像ファイルが。モザイクが掛かって見られないのですが、これはフラグなのかな?解けませんでした。もしかしたら誰かがアップロードした妨害用のファイルかもしれません。分かりません。
(追記:03/31/2015)他の方のwriteupを見るとこれと同じような画像ファイルがありました。そちらはモザイクが掛かっていなかったので、別の場所にこのファイルの元画像があったと思われます。

binary
・Trip Picture
ほしい方はダウンロード
何かのストラップの写真があるので、バイナリエディタで見ると最後に
Flag is TDU{LoveLiverInKyoto!}
と書かれていました。私の知識不足でLoveLiverというものが何なのかが全く理解できていません。(アニメ?)

・読めない文字1
base64っぽいのでecho ~|base64 -dでデコード。またbase64っぽいのが出てきたのでもう一回デコード。終わり。

・ASCII Art
ほしい方はダウンロード
zipが渡されるものの開けないのでバイナリエディタでみるとフラグがAAで書かれている。
TDU{HEXEDIT!}

・ string_compare
ほしい方はダウンロード
exeが渡されるので、IDA送り。TDUで検索するとprintfの前に「TDU{%s_is_very_cutie}」とあったので、%sにあたるアドレス[ebp+var114]を探すと「MinamiKotori」と書いていたので
TDU{MinamiKotori_is_very_cutie}
がフラグでした。(´・ω・`)知らんがな

forensic
・ Evidence
ほしい方はダウンロード
運営のnomukenさんが殺されたので、犯人グループの作戦名を掴んでくれ、みたいなフォレンジック問題。私はフォレンジック問題好きなので期待していたのですが、forensicカテゴリの問題は結局最後までこれ1つだけでした。(´・ω・`)
いつもはTSK使ってるのですが、TDU CTFで紹介されていたFTK Imagerというのを使ってみると、削除されたフォルダかな?にpdfが入っていたので開くとフラグがありました。
作戦名:TDU{OIL_SARDINE}


crypt
・我が同胞に告ぐ
単一漢字変換やシーザー暗号などを思わせる文字列があるのですが、すぐにvimだと判明。入力すると
vimisawesome
なのでTDU{vimisawesome}がフラグでした。
私は基本Emacsです。(たまにvimも使いますが)

network
・ 柚子胡椒 Vol.1
ほしい方はダウンロード
pcapが渡されるので見るとフラグが送られていました。
TDU{bLu3T00tHDeTH}
TDU{PiNC0De2}
の2つがあったのですが、どっちがフラグだったか忘れました。


misc
・(タイトル忘れました)
TwitterアカウントのURLがあるので、TwitterIDをフラグにするだけ。

・Mini Quiz#1
何かの文章が問題として書かれています。意味分からなかったのですが、何かの引用かと思い調べてみると「ThinkPad X300が~」とあり、ちょうど穴埋めになっていた所がX300なので
TDU{X300}
でした。

・Mini Quiz#2
[単語]->[数字]の形式が並んでおり意味不明だったので、単語部と数字部を並べて調べるとOS Xのバージョンだと判明。Leopardとやらについて聞かれていたので、小数点を抜いて
TDU{105}
でした。




ここから先は解けなかった問題たち。
・unknown file
ほしい方はダウンロード。 
ファイル内が全部0x20で埋まっており意味不明。ファイル名に意味がありそうでしたが分かりませんでした。他の方のwriteup見るとTDUで検索したら出てきたとあるので、運営サイトのネットワークの問題?始めはおかしいと思い何回もダウンロードし直したんですけど、よく分かりません。

・Developper! Developper! Developper!
ほしい方はダウンロード
zipファイルはパスワードかかっているのですが、ヒントに「無圧縮」とあったので調べるも解けませんでした。pkcrackというソフトで中のファイルと手持ちのファイルを平文攻撃することでパスワードが分かるとか。とても参考になりました。

・Omikuji
ほしい方はダウンロード
おみくじができる実行ファイル。 TEMPに何か作ってるのは分かったのですが、どうやらネットワークで通信しているようです。

・(タイトル忘れました。string encoderだったかな)
ほしい方はダウンロード
IDAで見るとメモリ上にフラグが見つかりそうな予感だったので起動しようと思ったのですが起動できませんでした。VC++2013再頒布入れたのに起動しませんでした。隣の方も起動できずに悩んでいる様子でした。次からはgccでstaticするか、VC++は知りませんが、必要なライブラリは全部埋め込んでほしいです。あと要望といえば、スコアサーバーでフラグ入力しても何も起こらないことが多々ありました。Javaだからかな。

・(タイトル忘れました。Phoneなんたらだったかな)
ほしい方はダウンロード
まったく分からず。

・かっこいいフラグたち
なんと表示されているフラグを入力するだけでptがもらえるというかっこいいフラグがありました。入力する文字によって、-5000ptから-200ptくらいまで、かっこいい点数を獲得できます。かなり上級者向けの問題だったので解けませんでした。



他にもたくさん問題はありましたし、特にweb系では見つかっていないフラグがたくさんあると思います。
結果920ptを獲得して順位は20位でした(´・ω・`)初めて参加したにしては良い方かな・・・それに上級者多かったし・・・。まぁ次は10位くらいにはなれるように頑張りたいです。

とにかく、CTFってこんな感じなんだなぁ、というのが分かりました。問題を解くだけでなく、一体どこから拾ってきたんだというくらいの膨大な量の妨害用のBGM・動画が常に流れる会場も、貴重な経験になりました。

参加者・運営の皆さんお疲れ様、ありがとうございました。

0 件のコメント:

コメントを投稿