CSAW CTF2014 writup
CSAW CTF2014に参加したのでそのwriteupを書きます。チームsstwで参加して、1240点の364位でした。解いたのはexploit200、reversing200、forensic200、NW100,Trivia10です。
実はexploitとかrevesingとか解けたの初めてな気がするからこれから解けるようにがんばりたい。
やったーrev200解けたー
— 仙豆 (@senz1024) 2014, 9月 21
debugger初めて開いた割には上出来ということにしておきたい
— 仙豆 (@senz1024) 2014, 9月 21
今回はこれに尽きる。
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
おぉってなって、去年のバイナリで試してみたらできたので感覚をつかむことができました。
で、改めて見てみたら(動かしてみたら)↓
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…という認識であってますかね?怪しい><
Forensics200 Why not sftp?
NW100終わって解くのないよぅっていじけてたらチームの方がpcapあるよって教えてくれた。たしかFTPでダウンロードしてるzipを解凍すると画像にflagあった気がする(適当)
まとめ
OllyDbgが好きになりました。