ログイン
編集不可のページディスカッション情報添付ファイル
CTF/Writeup/31C3 CTF/whatson

MMA

whatson

whatsonをstringsしてみるとupxで圧縮されていることが分かったので解凍した。

$ upx -d whatson

実行してみるとUnable to open/validate interpreterというエラーメッセージが表示された。METASMで逆アセンブルしてmain関数を見てみると、./python2.7というファイルの有無でこのメッセージの表示が分岐されていることが分かるので、python2.7というファイルを作成して実行した。

$ ln -s /usr/bin/python2.7 .
$ ./whatson
The gates of heaven remain closed
(シェルがKILLされる)

シェルがKILLされるといろいろやりづらいので、KILLする箇所を特定して潰すことにした。 METASMのsigmatcherでUbuntu14.04のlibc.aを用いてマッチしたところ、kill関数は0x408670にあることが分かった。 lldbで0x408670にブレークポイントを貼り(gdbは動作しなかった)backtraceを試みたら、関数0x4010caがkillを呼び出していることが判明した。そこで、0x408670をc3(ret)に書き変えて潰して実行した。

$ ./whatson
Greetings from elfmaster
31C3_there_is_nothing_like_first_hand_evidence

フラグが得られた。

CTF/Writeup/31C3 CTF/whatson (最終更新日時 2014-12-30 14:19:59 更新者 nomeaning)