仙豆のレシピ

ちょっとしたことでも書いていく姿勢で

CSAW CTF2014 writup

CSAW CTF2014に参加したのでそのwriteupを書きます。チームsstwで参加して、1240点の364位でした。解いたのはexploit200、reversing200、forensic200、NW100,Trivia10です。

実はexploitとかrevesingとか解けたの初めてな気がするからこれから解けるようにがんばりたい。


今回はこれに尽きる。

Exploitation200 pybabbies

pythonのsandboxで、ソースコードが与えられる。調べたら過去問とまったく同じみたいですね。↓以下と同じことをやったら解けた。
Escaping Python Sandboxes | NYU Poly ISIS Lab

ReverseEngineering200 csaw2013reversing2.exe

めんどくせーから去年のちょっと変えてだすわwww(意訳 って書いてあったから、去年のwriteupを探して勉強した。非常に初心者にやさしいですね(白目)

とりあえずwriteup見る前に開いてみようと思って、前にIDAまったくわかんねーってなったから今回はデバッガで開いてみようと思った。とりあえず聞いたことあるOllyDbgでwwwと思って落としてきて開いてみてポチポチしてたけどよくわからなかった。

そこでwriteupを探したんだけど、IDAでやってるのばかりでよくわからない…><ってなってたら以下のページを見つけた。
http://peterpen-ctf.net/?p=715
おぉってなって、去年のバイナリで試してみたらできたので感覚をつかむことができました。

で、改めて見てみたら(動かしてみたら)↓
f:id:senz:20140922224249p:plain

00FE1092でエラーに飛ばされてイヤだ><ってなったからゼロフラグを書き換えて乗り切る

00FE109Eでdecode部分(たぶん?)に飛ぶ

返ってくると00FE10A3でまたエラーに飛ばされてイヤ><ってなったからjump先を下のMessageBox出力する部分に変える

去年のと同じようにflagが見える

という感じで解けた。でも見てわかるようになにが起きてるのかよくわかってない…orz筋道立った解き方が知りたい。

Trivia10 pop pop

問題文:This x86 instruction is an alias for pop eip/rip
答え:ret

これはcallするときに戻り先のアドレスをpushして、retでeip(実行しているアドレスを指す)にそのアドレスを入れる=pop eip…という認識であってますかね?怪しい><

Netorking100 Big Data

python勉強会の休憩時間にCSAWの存在を思い出して解いた。telnetの中にflagあるんじゃなかったかな(適当)

Forensics200 Why not sftp?

NW100終わって解くのないよぅっていじけてたらチームの方がpcapあるよって教えてくれた。たしかFTPでダウンロードしてるzipを解凍すると画像にflagあった気がする(適当)

まとめ

OllyDbgが好きになりました。