読者です 読者をやめる 読者になる 読者になる

積極的にメモっていく姿勢

題名詐欺。更新頻度の低さが売り。

SECCON 2013 オンライン大会

SECCON コンテスト CTF

@chamaharun に連れられて初参戦.
コンテストものに出るのは,高校生の時以来です.
 
しかも,セキュリティとか低レイヤーの事をやるのも久しぶり.
// 低レイヤーったって電子工作の経験くらいしか......  
パケットを覗くだとか,バイナリを解析するだとかは初めてかも.
あ,バイナリかるたは経験あります!
基本的に,せきゅぽろから得た情報が全てでしたが,頑張ろうと思いました.

1. 解けた問題


その他 100 練習問題

こういうのもあるんですね.ボーナス問題って感じです.
答えをそのまま入れるだけ.SECCON と入れたらOKでした.  
私は余り馴染みがありませんが,大会後に答えを書き上げることを,
この界隈では Writeup と呼んでいるようです.
 
さらに,馴染み無い勢の為に書いておくと,上記のような答えのことを,
Flag と呼び,これを手に入れる,Capture The Flag という戦いの方式になります.
よく,CTF と云っているのはこのことであります.
 
これはいいとして,次です.

Forensics 100 ここはどこ?

これはファイルが渡されまして,それの中身を見ますと,
base64 という文字列がありましたので,とりあえずデコード.
この base64 というのはメールの為に開発された形式か何かのようで,
全部の行が同じ長さになっているのが特徴的かもしれません.

f:id:tomio2480:20140130032453p:plain

何か,人間の読める部分は邪魔そうなので,1-20行目と最後の2行を削除.
そしてから,Mac に標準で入っているコマンドを使ってデコード.

$ openssl base64 -d -in Forensicist.dat -out hoge

ここらへんで,Vim でバイナリを開こうとするも,設定が面倒で,
なんかバイナリエディタ Mac にないかなぁって探しました.
 
とりあえず,0xED っていうのが見つかったので install.
これで開いてみたら何かわかるんじゃね!(謎の自信)

f:id:tomio2480:20140130033831p:plain

 
完全なるビギナーズラック  
とにかく画像らしいし,写真だから JPEG じゃねとか言って,拡張子を付けて,
プレビューで見てみる事にしました.そして Google に投げる.

f:id:tomio2480:20140130034151p:plain

 
適当にリンクに飛んでみたら,Britanica Zoo ってあったので,
入力してみるものの,不正解.若干表記揺れとか心配した.
カタカナ,英語試すもダメで,どういうことなの......
 
まあ,違うかもしんないからね.と思って居た矢先,EXIF のことを思い出す.
MacEXIF 見られるソフトあるかなーと思って google 先生.
すげえ.プレビューさんマジで何でもできるな.

ツール > インスペクタを表示

f:id:tomio2480:20140130034532p:plain

GPS とか言って緯度経度でてきた.
そして,タブの一番右を見てこの画像が TIFF である事が発覚する.
 
それでもって,台北市立動物園だと分かる.
Taipei,台北,Taipei Zoo,台北動物園,台北市立動物園 を試すも不正解.
ぼく「緯度経度はうそつかない」→ 台北市立動物園google へ.
google台北市立木柵動物園」→ これで大正解でした!
 
長い道のり......
でも,他の人の Writeup を見ると,メール形式なのでメーラーで開く.
そんで画像の EXIF を確認する.以上.くっそ早いすごい.
でもチームに貢献できた! ということで......
 

 

他は分かりませんでした

真っ先に,プログラミング/Crypt 100 calculate it / 計算せよ に挑戦しました.
しかしながら,

4263432/3-9-5/1/X43 = 
9-418/45X8-1336/2771 = 

なんて出されても四則演算じゃねと思うものの,
3秒以内に回答しないと行けないので,
プログラムを書いた所で,どうやって入力に流すのかが分からず滅亡.
 
とりあえず,計算結果を出して,それをすごい速度で手打ちする作戦.
でも,違うっていうんだから悲しい.
 
しかも,なんだ文字列の長さが一定じゃない.
私が試したときは大体 X が一つで,もしかして文字コードか何かに変換?
とか思ったものである.

Hint1: 四則演算ではありません
Hint2: 81 9- 16 6- 4/ 15 X  3- 72 45  = 82
Hint3: G- G- G- G- G- G- G- G- G- G- = 0
Hint4: X  X  X  X  X  X  X  X  X  XXX = 300

ヒントが全部公開された所で,何もわからない.  
そして,夜中の 02:00 くらいにこれは,
ボーリングのスコアである事に何故か気付いてしまい,コードを書く.
朝の 08:00 までかかるも,結局沢山出てくる問題の前に撃沈.

12:00 までに起きれませんでした.  
他にも,ネットワーク・Web 200 Find the key! は,
WireShark を入れてみて,PNG のヘッダーその他が見えたので,
自分で切り貼りしてみて,画像がでることを期待しましたが,
4枚の画像が出来上がって,どうすればいいんだ状態.
しかもこんな感じのが2枚と,真っ黒の同じサイズのが1枚.
あとは,透明な真四角が一つでてきました.GIMP で開いてみるも,
レイヤー分けされた訳でも無い......

f:id:tomio2480:20140130040719p:plain

 
あとは,その他 400 solve the steganography くらいでしょうか.
GIMP で開いてみたけど,どうしようもなくて終わりました.
其々の色のスペクトルの反応はあるのだけれど,どうしたらいいんだ......
という感じで迷走しました.

f:id:tomio2480:20140130041131p:plain

 

2. 楽しかった


何か知らないことだらけですごく楽しかった.
戦力にはならなかったけど,最終的に我がチームは 300点.
順位はまだ仮だけど,日曜の昼の時点で 128位!
とってもキリのいい数字です.
これを確認した後は Ohotech 並盛 #13 へ直行しました.
 
色々問題に取り組む中で,Mac 勢には辛いものがありました.
結構な勢いで .exe が飛び交うものなので,Windows 64bit 無い勢には辛かったです.
まず,game できなかったし,XSS は諦めムードでした.
実際,Web 勢っぽい面を持っているので,XSSしたかった!
alert出したい欲求がありました!
 
これを期に Windows が欲しくなりますね!

x. おまけ


Content-Type: application/octet-stream;
   name="panda"

"octet-stream" "panda"
これ知ってる人だと思うんですよねぇ......