SECCON CTF」タグアーカイブ

SECCON 2019 Final Write-up (Mimura)

みむらです。
先日 SECCON CTF が行われ、司会業しながら問題もひとつ出題させて頂きました。

当日朝来たら「問題名は mimura ね!」となっていました。

みなさんがもしかしたら持たれていたかもしれない、
「なんだよ、自己主張強すぎだろ・・」みたいな認識は誤りです。。(苦笑)

当人も年末に心臓にリアップ(育毛剤)を掛けられた感じで、
それはそれはよい毛が生えた気がします。冗談はこの辺にして。。


Hi, This is Mimura is author of “Mimura” challenge had provided on SECCON 2019 final.

I would have named to my challenge if I knew it will called as my name.
but in fact, I got a strong heart in exchange for the result.

okay, enough with jokes. I’ll start explaing how to solve it:


問題のストーリー / Overview:

パスワードロックされている USB ドングルが渡されるので
上手くパスワードロックを解除して中からフラグ文字列を探すことが目的です。

そのための手としては下記のようなものが考えられます。 (解くために必要な訳ではないです):
・USB ケーブルを接続する
・デバッガに接続する。
・ファームウェアを取り出して解析する。
・改造して書き戻す
・半田ごてで回路を変更する etc…


We provide a usb-key which seems protected by password.
you should find a password and find a flag on this device.

You can.. ( of course, you don’t have to do everything.) :
・Connect to Debugger (Hardware Emulator)
・Connect to PC
・Dumping and Analyse a firmware.
・Rewrite a modified firmware.
・Modify the circuit with soldering iron etc..


どうしてこういう問題を作ろうと思ったか。 / What influenced:

ハードウェアに関する問題を作ろうと思っていて、
ハードウェアロック付きの USB メモリを問題にしたら面白そうと思ったのがきっかけです。

また最近は業務でもハードウェア機器を触ったり色々としていますので
自分の中で作問を通してちょっと無理(学習)をしてみようという気持ちで
マスストレージに挑戦してみようと思いました。


I was influenced by Security USB-Key.

My main job is security researcher and developer, and I have recently been investigating of hardware device.
So, I thought to try to make mass storage device without an OS and growth up my skills.


ステップ1:ハードウェアを繋ごう
Step1 : Let’s connect the device to your machine.

ハードウェアを繋ぐと上記のような2つのデバイスが認識されます。
You will find these devices on your machine when connect the device.


また、マスストレージの方は、それっぽいファイルが保存されているのですが、
“<THIS SECTOR AREA IS PROTECTED BY HARDWARE PROTECTION>” と表示されていて、
内容が読めません。

You can find deleted file that seems would contain a flag data, but it seems protected.


COMのほうはというと、繋ぐとパスワードを要求され、
3回失敗すると、パスワードの受付を一切してくれなくなります。

Let’s check the com port. It looks like we need to input correct password via COM port.
And if you input wrong password three times, the device going to freeze.


ステップ2:デバッガを繋ごう
Step2 : Let’s connect emulator (debugger) to device.

USBポートの真逆の位置に、SWD ポート(デバッガを接続するためのポート)が生えています。
ここに問題と一緒に配布していたケーブルを接続し、デバッガ (STLink) と接続します。

You can find a SWD port that uses for hardware debugging on the other side of USB port.
You need insert a cable which we provided at beginning of the game and connect to the emulator (STLink).


ただそのままでは接続できません。

世の中に売られているハードウェアにおいても、
こういうデバッグポートは何らかの手によって接続できないように作られています。

今回の問題では、本体のプログラムコードの冒頭で SWD ポートを無効にするように
コードを入れておきました。

But… you may can’t connect the device via emulator if just connect.
Most devices disable the debug port (such as SWD, JTAG ICE and so on..) to protect “Intellectual Property” or prevent from illegal use.

Also on this device, I insert a code to disable the SWD port at the beginning of the main program code.


Description of Boot Mode selection (from ST.com, en.CD00164185.pdf)

今回のボードですと、上にジャンパスイッチがありました。

ここをの上のピン (BOOT0) を “0” 以外にすることで、メインファーム(今回の問題のプログラム)以外でシステムが立ち上がるようになるため、
プログラムによって SWD の無効化が行われず、接続可能となりました。

その他の方法としては、上の “RST” と書かれたボタン(リセットボタン)を押し続け
プログラム自体が起動しない状態にして接続するという方法もあります。


You can control the boot mode by Jumper switch.
If you change the BOOT0 pins ( upper pin ) to 1 (such like the photo), you can connect SWD port because the hardware will not run the challenge binary.

In other way, you can connect it with push and hold the RST button until connect the emulator successfully.


Description of Boot Mode selection (from ST.com, en.CD00225773.pdf)
Description of Boot Mode selection (from ST.com, en.CD00225773.pdf)

接続が無事に完了すれば、メモリをダンプするツールを用いて
フラッシュの内容を抜き出します。

アドレスについては、同じようにチップの仕様書を見ると
“Flash memory” は 0x08000000 から 0x080FFFFF にアドレスが設定されていますので、
この範囲を見ながらダンプを行います。

今回の問題では 64K のメモリが積まれていましたので、
Sector 0 から Sector 3 (0x0800FFFF) までがアクセス可能になっているかと思います。

上記の例では STM32 ST-Link Utility を使用しましたが、
その他に使い慣れたプログラマやデバッガをお持ちであればそれを利用したりして
抽出すれば良いと思います。

