Unconfirmed daily

内容は未確認です

SECCON2015オンライン予選

ViibarのAdventCalendarの2015/12/07分のネタも兼ねてます。

初級者なので初級者らしく簡単な問題のWrite-up。

一緒に参加していた方のQiitaの記事 ->

qiita.com

先に感想っぽいもの

  • 開始時からしばらくの間は二日酔いで頭痛がひどかった・・・
  • あとLinuxの実行環境がいまだにCentOS6.5だったりするのでGLIBCのバージョンが合わなくて実行できないケースが結構あって辛い・・・
  • CTFで使う環境を決めて用意しないとつらいのでなんとかしないと、という毎度の振り返り
  • あとは単純に功夫が足りてない

Writeup

Reverse-Engineering Android APK 1

Binary100の問題。

apkの解析というとapktoolをつかってsmaliを読むのが思いつきましたが、今の環境には何も入ってないのでやったことないけどjarからデコンパイルを試してみることに。 dex2jarをつかってjarファイルに変換してJD-GUIでコードを見てみる。難読化とかされてないのでかなり普通に読めるコードになってますね。

f:id:kmuroi:20151206011742p:plain

真ん中あたりのフラグワードっぽいのがあるので(1000 + calc()) * 107の結果を求めればオッケーなことがわかります。 calcについてはlibcalc.soをロードしてcalcを呼び出しているので逆アセしてみればオッケー。

自分はIDAさんがFreeでLinuxは逆アセできないのでobjdumpで見てみると単純に7を返しているだけなので計算すればそれがフラグワードですね。

f:id:kmuroi:20151206012435p:plain

Unzip the file

Crypt100の問題。

パスワード付きの暗号化ZIPを解凍して中からフラグワードゲットする問題。 さすがにBrute Forceはないなと思っていたので、内容を確認するとbacknumber08.txtとかテキストファイルが2つある。 これが過去のSECCONのバックナンバーでWebで検索すると出てくるので、そこからファイルを引っ張ってくると既知平文攻撃ということでpkcrack先生でサクッと復号できる。

f:id:kmuroi:20151206134349p:plain

このflagファイルがZIP形式なんですが、内容を見るとdocxなのがわかる。

f:id:kmuroi:20151206134653p:plain

word/document.xmlの内容からフラグワードを引っ張ってきて入れたらincorrectだと言われてなんで?ってなったんですが、ファイルをdocxにしてワード上でフラグワードをコピペするとスペースがあったという罠でした。

Connect the server

Web/Network100の問題。

ブラウザでアクセスしたら落ちてきたファイルにフラグがあったので整形して入力したらおわた。

時間足らなかった系

下記意外にも手を出してたけど手がかりがつかめたのだけ。

Steganography 1

ヘッダを見るとgifなんだけど内容的にサイズが大きいので中身を眺めてたらPNGがあるのがわかったのでPNGを切り出す。 PNGもだいぶサイズがでっかかったので何かあると思ったけど取り組んだのが終了30分前だったのでここでタイムアウト。 JPGとかも入っているぽい感じなんですかね。