Hack The World   作:Hide.

1 / 11
 皆は、自分たちがいま生きているこの世界が、実は仮想の現実であると考えたことはあるだろうか。

 すべての生物は構築されたプログラム
 瞬きも、呼吸も、生も、死も――

 すべて、この世界の管理者があらかじめ決めたルートをただなぞっているだけだとしたら。

 その()()()を書き換える存在が、現れたとしたら。


第一章 Try Hack Me
ep.1 Initial Access


############################################

#

# msf6 exploit(multi/handler) > run

#

# [*] Started reverse TCP handler

# on 192.168.0.12:4444

# [*] Waiting for incoming connection...

#

# [+] Meterpreter session 1 opened

#

# meterpreter >

#

############################################

 

「よし、あとはflag(フラグ)を見つけるだけだ」

 

############################################

#

# meterpreter > getuid

# Server username: WIN-USER\admin

#

# meterpreter > sysinfo

# Computer : WIN-USER

# OS : Windows 10 (10.0 Build 19045)

# Architecture : x64

#

# meterpreter > shell

# Process 1234 created.

# Channel 1 created.

#

# C:\Users\admin> cd Desktop

#

# C:\Users\admin\Desktop> dir

# Volume in drive C has no label.

# Directory of C:\Users\admin\Desktop

#

# 01/01/1999 0:00 AM <DIR> .

# 01/01/1999 0:00 AM <DIR> ..

# 01/01/1999 0:00 AM 64 flag.txt

#

# C:\Users\admin\Desktop> type flag.txt

# FLAG{reality_is_overwritten}

#

############################################

 

「ふぅ、今日のタスク終了っと」

 

 オレは椅子に背をもたれ、ぐっと腕を伸ばした。固まっていた肩が小さく音を立ててほどける。長く座りすぎたせいか、背中にじんわりとした疲れが残っていた。

 

 気づけば、窓の外はすっかり明るくなっていた。カーテンの隙間から差し込む淡い光が、部屋の空気をゆっくりと温めている。いつの間にか夜は終わっていて、鳥の鳴き声がかすかに聞こえた。

 

「少し眠るか」

 

 そう呟き、オレは椅子に背を倒し、深い眠りへと落ちた。

 

 

 オレ、黒瀬(クロセ)(トオル)は世間一般とはかけ離れた生活を送っている。職業はバグバウンティハンター。企業のサービスに潜むバグ(脆弱性)を見つけ出し、報酬を得る仕事だ。

 

 狙うのは、大手企業のみ。数十万――ときには数百万円以上の報酬が期待できる案件だけを追う。それが、オレのモットーだ。

 

 ハッキングの才能を自覚したのは、今から16年前――5歳のときだった。子どもがゲームを長時間やりすぎないよう、1時間で強制的にシャットダウンする機能。その仕組みに違和感を覚えたのが始まりだ。

 

 電源を入れてから、きっかり1時間後に落ちる。どのゲームでも、どんな場面でも例外がない。その機械的すぎる規則性が、幼いオレにはどうにも気になった。

 

 ある日、設定画面をいじっていると、通常は表示されないはずのメニューが一瞬だけ開いた。

 

 ほんの一瞬だったが、オレはその表示を見逃さなかった。

 

 ――今のは、どこから出た?

 

 直前の操作を頭の中で巻き戻す。指の動きをなぞるように、同じ順番でボタンを押していく。

 

 すると――

 

《診断メニュー(Service Menu)》

 

 本来は修理業者が使うものらしく、画面の隅に小さく『内部用』と書かれていた。

 

 意味は分からなかったが、普段の設定とは違う項目が並んでいるのが面白くて、オレは夢中でボタンを押し続けた。

 

 その中に、ひとつだけ気になる項目があった。

 

《使用時間制限:有効》

 

 なんとなく押してみる。

 

《無効》に変わった。

 

 その瞬間、すべてが繋がった。

 

 本来なら落ちるはずの時間を過ぎても、画面は何事もなかったかのように動き続けていた。

 

 5歳のオレは、そのとき初めて知った。

 

 仕組みには必ず()()()がある。

 

 そして、それを見つけるのが自分の得意分野だということを。

 

 

 この脆弱性をゲーム会社に報告したところ、数日後には正式に受理され、50ドルの報奨金が支払われた。さらに後日、謝礼としてゲームソフト4本と、開発チーム主催の限定パーティーへの招待状が届いた。

 

 パーティー会場で席に着くと、ざわめきの中から一人の男がまっすぐにオレへ近づいてきた。軽く笑みを浮かべ、そのまま声をかけてくる。

 

「君が、あの報告をしたハッカーか」

 

 その男は、インターネットセキュリティーに携わる専門家だった。

 

「はい」

 

「いやぁ......驚いたよ。たった5歳でシステムの抜け道を発見するなんてね」

 

「どうも」

 

 男は楽しそうに目を細めた。

 

