毎週、技術書を読んで、ざっくり紹介します。今日は、IPUSIRON著『ハッキング・ラボのつくりかた 仮想環境におけるハッカー体験学習』。
(購入はこちらから)
本書の目次
第1部 ハッキング・ラボの構築
第1章 ハッキング・ラボでできること
1-1 ハッキング・ラボとは
1-2 本書を読むにあたって
1-3 ハッキング・ラボの移り変わり
1-4 なぜハッキング・ラボを作るのか?
1-5 本書が目指すハッキング・ラボの構成例
第2章 仮想環境によるハッキング・ラボの構築
2-1 仮想環境とは
2-2 VirtualBoxのインストール
2-3 VirtualBoxの基本設定
2-4 VirtualBoxにKali Linuxを導入する
2-5 初めてのKali Linux
2-6 Kali Linuxのカスタマイズ
2-7 ファイルの探し方
2-8 Kaliにおけるインストールテクニック
2-9 いつでもどこでも調べもの
2-10 エイリアスを活用する
第3章 ホストOSの基本設定
3-1 ファイルの拡張子を表示する
3-2 ファイルやフォルダーの隠し属性を解除する
3-3 コントロールパネルをすぐに開けるようにする
3-4 スタートメニューの主要リンクをカスタマイズする
3-5 メインPCのフォルダー構成を考える
3-6 ホストOSとゲストOS間でファイルをやり取りする
3-7 VirtualBoxのファイル共有機能を利用する
3-8 メインPCの共有設定を見直す
3-9 Windows Updateを管理する
3-10 アンチウイルスの設定を見直す
3-11 AutoPlayの設定を確認する
3-12 共有フォルダーの"Thumbs.db"の作成を抑止する
3-13 右クリックのショートカットメニューをカスタマイズする
3-14 ストレージ分析ソフトで無駄なファイルを洗い出す
3-15 ランチャーを導入する
3-16 ハッキング・ラボにおけるGit
3-17 クラウドストレージの活用
3-18 Prefetch機能を有効にする
3-19 WindowsにPython環境を構築する
3-20 BIOS(UEFI)画面を表示する
第2部 ハッキングを体験する
第4章 Windowsのハッキング
4-1 Windows 7のハッキング
4-2 Windows 10のハッキング
第5章 Metasploitableのハッキング
5-1 MetasploitableでLinuxのハッキングを体験する
5-2 Metasploitableを攻撃する
5-3 Netcatを用いた各種通信の実現
第6章 LANのハッキング
6-1 有線LANのハッキング
6-2 無線LANのハッキング
第7章 学習用アプリによるWebアプリのハッキング
7-1 DVWAでWebアプリのハッキングを体験する
7-2 bWAPP bee-boxでWebアプリのハッキングを体験する
第8章 ログオン認証のハッキング
8-1 Sticky Keys機能を悪用したログオン画面の突破
8-2 レジストリ書き換えによるバックドアの実現
第3部 ハッキング・ラボの拡張
第9章 物理デバイスの追加
9-1 ハッキング・ラボにRaspberry Piを導入する
9-2 NASのすすめ
第10章 ネットワーク環境の拡張
10-1 リモートデスクトップによる遠隔操作
10-2 出先からハッキング・ラボにリモートアクセスする
10-3 ハッキング・ラボをより現実に近づける
第11章 ハッキング・ラボに役立つテクニック
11-1 仮想マシンの保存中にネットワークを変更する
11-2 Windowsの自動ログオン
11-3 高速なDNSサーバーに変更する
11-4 vhdファイルをドライブ化して読み込む
11-5 VirtualBoxのスナップショットとクローン
11-6 ファイルの種類を特定する
11-7 バイナリファイルの文字列を調べる
巻末付録
1 キーボードレイアウトの対応表
2 Linuxコマンドのクイックリファレンス
3 Windowsコマンドのクイックリファレンス
4 Windowsですばやくプログラムを起動する
5 環境変数を使ってフォルダーにアクセスする
6 nanoの簡易コマンド表
7 viの簡易コマンド表
8 gdbの簡易コマンド表
紹介と感想
初版が発売された2018年末頃から、しばらくの間かなり話題で売れていた記憶のある本。例に漏れず、面白そうだと思って飛びついて買いましたが、案の定積読状態となってしまっていた本。一念発起して読み上げることにしました。
著者はIPUSIRON氏。最初、IN PRISONに空目して、なんとも物騒な名前であるなぁと思っていたら、よくよく見たらイプシロンでした。氏の最新刊行物として、翻訳本が2023年11月に発売予定らしいです。書名は『サイバーセキュリティの教科書』。正直に言うと、セキュリティ系の「知識」を得るという目的であれば、2023年時点では、もう『ハッキングラボ』を買うより、こちらを買うべきかもしれないなぁと感じます。
さて、ハッキングラボについての話に戻します。ハッキングラボは、そのタイトルが表すとおり、ハッカーの行動というのを、仮想環境を立ち上げて実際に体験しようというテーマの本です。
具体的な手順が満載で、書籍の内容に沿っていけば、ハッカー気分を味わえるような形になっています。しかし、この点が、マイナスポイントにも通じてしまっているように感じました。なぜなら、2018年時点と比べて、通用しない部分というのが、どうしても多いからです。(Amazonレビューなどでも、注意すべき点などをまとめて記載している方がいるので、是非目を通してほしい)
たとえば、前提のKali Linuxをインストールするといったところでも、Kali Linuxのパッケージのダウンロード元URLのリンクが切れていたり、最初のログインもid:root pass:toorではなくid:kali pass:kaliでのログインが必要だったりするため、そういった部分を自分で解決したり読み替えたり出来ないという人には向いていないと思います。(こういうタイプの技術書は、賞味期限のある内に読んでおかないとダメだというのを痛感しますね。さっさと読まない自分が悪い。)
ただ、実際に仮想環境を立ち上げて攻撃を実演するという過程は、楽しいし、エンジニアとしてやっておくべき体験だと思います。こういった体験はCTF(Capture The Flag)とか、セキュリティコンテストとかも当てはまると思いますが、そういったところへの入り口という感じがしました。
本書の目的と対象読者
読み進めていくうちに、段々とこの本を読む目的というのを見失ってしまったので、途中でまえがきを読み直す場面がありました。
本書は、タイトルからわかりますように、ハッキング・ラボの構築をメインに解説しています。そして、ハッキング・ラボの構築の目的ともいえる、具体的なハッキング技法についても詳細に解説します。仮想環境を最大限に活用して、「いつでもどこでも利用できるハッキング・ラボを構築する」と「ハッキング・ラボを活用してハッキングのスキルを習得する」の2つのテーマを実現することを目標とします。
IPUSIRON. ハッキング・ラボのつくりかた 仮想環境におけるハッカー体験学習 (Kindle の位置No.14-17). 株式会社 翔泳社. Kindle 版.
つまり、仮想環境を用いて、安全なハッキング環境を実現するための手法と、その環境で実際にハッキングを行う体験の2つを提供している本であるということだと思います。
この2つの目的に合致していない読者層には、正直かなり読み進めるのが辛いと思います。個人的に当てはまる読者層は、「今後セキュリティ系人材としてのキャリアアップを見据えている人」や「アプリ開発者であるが、ハッキング環境を用意して、自前のアプリや環境の堅牢性をテストしたい」というような具体的な目的意識のある人ではないかと感じています。
一方で、まえがきでは、この本をPC初心者に読んでもらいたいということも言われています。実際に、環境構築の手順などは、かなり詳細にステップ毎の解説が入るので、書いてあるとおりにやれば動くはずという意味では正しいですし、やや初歩的な部分まで踏み入って書きすぎだと感じる場面も多いです。しかし、実際に構築している内容や手法について、正しく理解できるようになるのか?という視点で考えるとやや疑問です。
なんにせよ、もし今からこの本を買おうとしているのであれば、強い目的意識を持って、どの部分の知識を得たいかイメージしながら購入するべきでしょう。