2013年12月1日日曜日

SECCON2013 札幌予選 writeup

SECCON2013 札幌予選会の writeup(まだ途中)
会場では解けなかったのでボチボチ解いてアップします。

フォレンジック 500点問題

ddイメージファイルから指令文を読解せよ、という問題。
autopsy で解読しようとしたらハマって全然解けなかったので、別な方法でチャレンジする。
まずは Windows の FTK Imager で調査する。


二つの画像ファイルと一つのメッセージファイルが見える。
メッセージファイルの中身は次のようなもの。

指令部からのメッセージを送る。
VRZGNWSOHPMY
位置については、これまでと同様に写真を参照してくれ、
くれぐれも写真は忘れずに削除するように!!
VRZGNWSOHPMY を読解すればいい。
次に画像ファイルを調べる。とりあえずすぐに調べられる画像ファイルを見ると次のような感じ。



なにやら古めかしい画像だが、これを画像検索するとゼロ戦とか九五式戦車と出てくる。でここからは推測で、日本の写真なので第二次世界大戦時の日本軍の暗号「ニイタカヤマノボレ」的なものかといろいろ探したがそれらしいものはなかった。
第二次世界大戦で有名な暗号といえばエニグマなので、エニグマ暗号を扱えるこのサイトでチャレンジする。
予選中は画像が二つだと思い込みゼロ戦の0と95式の95を組み合わせて色々やっているうちに時間切れ。

会場でヒントをもらってバイナリエディタで見ると3つ目の画像ファイルがあるのがすぐに分かった。



00013000  43 54 46 20 20 20 20 20  20 20 20 08 00 00 00 00  |CTF        .....|
00013010  00 00 00 00 00 00 c4 3b  a1 40 00 00 00 00 00 00  |.......;.@......|
00013020  e5 41 4e 4b 20 20 20 20  4a 50 47 20 18 43 d5 3b  |.ANK    JPG .C.;|
00013030  a1 40 a1 40 00 00 84 38  a1 40 02 00 d4 58 00 00  |.@.@...8.@...X..|
00013040  e5 41 4d 41 54 4f 20 20  4a 50 47 20 18 44 d5 3b  |.AMATO  JPG .D.;|
00013050  a1 40 a1 40 00 00 b3 38  a1 40 00 00 bd f0 00 00  |.@.@...8.@......|
00013060  e5 45 52 4f 20 20 20 20  4a 50 47 20 18 44 d5 3b  |.ERO    JPG .D.;|
00013070  a1 40 a1 40 00 00 fc 38  a1 40 2d 00 ba 94 00 00  |.@.@...8.@-.....|
00013080  41 4d 00 65 00 73 00 73  00 61 00 0f 00 cb 67 00  |AM.e.s.s.a....g.|
00013090  65 00 2e 00 74 00 78 00  74 00 00 00 00 00 ff ff  |e...t.x.t.......|
000130a0  4d 45 53 53 41 47 45 20  54 58 54 20 00 44 d5 3b  |MESSAGE TXT .D.;|
000130b0  a1 40 a1 40 00 00 71 3a  a1 40 40 00 94 00 00 00  |.@.@..q:.@@.....|
000130c0  e5 4d 00 53 00 49 00 39  00 32 00 0f 00 0d 31 00  |.M.S.I.9.2....1.|
000130d0  35 00 66 00 2e 00 74 00  6d 00 00 00 70 00 00 00  |5.f...t.m...p...|
000130e0  e5 53 49 39 32 31 35 46  54 4d 50 10 00 47 51 3c  |.SI9215FTMP..GQ<|
000130f0  a1 40 a1 40 00 00 52 3c  a1 40 41 00 00 08 00 00  |.@.@..R<.@A.....|
00013100  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|

さらに、バイナリエディタで画像ファイルのあたりをポチポチとみていくと「Rotor position 1:J」とかいうエニグマに使いそうなキーワードが出てきたので絞り込んでみる。

strings DiskImage.dd |grep posi
Rotor position 1:J
Rotor position 2:P
Rotor position 3:N

この情報をもとにエニグマ暗号を読解すると次のようになり、たぶんこれが答えになると思う。



デコードせよ その他 100点問題

QRコードの画像があるだけの問題。
(Blogger にアップロードするとなぜか別なレイヤーの画像になる・・・)

これは見た感じQRコードなのでまずはQRリーダーで読み込んでみると「VlZOQlIwa2d」という文字列になるが、これだけだと意味不明。
実はこれは GIF アニメーションになっており、GIMPに読み込ませると16枚のレイヤーになっているのがわかる。

それぞれが QR コードになっているので、ぽちぽち保存する。
次にそれぞれのQRコードをここを使ってテキストに直していく。全部つなげてみると次のような文字列になる。

VlZOQlIwa2dUazhnVlU1QlNra0tWVmRCUjBrZ1RrOGdWVkpCU2trS1ZVNUJSMGtnVGs4Z1ZVMUJUVWtLVlU1QlIwa2dUazhnUjBWT1Mwa0tWRWhGSUVaTVFVY2dTVk1nVlU1QlIwbE9UMHBWVFU5T1ZFRkpVMDlWQ2c9PQo=
なんとなく Base64 っぽいので、このサイトでデコード。
VVNBR0kgTk8gVU5BSkkKVVdBR0kgTk8gVVJBSkkKVU5BR0kgTk8gVU1BTUkKVU5BR0kgTk8gR0VOS0kKVEhFIEZMQUcgSVMgVU5BR0lOT0pVTU9OVEFJU09VCg==
また Base64 っぽいのでもう一度デコード。
USAGI NO UNAJI
UWAGI NO URAJI
UNAGI NO UMAMI
UNAGI NO GENKI
THE FLAG IS UNAGINOJUMONTAISOU
これでFLAGを取得。








0 件のコメント:

コメントを投稿