SU CTFに出た(後編)

"Touran City-1" recon 150

電話使用者のフルネームを見付けろという問題。

reconなのにphone_backupとかいうファイルを渡されて中にはANDROID BACKUPとか書いてある。

展開できるかなぁと思って調べてみるとJava製のクソっぽい展開ツールは見つかったけど気持ち悪いのでさらに探すと http://forum.xda-developers.com/showthread.php?t=1572600にdd if=mybackup.ab bs=24 skip=1 | openssl zlib -d > mybackup.tarでできるよという記述を見付ける。

tarを展開するとAndroidにインストールされていたアプリ一覧が出てくるが、問題文が"Monsters Inc. has decided to..."から始まるようなものなのでおそらくinc.monsters.commandserviceが本命とわかる。

中を見てみるとapkファイルとアプリケーションの設定ファイルが手に入る。

apkを逆コンパイルして眺めるとhttp://ctf.sharif.edu:8085/と通信していることがわかるのでとりあえずブラウザでアクセス。ログインを要求される。

とりあえず設定ファイルに書かれていたdeviceidとpassword(c6bce:tj4d67hwrfs)でログインを試みたら入れた。しかしNO MESSAGESとか言われる。

ここで放置して他の問題をやっていたのだけど、あるときisAdminとかいうCookieが記録されているのに気付き、どの問題だ?と思って調べてみたらこの問題のものだとわかった。NOと設定されていたので迷わずYESに書き換えてリロード。

f:id:misodengaku:20140928231732j:plain

いっぱい出てきてわからん、がソースを見ると各選択肢にdeviceidらしきvalueが設定されているのでc6bceで検索して名前ゲット。

Flag: Lenna Aubut

面白い問題ではあったけどどう考えてもreconではないような・・・

"Our bank is yours" web&forensics 200

なんとも説明しづらいんだけども、シナリオとしては"XSS入りのオンラインバンキングへのリンクを踏まされてしまい、暗証番号入力用のスクリーンキーボードの配列とマウス座標が1秒おきに送信されてしまう"みたいな感じ。

問題文として渡されるpcapファイルの意味さえ読み解ければこの問題はやるだけ、だけど死ぬほどめんどくさかった。

f:id:misodengaku:20140929001521p:plain

61534がID、4793162305がパスワード。

XSS入りリンクを送るパケットもSMTPで記録されているので、あとはオンラインバンキングのサイトにアクセスして入手したIDとパスワードでログインするだけ。

Flag: 1bcef0620c8505a894fa61d911029c07

"Commercial Application!" reverse 200

今度はAndroidアプリとAESの合わせ技みたいな問題。

作った順序としては逆なんだけどGuess the numberのプログラムをちょっと弄れば解ける。

暗号文が逆コンパイルしたプログラムから得られるのであとは鍵とIVを見つけ出せばいい。

じゃあどこにあるんだ、ということでさらに読み進めていくとどうやらSQLでどこかから読んでるっぽい。

APKを展開した下assetsディレクトリにdb.dbなるあからさますぎるファイルがあるので適当に読む。

f:id:misodengaku:20140929003604p:plain

列名が意味わからんが例によってプログラムを読み返すとe列がIV、f列が鍵らしい。

あとはやるだけ。

f:id:misodengaku:20140929002909p:plain

Flag: fl-ag-IS-se-ri-al-NU-MB-ER

"Reverse Me" reverse 200

簡単なWindowsのreversing。Ollyでステップ実行して1文字ずつ調べていった。バカなので簡単な解き方を知らない。

Flag: BZ9dmq4c8g9G7bAY

まとめ

イラン人は信用ならん