映画「ソーシャル・ネットワーク」
冒頭、主人公マークは振られたことを忘れるため、 ビール 片手に、最低なブログを書きながら、何かをしなきゃと考えます。そして、女性の写真を比較してランキングするサービスの作成に動き出します。(原案は女性と農場の動物を比較するものだった by.ウォルソン)
しかし、ハーバード大学には全学生名鑑などありません。マークは各寮にハッキングを開始します。
Let the hacking begin.
12:58pm カークランド寮は、Apacheの設定で全てがオープンでインデックスになっているため、wgetで簡単に取得できる。
1:03am エリオット寮は。Apachはオープンだけどインデックスがない。ブラウザで開いて画像を選んで保存する。
1:06am ローウェル寮はセキュリティ対策をしている。名前とパスワードが必要で、推測して侵入する。ページが分かれているためスクリプトを書いて自動取得する。
1:31am アダム寮は…
このシーンでセキュリティを破ったのは1つだけだけど、仲間とバカ話でもり上がり、ゲーム感覚でハッキングして行く。映画館で一度観ただけで、話はあまり覚えていないけれど、このシーン、というかヲタク感ある雰囲気はとても印象に残っていました。
実際にセキュリティを破ったり、情報を窃取することは違法になります。が、 CTF(Capture the Flag) という競技があります。これは用意されたサーバーや仮想マシンにアクセスし、情報収集・認証突破・権限昇格といった手順を辿って、最終的に「flag.txt」のようなファイルを見つけるというものになります。
この競技に一から自分で調べて参加するには、かなりハードルが高いです。そこで、その手がかりになる入門者向けのUdemy講座や書籍が、ハンズオン形式であるので紹介できればと思います。
ちなみに、映画のこのシーンでのブログが↓に共有されています。ローウェル寮のハッキングについて、映画では「そんなセキュリティはすぐ破れる」で終わっていますが、推理が行われていることが分かります。しかも、解決まで30分足らずです。
CTFを始める
僕は TryHackMe というサイバーセキュリティトレーニングのサービスを遊んでいます。TryHackMeではルームという単位でシナリオが用意されていて、それをクリアするものとなります。
GitHubのように草生えたり、クリア時にもらえるポイント数を他のユーザとランキングで争ったりとゲーム要素多めになっています。難易度も似たようなサービスの中でも易しいらしく、まさに遊んで学べるサービスだと思います。
ということで、TryHackMeを使用した入門講座を紹介するのですが、その前にまずは不安点を解消しておきたいと思います。
- お金はかかるのか?
- このサイト英語なんだけど?
- 間違えたらどっか違う場所に攻撃しちゃうんじゃないか?
- トレーニングとはいえマルウェアを解析用にDLして感染しないか?
- 海外のサービスらしいけど重くない?
このあたりが、ぱっと思いつくのではないかと思います。難易度については前述した通り、とれる選択肢の中で容易です。たとえ現在何もわからなくても、講座を通して自走できるようにはなります。
問題: 金かかるの?
A. 無料で十分遊べます
有料のルームやサービスはありますが、無料でも見切れないほどのルームがあります。紹介するUdemy講座で学べるのもほぼ無料のものです。最初無料で初めて物足りなくなったら有料に切り替えるでいいと思います。
問題: 英語をどうするか?
A. 翻訳ツールをうまく使えばいい
英語ができるに越したことはありませんが、それでゲームをできないのもよくありません。安心してください。Google翻訳、DeepLがあります。まずは全部投げ込んでしましましょう。
一部コピペなどできないことがありますが、カメラ入力で乗り切れます。たしか、時間制限のある問題もあります。これは諦めます。
まずは楽しむことを優先に翻訳ツールでいいと思います。しかし、やればわかりますが、ターミナル、攻撃ツール、情報サイト、ログも全て英語です。余裕ができたら英語を覚えていきましょう。
僕自身、現在は英語の勉強中です。 TryHackMeには教科書的なルームも多く存在しており専門用語やツールの使い方も一から学習できます。それを英語の教科書として英語を勉強しています。
どう使うかはChatGPTさんにこうつかえばいいんでない?とアドバイスいただきました。
問題: 危険はないのか?
A. そこまで心配することはありません
TryHackMeで遊ぶにあたり、自分のPCに直接Kari Linux(サイバーセキュリティ用途のLinuxディストリビューション)を入れることはしません。
TryHackMeのルームにアクセスするには以下の2パターンがあります。どちらでも危険のないものになります。
1. PC内の仮想マシンを使う
自分のPC(ホスト)にツール( ViertualBoxなど)を使いKari Linuxをゲストとしてインストールします。ゲストからTryHackMeにVPNを介して接続します。これによりルームの指示に従う限り他のPCなどに攻撃してしまう危険性は無くなります。
また、ホストとゲストは切り離されているため、たとえゲストをマルウェアに感染させたとしても、ホストには影響しません。
- 利点
- 作成したファイルやコマンドの履歴が残る
- OSやツールの管理も学べる
- 欠点
- 初期構築がめんどくさい
- OSやツールの管理もめんどくさい
- 不具合が出たとき、自分で対応しなければならない
⚠️設定次第ではホストとゲストのファイル共有もできるので、その点は注意してください
2. AttackBoxを使う
TryHackMeには攻撃者用の仮想マシンも用意されています。ユーザはAttackBoxにブラウザでアクセスし、ブラウザ上で攻撃用の仮想マシンを操作します。
必要なツール類は全て用意されており、すぐにハッキングを開始できます。
- 利点
- 1の欠点が全てない
- 欠点
- 無料だと時間制限がある(1時間)
- 閉じたら初期状態に戻る。つまり作成、変更したファイルは残らない
- たまに動作が重くなる
問題: 動作は快適か?
A. ものによる
まず、単純にサーバが別の国にあります。そのため通信速度に影響します。地理的に近いほうが安定するはずなので、日本からだとIN(VPN)-Asia(VM)がいいのかな? 僕は、Asiaがまだbetaなのもありますが、変更しても大差ないだろうなと思いEU(VPN)-Europa(VM)で遊んでいます。
- VPNサーバ
- EU
- US
- AU
- IN
- VMサーバ
- Asia(Munbai)[beta]
- Europa(Ireland)
- US(N. Virginia)
あとは、ルームの作りによります。ルームはそれぞれが仮想マシンで用意されており、それをTryHackMeのサーバで起動させているのですが、その立ち上げや設定次第で速度に影響します。
特にWindowを題材にしたルームは重いです。速度もそうですが、たびたび切断されたりするので、そういった場合は諦めます。
以上、ざっくりTryHackMeの疑問について書いてみました。少しでも不安が解消されたのでしたら嬉しいです。
Udemy講座紹介
さて、本題の講座紹介です。
【ホワイトハッカーへの第一歩】ハッキング手法をTryHackMeで学ぶ!はじめてのサイバーセキュリティ基礎
TryHackMeを使ってゲーム感覚で学ぶ! 権限取得の方法論と具体的な攻撃手法を演習で習得しペネトレーションテストを実施しよう!
講座で利用するルーム
- https://tryhackme.com/room/bruteit
- https://tryhackme.com/room/vulnversity
- https://tryhackme.com/room/blog
初心者に優しく、アカウント登録、ゲストへのKari Linuxのインストールから解説されます。攻撃に使うコマンドはテキストでも配布され、コピペで試し動かしながら講座をすすめることができます。
TryHackMeで学ぶサイバーセキュリティ、ホワイトハッカー入門コース|現役ホワイトハッカー講師がゼロからレクチャー
最前線の現場で働く講師が作成した「TryHackMeによるハッキング体験ができる」講座です。初めて学ぶ方を対象に、必要な知識を丁寧に紹介していきます。基礎を学んだ後に「自発的に踏み出せるようになる」ことが講座のゴールです!
講座で利用するルーム
- https://tryhackme.com/room/basicpentestingjt
- https://tryhackme.com/room/vulnversity
- https://tryhackme.com/room/owaspjuiceshop
- https://tryhackme.com/room/blue
- https://tryhackme.com/room/picklerick
- https://tryhackme.com/room/sqlmap
- https://tryhackme.com/room/cyborgt8
この講座もアカウント登録、さらにはLinuxとは?と、いうところから解説されます。各セクションごとに、ルームの解説と使用するコマンドをまとたテキストも提供されており、学習に便利な印象です。例えば、一度目は動画を見ながら動かしてみて、数日後まとめテキストを横に置いて独力でやってみるといった進め方は良さそうです。
取り扱うルームも多くおすすめです。
【サイバーセキュリティ 実践】Boot2Root CTFチャレンジで学ぶハッキングの手口とローカル特権昇格
本講座ではペネトレーションテスターとして、アクセス制御されたシステムにアクセスするための権限取得に関する方法論について学びます。具体的な攻撃手法を習得するために「TryHackMe」と「Hack The Box」を使った演習を行います。
講座で利用するルーム
- (有料) https://tryhackme.com/room/hackpark
- https://tryhackme.com/room/ignite
- https://tryhackme.com/room/kenobi
- TryHackMe以外
こちらはいかにもCTFの講座なのですが、一通りの操作方法がわかっている前提で講座が始まるので全くの初心者は難しいです。また、TryHackMe以外のサービスも使います。
初級を脱して、TryHackMe以外のサービスにも興味があればおすすめします。
まとめ
Udemyて90何%OFFとかよくやるじゃないですか? あれどうやっている(お金的に)んだと思っているんですが、まあ安いほうがいいよね。と、いうことで考えないことにします。
今回はTryHackMeでのハッキング入門口座 + αを見てきました。ニッチな分野だと思うのですが作成いただきありがとうございます。入門後におすすめなルームは↓でまとめられています。一部有料もありますが、ご活用ください。
書籍派の方はTryHackMeに関しては↓がハンズオンで、紹介した講座と同様に1から進められるのでおすすめです。
