今回の内容
ITエンジニア本大賞2025 技術書部門の大賞&特別賞に選ばれた「7日間でハッキングをはじめる本」を一通りハンズオンでやり終わりましたので、その感想とこれから学びたい方に向けてTipsも共有できればと思いこの記事を書きました。
(書籍リンク)
https://www.shoeisha.co.jp/book/detail/9784798181578
1.読み始めたきっかけ
セキュリティの手触りがない・・・
これまで業務上携わるのは上流工程がメインで、コーディングはおろか、サーバー構築など実機を触る経験もほとんどなく社内SEとして7年目を迎えています。
現在はリスク評価が業務のメインなのでセキュリティに関しての知見は必要であり、座学を中心にインプットしていたところでした。情報処理安全確保支援士も取得し体系的にセキュリティについて学んだと思ってはいたものの、
・脆弱性診断って結局何をやっているの?そもそも脆弱性が見つかったところでどう危ない?
・攻撃手法、かっこよさげな単語とざっくり概念は知っているけど実際どういうこと?
・特権IDへの昇格ってどうやって実施できる?
といった内容について「分かってはいるのだけど具体的に説明できない」もどかしさを持っており、用語を見るたびに疑問符が大量に浮かんでいた状態でした。
総じて、情報セキュリティに関して「実態がわからず手触りがない」こと大きな悩みとなっていました。
ちょうど良いタイミングで勉強会が!
そんな中、情報処理安全確保支援士のコミュニティである情報処理安全確保支援士会にて、「7日間でハッキングをはじめる本」を題材にした勉強会が開催されるとのお知らせがありました。加えて著者である野溝のみぞうさんご本人が講師として登壇されるとのこと!
これは渡りに船とばかりに参加を決め、すぐさま「7日間でハッキングをはじめる本」を購入して取り掛かり始めました。
実機を触る機会はどんどん少なくなっていく
特に社内SEに分類される職種ですと自社の要件に応じて構築・保守・運用は外注するケースも多いことから、私自身がそうですが実機を触る機会がめったにない方もいらっしゃるのではないでしょうか。
ノーコード・ローコードツールの普及、生成AIの進歩といったトレンドもそのような状況を後押し(?)しているといえます。
2.私の進め方
書籍のタイトル通り、7章に分かれています。
Day1が環境設定で、それ以降のDay2~Day7は実際のハッキングデモとなっています。
前述の通り勉強会がありそこでDay2を取り扱いましたが、それ以外は休日に時間を見繕って進めました。
用意した環境
個人のWindows11ノートPC(+インターネット環境)
スペックはメモリ8GB、Core i5、OSエディションはwindows11 Homeでした。
自身のPC内に仮想環境を構築するため、他のハードは不要です。
書くまでもないですが、環境設定にあたりいくつかアプリケーションをインストールすること、VPN接続も発生することから業務用PCを利用することは基本的には難しいでしょう。
かかった時間
1章(1日分)あたり約2~3時間でした。
ただ「内容が難しくてそんなに時間がかかった」ということではなく「慣れていなくてもそのくらいの時間で終えられる」という捉え方のほうが体感は合っています。
そのくらい本書の解説は丁寧で分かりやすいです。
Linuxのシェルをメインに操作していく内容となっており、私自身がシェルを触る機会がこれまでほとんどなかったので時間がかかりましたが、インフラの運用保守担当をされているなど慣れている方であればさらに短い時間で完了できると思います。
取り組みする単位
1章の中でも細切れにして取り組むのがよいか、それとも1章はまとめて取り組むのがよいか、についてです。結論としては「1章はまとめて取り組む」ことをオススメします。
攻撃手法は1章の中ですべてつながっているため、まとめて実施したほうが全体像が掴みやすい、というのが一番の理由です。
また環境の仕組み上、途中で操作状態をリセットしてしまうと再設定が必要な項目があるため、多少手間取ります。例えば攻撃対象マシンの再起動によるIPアドレスの変更、シェルを取った後にリセットした場合には再度のシェル取得 といった具合です。
ただし章の途中でやめてしまっても再開は可能です。実際に途中で力尽きて翌日に繰り越す機会が何度もありましたが、それでも目標達成はできました。
3.とても学びになった話
実際に本書を通じてお試しハッキングをしてみることで、学びになったことがいくつもあるなと感じています。大きく2つのポイントに分けて整理しました。
①サイバー攻撃への解像度があがったこと
これまでは「脆弱性がある」⇒「アカウント窃取等、内部環境へ侵入されて危険」というおおざっぱな理解度だったところが、その間のプロセスを体感できたことで「脆弱性のなかでも、どのような要因が危険なのか」といった着眼点を具体的に思い浮かべやすくなったことは大きな進歩だと感じました。
例えばパスワードのクラッキングは当然これまで実施したことはなかったですが、実際に辞書ファイルを使ってそれを行うことで脆弱なパスワードあるいはプロトコルの危険さを身をもって体感できたことなどです。
②シェルを中心にマシン操作への理解を深められること
シェルを本格的に操作する機会は普段ないため、コマンドおよびその操作対象となるディレクトリ、ツール、権限についても理解を深められたことは大きな学びとなりました。
また仮想マシンであるVirtualBoxで問題が発生したこともあり(後述)、そのあたりの環境設定についても考えるいいきっかけとなりました。
たまたま別件でシェルを使ってPCの環境構築をする機会があったのですが、同じ作業をしているにも関わらず他の方は私より3~4倍も早く作業を終えられていたので、そのようになりたいと思っています。
4.個人的に苦労したポイント
ここからは「7日間でハッキングをはじめる本」を購入され、実際に取り組んでいる方を想定してのTipsです。個別の章ごとの内容に触れるわけではないですが、私自身が進めるにあたって苦労したポイントを記載しますので、是非参考にしていただければ幸いです。
仮想マシンが動かない
VirtualBoxという仮想マシンソフト上で操作を進めていくのですが、Day4にさしかかったあたりから急に操作を受け付けなくなったことがありました。仮想マシン上の画面にカーソルを合わせても反応しなかったり、コマンドプロンプトを開こうとしてもタイムラグが5~10秒程度かかるなどしました。
上記に関してはVirtualBoxの設定から、リソースの割り当て数(メモリ:2GB⇒4GB、CPU:2コア⇒4コア)を変更したことで驚くほど動作がスムーズになりました。
仮想マシン上で操作がフリーズする場合は、是非試してみてください。
正しい設定をしているがエラーになる
例えばDay3のExploit時、optionの値は正しいのにexploit実行時に想定通り攻撃が出来ずエラーとなってしまうケースがありました。
まずはタイプミスを疑ってみる必要はもちろんあります、サーバーが立ち上がっていなかったのか何度か同じ命令で試してみたら通りました。技術的な内容ではないですが、環境的に不安定な部分は多少あるので諦めず何度かトライしてみるのは重要だと感じます。
ただネットワーク自体のエラーが返されたときは何度やってもダメでした。VPNを別リージョンで設定しなおしたところ上手くいきましたので、そのようなケースにあたったら試してみてください。
5.まとめ
実機をいじるとなると「何から始めればよいのか・・・」と考えてしまいこれまで二の足を踏むことが多かったですが、本書のおかげできっかけをつかめ、またやり通すことができ大変勉強になりましたのでオススメの一冊です。
情報セキュリティのご担当者はもちろん、これからセキュリティについて学習したいと考えているIT部門の方や、サイバーセキュリティリスク把握の観点からリスク管理部門の方といったように幅広い対象の方にとって、読んで実りのある内容かと思います。興味を持たれた方はぜひご自身でやってみてください。