はじめに
今回は、昨年翔泳社のITエンジニア本大賞を受賞した話題の書籍 『7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性』をご紹介します。
7日間でハッキングをはじめる本 TryHackMeを使って身体で覚える攻撃手法と脆弱性 2024/8/28
ハッキングの手法について以前から関心があったため、社内のグループに読書会を提案したところ、全員が参加してくれて、毎週1時間ほど黙々と読み進めることができました。読書会の様子については、別途会社のブログで紹介する予定です。ここでは、書籍の内容や学んだことを簡単にまとめてご紹介します。
なお、本記事で紹介している攻撃手法は、学習目的に限られます。実環境での使用は、たとえ学習目的であっても絶対に行わないでください。
内容のざっくり紹介
章立て
この本は、サイバーセキュリティ学習サイト TryHackMe を活用して攻撃手法を学ぶ構成になっています。タイトル通り「Day1〜Day7」の全7章から成り、Day1では環境構築、Day2〜Day7ではTryHackMe内の学習コースを1日ずつ取り組みます。1日あたりの学習時間は1〜3時間程度です。TryHackMeにはさまざまな無料コースが用意されており、初心者でも十分に楽しめます。
TryHackMe
TryHackMeでは、仮想環境上で自由に攻撃を試せるコースが多数提供されています。各コースにはクイズが用意されており、すべて解答するとそのコースは完了です。本書が扱うコースはすべて無料のもので構成されており、スターターにとって最適です。物足りなさを感じた方は、有料コースにチャレンジするのも良いでしょう。書籍では背景知識や手順の詳細も丁寧に解説されているため、Webの情報だけでは理解しづらい部分も補完してくれます。
環境構築
TryHackMeの学習環境には2種類のアクセス方法があります。ひとつはローカルの仮想マシンからVPNで接続する方法、もうひとつはTryHackMe提供の「AttackBox」を使う方法です。ただし、無料のAttackBoxではダウンロードなどが制限され、十分な学習が難しいため、ローカル環境の構築を推奨します。
本書ではWindows+VirtualBoxを前提としていますが、私はM1 Macを使用していたため、代替としてUTMを利用しました。また、ARM環境では一部ツールが使えないなど、環境差が出てきます。この点はある程度の対応力が求められます。
仮想マシンには、セキュリティ分野で定番の Kali Linux を使用します。ペネトレーションテスト向けの各種ツールがあらかじめインストールされており、すぐに実践が可能です。
クラッキングツール
書籍ではさまざまなツールを用いたクラッキングを体験できますが、特に印象に残ったものをいくつかご紹介します(全体像については こちらの記事 を参照してください)。
-
nmap
- ポートスキャンツールの定番
- 開いているポートや脆弱性を調査可能
- 毎回、攻撃前の探索で全章で利用
-
hydra
- 辞書リストを使ってパスワードを総当たりで解析
- 単純なパスワードであれば、1時間もかからずに突破可能
-
Metasploit Framework
- 脆弱性を突くためのエクスプロイトツール
- 必要な情報さえ揃えば、驚くほど簡単に侵入できてしまう
-
hashdump
- パスワードハッシュを抽出
- パスワードハッシュはCrackStation で簡単に元の値を復元できる
-
Burp Suite
- ローカルプロキシツール
- 通信内容を書き換え、任意の値でWebアプリにリクエストを送信可能
-
リバースシェル
- 内部のユーザーが実行することで外部から内部へ侵入が可能になる
- ファイルサーバ上の不審な実行ファイルには要注意
感想
言葉で聞いてできることは知っていましたが、実際に体感できてすごく良かったです。一方で、このようなツールが簡単に入手できてしまうことへの恐怖も感じました。セキュリティの学習のためとはいえ、一歩間違えば悪用されてしまうので、ツールの公開は慎重にやって欲しいものです。
読書会も好評でしたが、最後の章はActive Directory, Wordpressで会社とは関係ないものになり、少し中弛みしてしまいました。結局は不要ポート・不要なアクセスを許可しないや脆弱性を解消するなど、極々当たり前の解決方法になってしまいます。ただ、この本を読んで、実際に体感することでこれらの重要性を理解し、やらないといけないとモチベーションが上がると思います。自分のようなセキュリティ周りを扱うSREだけでなく、開発者やあるいは非エンジニアの人にもデモで見せると良いかもと思いました。
以上、最後まで読んでいただきありがとうございました。