Writeup初めてのSECCON。某チームで参加しました。今回、チームsky3は、某チームに合流してSECCON2015に参加しました。楽しかったです!!ある程度人数がいると、閃きと気づきの総数が増えるので、単独では解けなかった問題が、チームの皆さんの手により、あれよあれよという間に解かれていきました。リリりん♪さんは、スゴかったです。チーム名公表していいかわからないので、とりあえず伏せておきますが、ランキングは出場チーム上位3%に入っていることを申し添えておきます。いちおう300点分獲得できたので、その問題について、writeup書きました。チームメンバが解いた問題のwriteupも、了解が取れれば合わせて公開するやも。strippedどう見ても、CPUアーキテクチャ別のELFファイルです。本当にありがとうございました。以下の4つの方法で実行します。そのまま実行できますね。自分のPCのCPUアーキテクチャ以外は、クロスコンパイル環境を使って実行するのがよいでしょう。1からコンパイルを始めると競技時間内に終わりません。コンパイル済みの環境を準備しておくしかありません。そこで!!!1kozosの坂井さんの力をお借りします。(OVAフォーマット)FreeBSDのVirtualBox用イメージを,OVAフォーマットにしたものここの仮想環境を使わせて頂きます。各種アーキテクチャのクロスコンパイラ環境を構築するも大変参考になります。坂井さんのCentOS6.5を起動して、クロスコンパイルの環境を確認してみます。sparc-elf-gdbいろんなCPU用に用意されているのがわかります。CPUアーキテクチャの違うバイナリでも、staticリンクのバイナリであれば、各CPUアーキテクチャ用のgdbで実行できます。runの順に入力して実行します。使う¶ぶっちゃけ、実行だけならgdbより、こっちの方が楽です。7.binが実行できずに残ってしまいましたが、坂井さんが提供してくださっているFreeBSDの方に該当のCPUアーキテクチャのクロスコンパイル環境が入っています。BDFHJLNPqemuを使う¶qemuを使う方法もあります。出来るので、それを実行する。cpuのチップセット(?)を指定するのがコツ。実行結果を全部くっつけるとフラグになります。問題ファイルからflagをさがせ.sunrise.zip中身は、sunrize.pngという画像まず、バイナリエディタでゆるーく見てみましょう!ファイルの終端付近に、様子の変な領域が見えますね。見えるので、当然この変な領域も画像として出力されていなければいけないはずですが、画像に変な箇所は見られませんでした。それで、「あ、実際の画像サイズより小さくなってるんじゃね?」と思いついて調べてみました。header、IHDR)という場所に書かれています。header、IHDR)http://www.setsuki.com/hsp/ext/chunk/IHDR.htm具体的には、"IHDR"という文字が書かれた後4Byteが画像の幅を表し、その更に後の4byteが画像の高さを表しています。所の数を適当に増やしてみます。画像の下部にフラグが出てきました。