この世であなたの愛を~♪手に~入れるも~の~♪

タイトルを見て『謎』だと気づいた人。
そうです。今回は謎解きの話です笑

またまたすっかりご無沙汰のブログになってしまった。

仕事やらプライベートやら、なんやかんやいろいろありまして。
気づけば梅雨も終わり、外に出れば「暑っ!!」しか言葉が出てこない夏まっさかりになってました。

時間経つの早すぎん?笑

そんな中、ちょっと人に勧められてCTFというものをやり始めました。

CTFっていうのは「Capture The Flag」の略で、簡単にいうとサイバーセキュリティ系の謎解きゲームみたいなもの。
問題の中に隠されている「Flag」と呼ばれる文字列を見つけ出せばクリア。

最初に聞いた時は、
「ハッキングするやつ……?」
くらいの認識だったんだけど、実際にやってみるとこれが結構面白い。

感覚としてはかなり脱出ゲームの謎解きに近い。

「この謎の文字列はなんだ?」
「ここに何か隠れてる?」
「この数字、もしかして意味がある?」

みたいに、ヒントを拾いながら答えを探していく。

ただし、相手は鍵のかかった箱じゃなくてコンピュータです笑

で、やっていて面白いのが、単純に問題を解くだけじゃなく、
「そもそもコンピュータって、どうやって文字を理解してるんだ?」

みたいなところまで少しずつ見えてくること。

普段ボクらは当たり前のように文字を打って、画面に表示された文章を読んでるけど、コンピュータからしたら結局全部数字。

文字コードだったり、2進数だったり。

記念すべき1問目はBase64からの変換。

今まで聞いたことがないBase64。
なにそれ?と思いつつ調べてみたら、メール添付なんかでも普通に使われているらしい。知らんところでめちゃくちゃ働いてるやん。

その文字配列が実際の問題の中で登場するので、これがなかなか楽しい。
とはいえ。
最初は本当に何をしたらいいのか全然わからなかった。
画面に謎の文字列がバーンと出てきても、

「…………で?」

である。

仕方がないので、こういう時こそ文明の利器。
AI先生に、
「CTFってどうやって取り組めばいい?」
と聞いてみた。

するとAI先生、

「Base64 → Caesar → XOR → ハッシュ → RSAあたりがCTF暗号の入門になってくる……」
みたいな説明をしてくれる。

なるほど。

なるほどなるほど。

全然わからんぞ!!!!!!


いやその入門をどうやってくぐるんよ!!笑

途中から、

「その言葉の意味から教えて」
「今のところ、もう一段階かみ砕いて」
「なんでそこでその変換になるの?」
「そこ!!そこがわからん!!」

と細かく聞いていって、ようやく少しずつ理解できるようになってきた。
専門用語をひとつ説明してもらったら、その説明の中から新しい専門用語が二つ生えてくる。

専門用語、増殖するな。

そんな気分である。
そして、Base64には文字と数字の対応表があるらしい。

なるほど。

じゃあまず対応表を見て数字に直して、その数字を2進数にして、8ビットずつ区切って、最後にASCIIコードで文字に戻せばいいのか。

ということで、普通に手作業でやり始めた。

対応表を見る。

数字にする。

2進数にする。

並べる。

8桁ずつ区切る。

ASCII表を見る。

文字に戻す。

……。

……。

……。

数文字やったところで思った。

これ、みんな毎回手でやってんの????
いやいやいや。
いくらなんでもめんどくさすぎる。
CTF参加者、全員こうやって表とにらめっこしてるんか?

と思ってAIに聞いてみたら、

「普通はツール使うよ」

とのこと。
先に言って。

CyberChefという、暗号化やエンコードなんかをいろいろ変換できる便利なツールがあるらしい。

世の中、ちゃんと文明は進んでいました。
ボクだけ石器時代だった。

そして次に出てきたのがROT13。

アルファベットを13文字ずらす暗号らしい。
出題者のヒントにも、

「13文字シフトさせろ」

みたいなことが書いてあった。
(ヒントはあれば速攻見る人間です笑)

なるほど。

Eから13個数えてR。

Bから13個数えてO。

Gから……。

……。

……。

……。

また手でやり始めた。
長い文字列を見ながら一文字ずつ、
「えーっと、これは13個先だから……」
と数えるボク。

そして途中で、ふと思う。

いや、これも絶対ツールあるやろ。

CyberChefに変換ツール、ありました。
危ない。
また石板に文字を刻み始めるところだった。

ただ、不思議なもので、一度手でやってみたおかげで、

「Base64ってこういう仕組みで文字に戻してるんだな」

とか、

「ROT13って本当にただ13文字ずらしてるだけなんだな」

というのは、結構しっかり理解できた。
あと2進数の計算の復習にもなった笑

ツールに文字列を放り込んで一瞬で答えを出すだけだったら
「なんか変換したら答え出た!」
で終わってた気もする。

効率は最悪だったけど、理解するという意味では案外無駄でもなかったのかもしれない。

……まあ、二度目からは普通にツール使うけど笑

謎解きをしながらコンピュータの仕組みも知れる。
知らなかった技術や考え方にも触れられる。

そして時々、便利なツールの存在を知らずに手作業で突っ走る。

まあ、それらも含めて、CTF、しばらく楽しめそうです笑

番外編
写真はちょうど一年前にとった万博のコナン君たちです笑
(関西パビリオンの鳥取ブース)
もう1年たったんだなぁ…。

コメント