例えばSTM32 を J-Link 化したあと OpenOCD で接続して、
mdw コマンドで “mdw 0x8000000” として取り出したり
dump_image コマンドで “dump_image dump.bin 0x8000000 0xFFFF” みたいな感じで
抽出するという方法などもあります。


After connection, you can rip the firmware from hardware with writer tool.

According to the peripheral data sheat, You can find that the main firmware saved on a memory of 0x08000000 (Sector 0) to 0x0800FFFF (Sector 3) area.

I used STM32 ST-Link Utility to rip the challenge program binary on this time.
It’s also possible to rip with OpenOCD or similar tools.

if you try to rip with OpenOCD, you can use “mdw” command (i.g. “mdw 0x8000000” ) or “dump_image” command (i.g. “dump_image dump.bin 0x8000000 0xFFFF”)


ステップ3:ファームウェアを解析しよう
Step 3 : Let’s analyse the firmware!

普段は IDA 使いなのですが、
無料の範囲でバッチリできることを確認するために、 Ghidra でやってみます。

パスワードを入力したあとに “Checking…” と出ますので
その文字列の処理を頼りに探してみると 0x80001a8 付近にパスワードの確認処理が見つかります。

ここの処理を見ると下記のルールが現れます:
・1文字目は “O”
・3文字目、7文字目、11文字目は “e”
・9文字目は “a”
・10文字目は “m”

つまり、不明な部分を適当な文字で埋めると “O_e___e_ame!” となります。


Let’s analyse the firmware with Ghidra!

Looking back at the communication via serial port, the string that “checking ..” was appeared after send a password.
At address 0x80001a8, you can find the code.

According the code, you’ll find these rules:
* 1st character is “O”
* 3rd, 7th and 11th character is “e”
* 9th character is “a”
* 10th character is “m”

Therefore, the password will “O_e___e_ame!”. ( I filled unknown character with “_”)


やった!解けました!
Hooray! you did it!!


実は… / It’s hard to say this, but…

・・・ですよね。。すみません。
これなのですが、書き込むリビジョンを間違えてしまいまして、
特定位置の文字列チェックが欠損した版になっていました。
ミスの状態のまま出題を行ってしまい申し訳ありませんんでした。。。

…yes, I know why you’re being wired. It’s a my fail. I’m so sorry.
I had made a mistake that I wrote an another version firmware.
Thus, you would not have found a 2nd, 4th, 5th, 6th and 8th character.

ここで回答を期待していたキーワードは “開け!ゴマ!” です。
アリババと40人の盗賊で登場する話ですが、日本だと「アラジン」とかそういう話でも出てくるので世界一般以上に日本で有名なキーワードなんじゃないかと思います。知りませんけど。。

My expected password is “Open Sesame!”.
This is one of the most famous words from “Alibaba and the Forty Thieves”, I think.


ステップ4:ファイルを取り出そう
Step 4 : Let’s extract the file.

アンロックしてから読み直すと、フラグファイルが見えるようになります。
あとはこれを展開すると、フラグが出てきます。

SECCON{YOU_CAN_ANALYSE_HARDWARE_DEVICE}

After unlocked, let’s try to find a flag file on the storage with Forensics tool.
You can get a flag after by extracting it.

SECCON{YOU_CAN_ANALYSE_HARDWARE_DEVICE}


FAQ / よくある質問

Question:
 試してみたいのですが、評価ボードはもらえますか?
 Can you give me the challenge board?

Answer:
 ごめんなさい。。でももしお会いできる機会があれば、事前にお持ちすることは可能です。
 Sorry. I can’t. but I can show you the board. please feel free to contact me.

Question:
 どうしてパスワードを解除したあとにファイルが表示されないのですか?
 Why didn’t show the file after unlocked?

Answer:
 Windows でテストをした際に、エクスプローラや通常の方法で読み出しに失敗することが何度か確認できており、当該のエラーの解決が間に合わなかったのが理由です。。すみません。。
 I’m sorry again. I found a issue that windows system can’t read FAT12 data correctly, and I couldn’t find a solution before the CTF.


最後に / Summary and digression:

次出すことがあれば、もっとちゃんと自分が納得できる問題を提供したいなと思っており
今回の自分の問題は、ソフトウェアディベロッパとして、ユーザにソフトウェアを提供することのある人間としては、クオリティが低すぎたんじゃないかと自分でも猛省しています。

とはいえ、別件のこともありますし、Twitter で軽く触れたことは自分の意見には間違いないので
機会があれば十分な期間を取った上で、問題のクオリティや出し方(何をすれば良いのかを明瞭にする、問題タイトルをまともなモノにする)を自分の納得できるレベルにして出題してみたいですね。

問題を通してハードウェアに対してちょっとでも興味を向けてもらえる人が増えたなら
(ハードウェアから信頼を築いていく面白さとか、純粋に現実世界と仮想空間が繋がるのたのしい!とか思ってもらえたなら)今回出題して良かったなーと思います。

・・・司会業を当日していながら、色々と申し訳ない気持ちとかがあったのですが、
そういうのはチラ裏で。


I think I could have improved the quality of the challenge If I had more time.
Thus, I need to apologize to the CTF Player.

But fortunately, some CTF players told me the challenge was interesting.
It made me very happy.

so I think I want to create the “CTF challenge” ( the meaning that it meets the criteria for a general CTF challenge) in the hardware genre if next seccon ctf is to be held.