「突然だがC()T()F()を知っているかい?」

 

「しーてぃー......えふ?」

 

Capture(キャプチャー) The() Flag(フラッグ)の略さ。簡単に言うと、脆弱性を見つけてflagを取得する競技だ。君の才能を試させてほしい」

 

 そう言うと、男はおもむろに鞄からノートパソコンを取り出し、こちらに画面を向けてくる。

 

「これは『Try Hack World』――世界最大のセキュリティ演習プラットフォームだ。通称、T()H()W()。今から君には、三つのマシンからflagを取得してもらう」

 

 一拍置いて、男は続けた。

 

「ターミナルの操作や取得に手間取るようなら、この本を参考にするといい」

 

 そう言って、男は分厚い本を机の上に置いた。

 表紙には、専門書特有の無機質なタイトルが刻まれている。

 

「......それ、やらないとダメですか」

 

 オレは少しだけ面倒そうに視線を落とした。

 

「もちろん。君の才能を確認するためのテストだからね」

 

 男は変わらない調子で答える。

 

「わかりましたよ」

 

 気のない返事をして、オレは分厚いマニュアルに目を落とした。ページをめくるというより、流し見るように視線を滑らせていく。数十秒もしないうちに、オレは本を閉じた。

 

「な......!? そんな読み方で理解できるのか!?」

 

 男が驚いたように目を見開く。

 

「まぁ......必要なところは、だいたい」

 

 オレはさっそくCTFに取り掛かる。

 

 一つ目は、考えるまでもなかった。

 

 画面を数秒眺めただけで構造は見え、気づけばflagに辿り着いていた。

 

 二つ目は、ツールを使うタイプの問題だった。

 

 ローカルのプロキシを立ち上げ、通信を軽く覗く。

 

 いくつかリクエストをいじると、すぐに挙動が変わった。

 

 五分もかからず、突破。

 

 そして三つ目。

 

 画面を開いた瞬間、これまでとは明らかに()が違うと分かった。

 

 オレは姿勢を少しだけ起こし、画面に視線を固定する。

 

 最初の数分は、何もせずに挙動を観察した。

 

 通信の流れ、レスポンスのズレ、わずかな違和感。

 

 断片的だったそれらが、徐々に一つの形にまとまっていく。

 

競合状態(レースコンディション)か」

 

 小さく呟き、オレは初めてキーボードに触れた。

 

 いくつかの入力を試す。反応が変わる。さらに組み替える。

 

 今度は明確に()()()感触があった。

 

 そのまま一気に内部へ潜り込む。あとは早かった。

 

 権限を確認し、その状態で使える穴を一つ見つける。

 

 数行のコマンドで、表示が切り替わる。

 

 ――root

 

 時計を見る。

 

 開始から、まだ1時間も経っていなかった。

 

「終わりましたけど」

 

 顔を上げると、男は無言でこちらを見ていた。

 

 しばらくの沈黙。

 

 やがて男は、ゆっくりと口を開く。

 

「一つ目の平均所要時間は30分。二つ目が2時間。そして三つ目は――通常、半日以上かかる」

 

 次の瞬間

 

 「バンッ!」と、机を叩く音が響いた。

 

「あり得ない......!」

 

 男はそのままこちらを見据える。

 

「君はとんでもない逸材だ。ぜひ、僕のセキュリティチームに加わってほしい」

 

 差し出された手。

 

 オレはそれを一瞥して、肩をすくめた。

 

「まだ5歳なんで、遠慮しておきます」

 

 男は差し出していた手をゆっくりと下ろした。

 

「......そうか。このノートパソコンと本は君に贈呈する。THWには、今解いた三つのほかにも数百のCTFが用意されている。暇なときにでも触ってみるといい」

 

「ありがとうございます」

 

 オレはノートパソコンと本を受け取った。

 

 それが、オレとCTF――そしてTHWとの出会いだった。

 

 

 あれから16年後、2045年6月10日。

 

 5歳の頃から、毎日更新され続けるTHWのCTFを解くことが日課になっていたオレは気づけば、ユーザー数千万人を超えるそのランキングで、第2位にまで上り詰めていた。

 

 ハンドルネームは『clear(クリア)』。透という名から、意味だけを抜き取った。

 

 ――ただ一つ。

 

 未だに、1位の『albedo(アルベド)』には届かない。

  1. 目次
  2. 小説情報
  3. 縦書き
  4. しおりを挟む
  5. お気に入り登録
  6. 評価
  7. 感想
  8. ここすき
  9. 誤字
  10. 閲覧設定

▲ページの一番上に飛ぶ
X(Twitter)で読了報告
感想を書く ※感想一覧
内容
0文字 10~5000文字
感想を書き込む前に 感想を投稿する際のガイドライン に違反していないか確認して下さい。
※展開予想はネタ潰しになるだけですので、感想欄ではご遠慮ください。