どうもジョンです。
梅雨が明けたのに雨の日が続いて滅入りますね。
今年は夏らしい日はとても少なく、
冬よりは夏派なので寂しい限りです。
という事で、
前回のSECCON2014の問題編という事で問題を出していましたので、
今回は回答編ということで紹介をしてみたいと思います。
前回も少し説明しましたが、
「SECCON(SECurity CONtest)」とは、情報セキュリティをテーマに多様な競技を開催する
情報セキュリティコンテストのイベント総称です。
このイベントで出題された問題は、
100点の問題が8問、300点の問題が7問でした。
そのうち100点の問題を3問紹介していました。
問題編は「こちら」
■「このパケットを解析せよ」(ジャンル:ネットワーク)
配布されているファイル名が「seccon2014.pcapng」だったので、
とりあえずWiresharkで開きました。
パケットもいろいろ見て、
「flag.txt」が怪しいなというところまでいったのに、
そこに記載されているのがBase64の文字列だと気づかず…orz
Base64の文字列をエンコードすると、
以下の文字列が表示されるとのことです。
FLAG{F7P 15 N07 53CUR3}
個人的にわかり易かったWriteupです。
http://takahoyo.hatenablog.com/entry/2014/07/21/005803
■「decode me」(ジャンル:暗号)
ひとまず「encode.txt」をエディタで開いてみます。
------------------------------------------------------------------------
FRPPBA 2014 囹裃癇圄唹囮噪哢嘯喞囹嚼圉侑
ebg13/47 囹簷嘲囓圉錙囑嚠侑
區匱匏壟坏堋奚囑笙鰰囹奐壟倬奚囑嘴喙嘯囓囹啌簷嘴哢嚀嚴噐俟
囓嗷嗾喟噫囑佰噎啣囑囓嗾噬嚆嗷哢嚠俎
圖垪壥圉癶燿酖衙囹竏嚀囎噐唳嚀囎嘲囂噪嗷侑
咐咬咒咆弌哇匆卩匐佩匏卞區佩劼咄咀咀咨哈听吽呀吼丐
------------------------------------------------------------------------
う~ん。
decode meって言うぐらいだから、
エンコードされた文字列なんだろなという感じで、
インターネットでいろんな文字列をデコードできるサイトを見つけて、
片っ端から試してみたのですが…orz
文字化けしていない「ebg13/47」と漢字というのがヒントになっているようです。
恥ずかしながら「rot13」「nkf」共に知りませんでした。
該当の文字列を下記のように変換すると答えが表示されるみたいです。
------------------------------------------------------------------------
$ nkf -r encoded.txt
SECCON 2014 に参加のみなさまこんにちは。
rot13/47 に気付くとは流石です。
nkfコマンドで簡単にデコードできることにも気付きましたか?
というわけで、おめでとうございます!
フラグは半角英数文字に変換してから入力してください。
FLAG{Have fun SECCON2014}
------------------------------------------------------------------------
個人的にわかり易かったWriteupです。
http://diary.carme-ln.net/2014/07/22/writeup-seccon-2014-online/
■「重ねてみよう」(ジャンル:プログラミング)
こちらは唯一解けた問題でした。
模範解答はこちらです。
https://gist.github.com/st98/eed1e9e29c4d90701569
う~ん。
これはジャンルがプログラミングではありましたが、
gifのデータを重ね合わせると何か分かるのでは無いかと推測。
ネット上で探してきた「Giam」というツールでドットを重ねて表示すると
QRコードであることが判明。
自分が使っているQRコードリーダでは認識しなかったため、
これまたネット上で探してきた「GIMP」というツールで白と黒を反転。
見事下記の文字列を取得しました。
FLAG{Many dot makes a QR code}
解ければいいんです。
プログラミングで解けたらスマートなんでしょうが。
今回100点の問題を3問ほど紹介してみましたが、
その他にも面白い、難しい問題がありますので、
ネット上でSECCONのWriteupがまとめられているサイト等が有りますので、
覗いて見て下さい。
子供が泣き出しましたので、
それではまた(`・ω・´)ゞ