ところで、今回の問題はシンガポールで作っていたのですが、
あの「マリーナベイサンズ銀行」の預金ってどうやったら下ろせるんですかね。

by the way, could you tell me how to withdraw the money at “Marina Bay Sands Bank” if you know.
I think it’s the same way to get points in CTF, but it was very difficult for me….
especially slots….

ではでは! Bye!

SECCON CTF 第一回 全国大会に参加してきました。

WP_000101

どうもみむらです。

先日、自分の通っている東京電機大学にて SECCON CTF 全国大会が開かれ、
そこに wasamusume として参加してきました。

九工大, 筑波大, NAIST, IISEC と予選が計4回実施されたわけですが、
そのうち、IISEC (横浜) での大会において優勝し、今回全国大会に参加してきたという感じです。

参考資料:

パケット解析にクルシミマス? SECCON横浜大会開催 – @IT
http://www.atmarkit.co.jp/ait/articles/1212/26/news026.html

SECCON CTF 横浜大会に行ってきました – みむらの手記手帳

 

結果は2位。

本当に僅差で、かなり悔しいけれど、
一方でここまでよく行ったなと、今結果を見て思いますね。

http://www.seccon.jp/2013/02/blog-post_26.html

image

内訳:

image

うむむ。。

 


大会ルール:

このへん参照。
http://www.phdays.com/ctf/king/

“King of The Hill” というらしい。

今回の大会の感じから簡単に書くと、

