表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
Hack The World  作者: Hide
第一章 Try Hack Me

この作品ページにはなろうチアーズプログラム参加に伴う広告が設置されています。詳細はこちら

1/6

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年後、2030年6月10日。


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


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


 ――ただ一つ。


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

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

↑ページトップへ