最初はウェブアプリなり何なり、そのサーバ上で動いているやつの脆弱性を突いてフラグを取る。
(この辺は、予選の時と同じような感じ。

その後、自分のチームのフラグワード(15分ほどで書き換わる)をサーバの指定された所に書き込んで、
あとは更新されたら更新して、相手のチームがフラグをとれないように、書き込めないようにいろいろと細工する。

上のランキングでは、
「サブミット」となっているのが脆弱性を突いてフラグを取って、得点サーバに送信して得られたポイントで、
「フラッグ」となっているのが、サーバに自分のフラグワードを書き込み続けた時間に対してのポイント
になっています。

フラッグについては更新される毎に書き込めているかを得点サーバからチェックされ、
書き込めていると判断されたチームに対して、解けているチーム数に応じた得点がその都度付与されます。

 

・・・だいたいこういう感じの攻防戦でした。


チーム構成:

かーみーさん, あたがわさん, Dec さん, ゆったんたん, Cookie-s (こおしいず) さん。 あと私。

横浜の際のメンバ構成をそのまま変えずに参加しました。

 

チーム名は wasamusume

こういうことを言われたりするのですが、
その辺に関しては、 “ SECCON CTF 福岡大会に参加してきた “ あたりの記事を見てください。

わかる人にはわかるとおもいます。。

 

あと、チームリーダーだったんですが、
主に仕事したのは雑用と、メディア対応と、幼女対応(重要, 大事)
だったよーな。。

あめ玉を頂いて、そしてスカイツリーがすごいということを伺いました。
大会中ってみんなピリピリしてるんですが、あの方のおかげで和みました。


Writeup:

すでにチームのメンバがいくつか書いていますので、
そちらを先にご覧ください。

第一回 SECCON CTF 全国大会に参加してきました! – falcon071011.log

SECCON CTF全国大会へ行って来ました – writeup  – cookies.txt .scr

SECCON 全国大会参加 – あたがわの日記

今回はチーム全員が協力して問題に取り組むという形であり、
この問題は誰、というような解き方をしていません。

従いまして、断片的になりますことご了承ください。

 

Mercury:

Stage1:

JPN, Eng というプルダウンメニューがあり、選択すると文字が出る。

ディレクトリトラバーサルの脆弱性突くもの。
NULL 文字を表すのに “%0” ではなく、 “%00” と表記すべきというところに気づくのに遅れたのが、まず反省点。

hoge と入力すると、 hoge.txt を見に行くことと、 stage2 というディレクトリを見つける。

ゆったん, こおしいずさんの2人が
“ stage2/.htpasswd%00 “ をやってパスワード情報の書かれたファイルを取り出し、
John The Ripper において平文情報に戻す。

後はその情報を元にアクセス。

 

Stage2:

SQL クエリを投げた結果が一覧で表示される。ただし、パスワード部分は “ * “ に置換されている。

SQL Injection を突くもの。
同一のレコードにパスワードが平文で記述されているため、
UNION でくっつけて 平文表示されている領域に表示させるようにすれば出てくる。

この辺も高校生コンビが UNION して結果を見せてくれた。

パスワードに /stage3xyz/ とあり、そこにアクセス。

 

Stage3:

画像をアップロードするアップローダー。

index.php と *.jpg (だったかな)が許可されていることがエラーからわかる。
適当に、 exec 関数を呼ぶ php ファイルをアップロードするとちゃんと動く。

find コマンドを実行させてディレクトリ構造を調べると、
/home/stage4 というディレクトリがあることに気づく。

同時に、 /var/www/html/  に FLAG というファイルがあることもわかる。

 

しばらく悩んだ後、
私「かーみーさん、 /home/stage4/.ssh/ にアクセス用の鍵書き込め無いかね?w」

ってことで、かーみーさんの Linux 環境でキーを作成、 PHP で echo 使って書き込む。

=> \書けた/ => \アクセスでけた!!/ => \なんかキー出た!/ => ウォッシャアアア

ということでそれを送信して得点。

 

Stage4:

SSH でつないでもすぐに切られてしまうため、どうしようという状態に。

私「SCP だったらつながるんでね?」
かーみー「えっ・・?」

ということで、 WinSCP つかって SCP モードで接続。  => \一覧出てきた/

/etc/sudoers を見ると、 stage4 から stage5 に /bin/vi をシェルとして上がれるよ! とあったので、
そこから vim を使っていかにしてフラグを書き込むかに悩み。

(注: /bin/vi とありますが、中身は vim 7.x でした。

 

私はそれまで知らなかったんですが、 引数でもいろいろとできるんですね。 vim すげー。

 

vim で素直に追記しようとすると、「swap ファイルが残ってるけれどどうすんの!」と聞かれて、
それどころじゃないよ! とやっている間に SSH が切られてしまう。

いろいろとやって、

# sudo -u stage5 /bin/vi "+:! echo FLAG >> /var/www/html/FLAG"

これで書き込めることがわかる。

ということで、緑の wasamusume さんフラッグポイント獲得 (voice: 児玉清 or 博多華丸

 

 

Neptune:

(02/28 修正: Uranus ではなく Neptune でした。

あたがわさんから “.backdoor” という名前の x86 バイナリを頂く。IDA に投げ込む。

“2つの引数取るよ!”  “一つ目は ‘IamTOM’ だよ!!” と

アセンブラコードさんが、私に超絶アピールしていたので、その旨をあたがわさんに伝える。

 

 

なんかこんなこと言われましたが、違うんですよ! アセンブラコードが(ry

 

・・・・変なこと書くと、ますます怪しい人認定もらうので黙っておきます。

挙動としては、 引数を2つ取るかどうかを判定し、

取るなら1つめが “IamTOM” かどうかを判定する。

この2つが正しければ、2つめの引数を system 関数へ渡すという流れになっていました。

参考資料: http://linuxjm.sourceforge.jp/html/LDP_man-pages/man3/system.3.html

 

flag 書くには特定のユーザ権限が必要なのですが、 この .backdoor というファイルを持っているユーザが、

flag を持っているユーザと同じで、

このプログラムで命令を実行すると、ファイルを持っているユーザ権限で動くため、

flag ファイルを書き込める、と。 そんな感じ。

 

あとは、あたがわさんがサーバ監視して、他のチームがやってくるのをニヤニヤ。

それこそ、城に侵入して天守閣まで上り、敵が攻め入れずにがんばっているのをニヤニヤ眺めているような。

 

 

Jupitor:

Windows XP 上に置かれた anhttpd と、その他のプログラムを組み合わせる問題。

私が一番力を入れてやっていた問題ですが、解けませんでした。。

MS08-067 の脆弱性が残った XP だったようで、そいつで侵入できたらしいです。

加えて、大会中に RDP 接続を行ってごにょごにょされたり、 shutdown コマンドが実行されたりして、

最終的にシャットダウン状態になって終了まで復活しませんでした。 しょぼん。。

自宅に戻ってから、 Armitage を使ってごにょごにょ。

この辺も、チーム mofupp さんがやった形跡が見られたんかなー。んー。

 

Mars:

2日目の後半から参加。( Jupitor を落とされたので )

私「どんな感じ?」

Dec さん 「ここに打つと、コマンドが実行されるんだけど、結果がかえってこないんよー。」

私「 Dec さん、 メールサーバー立てたら帰ってくるかな・・?w」

ってことで、私のマシンでメールサーバー立てる。

あたがわさんに 「ネット構成どんな感じになってるんー?」 と聞いていろいろと調べてもらったところ、

NAPT の下に各島が潜ってると思いきや、そんなことまったくないということがわかる。

・・・で、私のパソコン宛にメール来ないかなーと待ってみる => メール来ませんでした。

私「んじゃ、 netcat 使えないかなw」

Dec さん 「!?」

ということで、私のマシンで netcat を listen モードで立ち上げて待機。 => 結果が帰ってくる!

うぉし、これで行くぞ-!!! とやっていたんですがタイムアップ。

 


参加してみて:

今回のチームは、大変すばらしいチームであったと思います。

ノリがよく、和気藹々として、それでいて技術力がある。

これほどすばらしいチームというのも、他にないのではないかと思います。

チームメンバが書いているブログを見てみますと、

wasamusume のリーダーやってよかったなと思うわけです。

 

今回の全国大会で SECCON CTF は今年度分の一つの区切りということになるかと思います。

今回協力して頂いたチームメンバ以外にも、

九州大会、筑波大会で協力を頂いた方がいます。

皆さんの協力や応援があり、全国大会でこのように接戦となるような結果を収められたというのは、

チーム wasamusume としていい結果だったのではないかと思います。

本当にありがとうございました。

勿論、多くの反省点や1位をとれなかったという点がありますが、

これは来年度版の SECCON CTF があれば、そこでまた再挑戦できたらなと思っております。

各地で予選が開催される際は、また声を掛けるかと思いますが、

その際は、もしよろしければご協力頂けたらと思います。

 

そして、他のチームの皆様や運営に関わった皆様、

スポンサーの皆様等々をはじめとする関係者の皆様に感謝の意を申し上げます。

 


最後に:

硬い文章で終わらすってのは、どーも wasamusume っぽくないので。

私のムチャぶりに対応して頂いたチームメンバに謝罪しつつ。

そして、その場のノリで 私がくすぐって、くすぐられた方へ。

・・・こればっかりは反省してないので、またやります(ぉ

 

来年度、また SECCON があれば、このメンバをベースにまた招集を掛けたいですね。

SECCON CTF 横浜大会にいってきました

WP_000511

みむらです。 SECCON CTF 横浜大会に行ってきました。

http://www.seccon.jp/p/201212yokohama.html

昨年の12月22日に行われ、会場は実にクリスマス+リア充 の空間で満ちあふれており、
私のような者が居ていいのだろうかと思いましたが結果は上記のとおり。

 

・・にしても、この記事が12月に書き始めて、2月まで下書き状態で保存されていたとか言えない。

 

チーム名は前回のつくば大会同様 「wasamusume」としました。

前回と違う点としては、

1.チームリーダーがなぜか私になってる。
2.ておくれ要因を排除した。

というところでしょうか。ネタを前回よりも、さらに取り除きました。

 

今回のチームメンバは、
私、かーみさん、あたがわさん、Decさん、cookies さん、ゆったんさんの計6人。

今回はメンバが大変すばらしい方々が集まったことに加えて、
問題の特性がチームの特性と合っていたようにもおもえます。

また、初回参加時にはチームメンバだった「わさお」が、
知らないうちに他のチームで参戦することになっていて、我々が 「wasamusume」なんて名前でいいのかな
とか思いましたが、やっぱり結果オーライでしょう。ここは。

 

解いていて、いままでと違うなと思ったのは、
やはりスコアの遷移でしょうか。

執筆時点ではスコアに関する情報が出ていませんので難しいところですが、
過去2回の大会では「最初の出だしはいいが、後で追い抜かれて追い越せない」という感じでした。

今回はバイナリ系問題に時間がかかり(ごめんなさい)前半は Web な皆さんに助けられました。

そのような中で、過去と同じ「最初はいい、途中で抜かれる」という形ができ、
やばい!と思ったとき、バイナリ系の問題が解け、その時同時に呪縛からも抜け出せたような気がします。

 

CTF 会場としては、すでに述べてはおりますがクリスマスクリスマスしており、
非リア充を寄せ付けない、まさに 「こんなところでCTFといてるばあじゃない」 というような。

BGM にはクリスマスソング、もしくはそれに関連したクリスマス中止ソング。
あとは “うなぎのきもち” になることを強要(?)されたりと、前回2回の大会とは趣が違うBGM で、
私にとってはむしろ作業しやすい感じだったようにもおもいます。

 

記事が長くなりそうですのでいったんここで切りますね。

続きを読む

SECCON CTF つくば大会 にいってきました。

OLYMPUS DIGITAL CAMERA

http://www.seccon.jp/2012/05/ctf-1.html
なんか公式ページで「物量作戦」と紹介されていますが、そんなことないです。きっと。。

みむらです。
福岡大会に続いて、つくば大会にも参加してきました。

 

なお、前回大会については、ここを見てください。
SECCON CTF 福岡大会に参加してきた。 – みむらの手記手帳

 

チーム名は前回と同じ 「 wasamusume 」 ですが、
よりによって「ておくれ要員」を確保し忘れた(し損ねた) ため、
前回と比較しまして、ネタ性のないチームになりました。

でも、それはそれは和気藹々と、非常に仲のいいチームができあがっておりましたので、
前回同様、とても楽しかったのは間違いありません。

 

バイナリアンやWeb 屋さんや、ネットワーク屋さんや、
それはそれは、大変すばらしい皆さんの中で参加できたように思えます。

今回のチームメンバは、
私, かーみさん, ほもっきんちゃん, あたがわさん, いっくん, みっとさん の計6人。
会場には計4 人しか入れませんでしたので、
控え室に臨時で(?)島を作り、そこからと会場の二つの場所から問題を解く形を取りました。

CTFの難易度としましては、
今回は前回と比較しまして、問題の難易度がかなり高くなっており、
たとえば exe ファイルを覗いて、中の挙動を見て、答えを探すものは、
今回は無かったように思います。

一方で、ダンプファイルが渡されて解析してね、というような、より業務向けというか、
実際の現場により近いというか。。 そういう問題がありました。

 

反省としては、
毎回思うことですが、次回に向けてもっと勉強しないと、というのが一つ。
それともう一つ。ヘルプファイルやドキュメントは読もう、ということ。

 

次回に向けて思ったこととしては、
会場にあわせて機材を用意して、自分たちの環境を作って楽しくやりましょう。と。

なんていうのか、修学旅行のあれと一緒ですよね。
禁止事項をしっかり読んで、その中で問題の無い範囲でがんばる、というか。
最初の画像なんか、まさにそうなのですがw

 

まじーめな記事はこんなところw


2日間行われるということで、
今回の大会では、かーみーさんが我が家に来ました。

山奥へようこそ(ぁ

来る途中、夜中の町中を走る電車の車窓が、「まだ地下鉄の方が明るい」と言わしめて、
プチガッツポーズと、なんか悲しさを覚えました。

自宅近くのスーパー銭湯で入浴と食事。
意外と夜の露天で、星空見ながら入浴するのもいいですね・・!

にしても暑かったです。

食事処では、かーみーさんと前回参加して欠席したメンバ
(まひるんちゃん、わさお)の話をして、「いいやつだったのに。。。。」 と
二人で、かの二人を偲んで泣いておりました。

・・・うそうそ。

でも次に機会があったら福岡大会メンバとも一緒にやりたいよね!
関東メンバと一緒に混ざると、化学反応が起きるかもね!

 

CTF 中は、なぜかておくれと言われてみたり、
なぜか写真を割かし多めに撮られてみたり。
はっとりせんせーがよくこっちに来たり。

でも1日目は会場では無くて、控え室に陣取ってやっていたため、
会場のうるさいBGMは無く、ちょっかいを出しに来る人もあまりいないということで、
ある意味集中してできましたが、CTF らしさというか、そういうものに欠けました。

夜もみんなで問題を。

コンビニで燃料調達したり、焼き肉屋に突撃したり。
.pcap じゃなくて .txt だぞこれ! ということに気づいたり、
mruby さんが動くようになったり。

寝ずにがんばっていたのですが、途中で体力切れ・・。
でも夜があったから、問題がいくつか解けて、2日目にいいスタートを切れたんだと思います。

2日目は会場内で。やはり会場内の方が盛り上がりますね。

いっくんさんが Web 系問題をばしばしといていったり、
みっとさんが気合いで脆弱な暗号問題を解いて、全員で踊ったり (注:ておくれダンス)
とにかくとにかく注目を浴びたチームであり、チームとしてもいい線まで行けたように思います。

 

そして、CTF が終わって、我が家に帰ってきて、初日と同じ風呂屋に。
かーみーさんの足が、なかなかに強力。。

抓られますね! うかつに {足,手} 出せないです。

次の日の朝、金環日食を我が家からいい感じで見ました。

 

こんな感じで楽しく過ごして、SECCON CTF とそのたいろいろと、
結構楽しみました。

楽しい人たちで CTF チームを構成して、
また楽しく CTF に次回も参加したいです!

 

・・・続きを読むの先に、今回出た問題の一つの解説記事みたいなのを書いてみました。

 

続きを読む

そういえばまたしても福岡行ってた。 (2/17-22)

IMG_0855

ちょうど書こう! という気分になれたので何となく。
あー。。最近 \これおもろい/ ってなっても記事にアウトプット出来てないぞ、やばいやばい。

 

ぶるぶるマシン。ルシウスは平たい顔族の国に行って、最初にこれに目が行かなかったんだろうか。
私は真っ先に目が行きましたよ。

 

さて、と。

というわけで、2月17日~2月22日(たぶん)まで九州に行ってました。

 

SECCON CTF に参加しよう-! ってことで参加してきたんですが、
それはそれで、SECCON CTF 福岡大会に参加してきた。 を参照してもらって。

 

今回もまた、まひるんちゃんの家にお世話になりました。
毎度毎度、九州行くたびに泊めさせてもらってすいませぬ。

 

WP_000610

 

とりあえずどんな感じだったか:

 

17日:

まひるんちゃんが、携帯番号押して文字に復元する問題を、プログラムで解けるようにプログラムをあらかじめ作っておけばいいんじゃね! っていうことを思いつき、書き始めたので私も対抗。

彼は Java で、私は C で。 結構それぞれの考え方というか思考というか、
そういうのが出ていておもしろかったです。

ついでに夜更かし。

 

18日:

さっそくておくれる。10時に起きようとして、10時に起きて、寒かったから布団潜ってもぞもぞしてたら11時。
飛び起きる。

ついでに、まひるんちゃんの布団を剥いでみる。プチ怒られた。

朝ご飯適当に食べましょうーってお話で、レストランで食べてたら、
時間間に合わないんじゃねということに気づき、
急いで食す。会場の九工大 飯塚キャンパスへ急ぐ。

・・・途中、福岡の運転こえーなー&気分いいなーとか思いながら。
千葉であれやると、パトカーがいい感じで追っかけてくるのでしたくないですね。
あらゆる所から、にゅっ と出てきます。

 

夜:

温泉に行く。というか近くに温泉あったんだー。ルシウス技師出てこないかな。

わさおがサウナ好きということでその様子を見ていたんですが、
ちょっとあんまりやり過ぎると次の日に響くだろ・・・と思って私はほどほどに。

ファミレスに行って注文したんですが、私のだけ出てこなくて、
気長に待とう・・と思っていたところに店員さんが品切れを伝えに来て。

でもその店員さんが、本当に申し訳なさそうにお詫びしてくるから、
こちらもとてつもなく申し訳なくなって、「お手数をおかけしますがよろしくお願いします」と。

いあ、「無いんだよ(フンッ」 ぐらいの店員が脳内デフォルトなので、
ああいう丁寧な店員さんは久しぶり過ぎてああもう。 田舎もの丸出しですね。

夜中は問題を解いていて、某とのさまから「寝ろww」 という、
ありがたい Skype メッセージを頂いたのですが、完全無視してやっておりました。

LLVM の問題のバイトコードが、人間が読めるコードに戻せたので、
適当に読み始めて。

んでもって、「・・・もしや・・?」 ということで他の部分のコードを読みながら、
自分なりに考えてコードを書いてコンパイルしてみたら、 通る –> 実行成功 だったので、
きたぁぁぁぁぁぁ!!!! ということで、その日初めて知った言語でプログラムを書き始める。

どうやらその光景が相当怪しかったらしく、チームメンバの各記事で、

みむらさんがLLVMのバイトコードを手打ちし始めてプログラムを解析しだした。
すごく楽しそうな顔してました。

http://diary.carme-ln.net/2012/02/22/seccon-ctf-fukuoka/

深夜5時頃、三村さんがLLVMのバイトコードを書き始め異次元へ。あれは幻想。

http://blog.twiwt.org/e/8a4267

とのこと。

でもそんな私も、次の日の朝、コードを書けていたのが現実だったのか夢だったのか気になって、
周りに聞き返して現実ってことを確認する程度には、睡魔と戦っていたのでなんともなんとも。

あれですよね、C++ の神様が降りてくるのと同じ条件だったのかもしれない。

・・そういえば、ななふぉが無くて焦った。車の中に置き忘れてた。

 

19日:

よっしゃいくぜー! ということで、戦闘態勢の4人がまひるんちゃんの車に乗り込んで大学へ向かう。
でもまぁ途中雪だったのもあって、わさおがはしゃいでた。いいよねこういうの。

WP_000611

CTF 中、とのさまに 「The」を書き加えられる。 「 a 」 とかでいいじゃないですか、はずかしいです。

CTF終わった後、「チャーハンがおいしいラーメン屋」という謎の説明を受けた(一応)ラーメン屋へ行く。
何だったか食べた。おいしかったなり。

今回の帰りは後部座席に乗っていたんですが、
となりのわさおが車の遠心力に負けまくってぶんぶん動き回っていたので、手で押さえてた。

よっぽど疲れていたんだろうなぁ。。

まひるんちゃん宅にて、かーみさんと偽まひるんるんごっこして楽しんでた。
なんていうか、とっても内輪ネタな感じだったけど、それ故におもしろかった。

でも、無言の空間で Twitter へツイートする文章をただただ打ち込むキーの音だけが響く部屋ってのは、
ちょっと怖いですねww 人の音声による言葉が恋しかったです。

その後、昨日と同じ銭湯へ行く。

かーみさんが、風呂の湯の循環のための吸水口に手を伸ばし、
指のけがをしてしまう。ルシウス技師みたいにそのまま別の国に行かなくてなに(ry

結構痛そうだったのですが、絆創膏をそのときに持ち合わせて無くてごめんなさい・・

そんでもって、 LLVM の問題をその日の夜に解く。
メッセージ(正解文)が出てきた時の悔しさと言ったらなんというかですね。

 

20日:

あらかじめ、「ねねー神社巡りとかできんー?」 とお願いしてあったので、神社巡り。
(というか無茶ぶりに乗ってくれてありがとうございまする!)

博多ラーメンをなにやら不思議なカウンターで食べた。
なんていうか、個室のようなそうじゃないような。

文章書いてたら、口の中にあの味が広がってきた気がする。
博多ラーメン食べに個人旅行してこようかな (ぉ

WP_000612

宗像大社、宮地嶽神社、厳島神社を回ってきたんですが、
前回福岡に行ったときに、宮地嶽神社だけは夜中ですが行ってたんですよねー。

「またみんなと会って、何かやりたいです!」 なことをお願いしてたので、
今回それが叶ったという感じでしょうか。本当にありがたやーです。

今回もまた、同じ願い事を、それも奥宮八社に対しても行ったので、
次回もまた会う機会があるんじゃないかと思ってます。 と思ったら2日後、このメンバで京都旅行じゃん。
・・・もう少しもったいぶってくだしあ。

そういえば、厳島神社の鳥居が福岡にある理由をちょろっと調べてたんですが、
厳島神社が、宗像三女神を祀っているとのことなんですね。

・・・納得です。

WP_000613

帰り際、車の中で結構楽しい話が広がってました。
ああいう話はいいですね。実に理論的というか、ばかげているレベルに論理化するようなの。

空想科学読本を小学生~中学生の頃読みまくった私には最高でした。

ついでに、あまりに理系過ぎる、論理的な英語というのをちょっと持ち出してみたら、
出来る人はそういう授業受けたことないようで。

あれー、私なんて中学、大学(1年)とこういう英語だったじぇ とかとか。
やっぱり、自然言語を無理矢理定義に納めて、論理で論破しようとするのは不可能なんだなとw

そんなこんなで、論理で英語を攻めると、
非決定性言語を決定性言語にはめ込もうとするので、
結局、プログラミング言語のなでしこのような日本語みたいな英語になるんじゃないのとかとか。

やっぱり自然言語って、フィーリングが中核に来て、論理は外側を覆うような感じなんだなと、
あの旅行後に勉強方法変えてふと思ってます。はい。

そうそう、その日の夜、かーみさんから連絡がありまして。
CTFのとある問題の答えが「オートマトン」だったと。

何気ないところから答えを連発して、そこから議論を展開させていたってんだから、
ある意味恐ろしいというか、ておくれというか。 まぁ、ておくれなんですね。

夜にテルマエロマエというアニメを見る。やばいっと久しぶりに思った。
というわけで、後日、1~4巻を大人買いして読みました。

 

21日:

朝早く、まひるんちゃんの車にのって駅へ。
実は車窓から、まひるんちゃんの車が家に向けて走っていく姿がちょうど見えて、
なんか「ぼくのなつやすみ」のエンディングシーンをリアルで見ているみたいでとってもかっこよかった。

この日は熊本の親戚の家に行く予定があったので、博多で新幹線に飛び乗る。

九州新幹線端から端まで行ってみて-!! という気持ちがあったので、
ぼーんと鹿児島中央までの切符を買ってしまう。

WP_000615

そしてそこから、何を思ったか大荷物を持ったまま、
「指宿枕崎線」の車両に乗り込む。

がたんがたんと、それこそ文字通り揺られながら1時間半。

WP_000616

指宿駅へ。

桃太郎電鉄のプレイヤーならわかると思うんですが、
九州の一番南の駅が、あのゲームだと指宿になってるんです。

というわけで行ってみたくて行ってみたくて。

途中、西大山駅という駅の存在を知って、行こうかなと思ったのですが、
行くと帰れなくなる可能性が非常に高かったのでやめる。

でも指宿駅の駅前の足湯にはつかってきましたし、

WP_000682

西大山駅の記念入場券が売っていたので買いました。

そういえば、指宿駅には、西大山駅のノートのアーカイブがあるんですよね。
電車が来るまで時間がかなりあったので、見てました。

なんかいいですよね、ああいうの。達成感がものすごくあって!

そしてそのまま急いで、鹿児島中央駅に行って、新幹線の切符を買って、
水俣駅まで戻る。

オレンジ鉄道に乗って、がたんごとん。親戚の家まで。

オレンジと聞くと、私なんかは「オレンジカード」とか思い浮かべるんですが、
桃鉄のやり過ぎですね、ごめんなさい。

親戚が教育関係の人であったこともあって、
勉強での悩みから、気になっていることから、いろいろと聞きました。

とってもすっきり出来た気がします。

その日はそのまま就寝。

 

22日:

最終日。あまりに早く起きすぎて、どうしよう状態。

というのも、ある程度動けるように、新幹線を相当遅くしたんですが、
逆に有り余ってしまったよ、ぱたーん。

水俣市の「水光社」に行ってきました。

そういえば、ちゃんぽんって言ったら、長崎風味のパリパリ麺を想像すると思うんですが、

WP_000623

こういうのでした。地域性がでるなーと。

・・・そういえば、とある先輩が「水光社」というキーワードに反応していらっしゃいました。
実家が近くなんですかね。。

そんなこんなで、新幹線に飛び乗って博多へ。

WP_000630

博多駅の屋上で見かけたこれを見て、
今居る場所って相当すごいところなんだなーと再確認。

だって、千葉とか東京とか地図にないのに、釜山とかソウルとかは載ってるんですよ。

なんとなく、国際都市だなーという感じがしました。

その後、1時間ほど新幹線ホーム入り口のコーヒーショップでコーヒーを飲みながら、
PC立ち上げて Twitter しながら暇つぶし。

新幹線に乗り込み、帰宅の途につきました。

そうそう。日が変わってから家に着きまして。
そのとき Twitter で @greenz_greenz さんに言われて気づいたのですが、

SECCON CTF お疲れ様でした。

帰るまでが SECCON CTF だったらしいので、
私の SECCON CTF は今回の参加者の中で一番長く行われていたようです。

あらためて、お疲れ様でした。

 

まとめ:

そういえば、なんでプラットフォームとかそういう所では平然としていられるのに、
いざ新幹線に乗り込んで、そこからさっきまで居たプラットフォームを見ると、
何となく、何とも言えない、複雑な感情がわき上がってくるんでしょうかね。

こんなに遠くなのに、また来ようと思わせる要因ってなんなんでしょうね。

 

やっぱり、来るたび来るたび、新しい出来事と暖かい心を感じることが出来るからなのかもしれません。

 

何というか、
都会に疲れたらいらっしゃい、というような、そんな感じがします。

 

地元にだってとってもいいところはあるし、
住んでいる千葉県という場所にも、大学やオフィスがある東京都という場所にも、
またそれぞれの良さがあります。

でも、一回そこから離れて何か考えたいとか、そう思ったときに、
千葉から遠く離れた九州に行きたくなるんだろうなと思います。

福岡には、古くからの親友もいるし。
また、福岡や熊本、鹿児島には友人もいるし。
全く知らない土地に休みに来るよりは、こういう土地の方がいいなと。

 

けど、やっぱり私は関東が何となくあっていて、関東でわいわいやりたいと思うので、
普段はこっちにいますが。

定期的に行きたいですね。まぁ、予算と時間が許してはくれなそうですけれどね。

 

そうそう、東京と言えば。
テレビで映す東京よりも、下町に生きる東京の方が実にいいですよ。

そんなこんなで、ブラタモリをまた見てしまう。

 

東京の下町や千葉の田舎の方で私が周りの人から感じる「小粋さ」というか。

相手を大切に思ってくれるんだけど、それを全面的に表すんじゃなくて、
こう、ちょっと表してみるとか、なんっていうのかな。

江戸っ子の粋さとでも言うんですかね。私江戸っ子じゃないですけど(地理的に)

そういう、江戸日本風情みたいなものが感じられるところが好きで、
そういうものを感じさせてくれる人が好きで。

 

なんだろう、福岡ってそう考えると、東京から遙か遠く離れているけれど、
同じ「粋さ」を持っている、遠くて近い、そんな所なんじゃないかなって。

そして熊本は、千葉に広がっているような人々の暖かみというか、
そういうものがどこよりも一番強く、そして地元に近い感じがして、
本当に遠くに来ているような感じがしませんでした。

 

P.S.

私の部屋も完成に近づいていて、今度九州からみんながやってきた時は、
泊まらせることも出来るかもしれません。

ただ、東京から遠いのであれですが。

東京開催とか、もしくは何を思ったか千葉開催とかになって、今回のメンバーでまた参加することになったら、
是非とも今度は私がおもてなしする番ですね。