「7日間でハッキングをはじめる本」をLinux初心者がやってみた

# はじめに

#### 筆者

IT系専門学生2年。授業でLinuxを触り始めて1か月(catやlsがわかる程度)

セキュリティの基礎知識はあるが、ハンズオンは初めて

#### 本書を選んだきっかけ

情報処理安全確保支援士の受験を通して、セキュリティエンジニアに興味をもちました。
　
先輩エンジニアの就活ブログなどを読んで、「知ってるだけではなく、実際にできるかも重要なのでは？」と思い、避けていたハンズオン学習を決意。
　
「TryHackMe」などのサービスは全部英語だし、イチから自分でやるのは大変かもな～と思っていた矢先に本書に出会いました(よかった)
　
# 書籍概要

「TryHackMe」というWebサービスを利用して、「仮想的な環境で実際にサイバー攻撃を体験してみる」というコンセプト。
　
7日間(7章)で7つのルーム(ハッキング対象のマシン)を攻略しながら、ハンズオン形式でハッキング技術を学ぶことができる。

　
ITエンジニア本大賞2025　技術書部門大賞&審査員特別賞
サイバーセキュリティアワード2025　優秀賞

https://www.shoeisha.co.jp/book/detail/9784798181578



# 本書のいいところ
#### ・ボリュームが控えめ
大体2週間、30時間くらいで終わりました。
　
各章の終わりに補習として初心者向けのおすすめルームが示されているので、それを含めると60時間くらいになると思います。
#### ・初心者にやさしい

なんと、環境構築だけで40ページくらいあります。
 
作業量が多いわけではなく、想定されるエラーが網羅されています。
加えて、サポートページも用意されており、ハンズオン初心者でも安心して取り組めます。
私もエラーがたくさん発生しましたが、これらのおかげでなんとかなりました。

https://note.com/nomizone/n/n67ef3114092e#fbdbe58a-0b7f-4941-9c23-acb78bffc3c6

#### ・解説がわかりやすく丁寧
「辞書攻撃」や「ハッシュ関数」など、基本とされる知識も、かわいい犬のイラスト付きで解説してくれています。

また、コマンドのオプションもそれぞれどういう意味か解説がついています。

解説が不足していると感じることは基本的にありませんでした。

#### ・試行錯誤の過程を学べる

私が一番いいと思った点です。

基本的にTryHackMeでは、root.txtやflag.txtといったファイルに記された、以下のような「フラグ」を見つけ出すのがルームの攻略目標になっています。

```root.txt
    flag{th1s_1s_4n_3x4mpl3_fl4g}
```
本書はフラグめがけて一直線ではなく、調査の結果をもとに試行錯誤する過程が示されていて、本書を卒業して自分一人で学習する際にも参考になる構成となっています。
## よく使うコマンドやツール3選
本書でよく出てくるコマンドやツールを紹介します。
本書で使うものは、KaliLinuxにプリインストールされているものが大半です。
### ・nmap
攻撃前の情報収集として、開いているポートを調べる(ポートスキャン)ツールです。
大体のルームで最初に実行します。
```:KaliLinux
nmap -sV -Pn -v 10.x.x.x[対象のIPアドレス]
```

|オプション|意味
|:---:|:-----:|
| -sV | 開いているポートのサービスバージョンを特定。古いバージョンなら追加調査に進める。(serviceVersion)  
|  -Pn  | 事前にリクエストせず、直接ポートスキャンを行うオプション。(Pingnone)  
|-v|進捗の詳細を表示。(verbose)

### ・dirb
対象サイトの隠されたサブディレクトリを、ワードリストをもとに検索します。DirectoryBruteforceの略。
例えば、(h)ttp://example.com サイトに存在する(h)ttp://example.com/adminなどのサブディレクトリは、dirbコマンドによって検出可能です。

```:KaliLinux
dirb http://10.x.x.x /usr/share/dirb/wordlists/small.txt -R

```
 **dirb ＜対象サイトURL＞ ＜辞書リスト＞ -R**  
・-R： 検出されたディレクトリに対してさらに再帰的な検索を行う

 
### ・BurpSuite
自分のブラウザとサーバ間のHTTP通信を覗き見る、ローカルプロキシと呼ばれるツールです。
Web系の攻撃や調査でよく使います。
　
![ログインフォーム.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4091395/7f073e6a-51e4-4b88-8f03-176de1098d67.png)
引用元:https://owasp.org/www-project-juice-shop/

　
このようなログインフォームに対し、Email:admin@ juice-sh.op、Password:1234とした実行結果を以下のように見ることができます。
 
![BurpSuite.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/4091395/d9db5670-709d-48a9-aa9f-63224e9121c1.png)


 **Intruder機能** 
BurpSuiteでは、この"password":"1234"の部分に対し辞書攻撃をする機能が備わっています。

GUIで操作が可能で、実行結果もわかりやすく表示されます。
ほかにも、リクエストを再送するRepeater機能などがあります。

 # 感想

これまでは、知識だけでふわふわしていたセキュリティのイメージが、本書を通してかなり解像度が上がりました。

　
私の取り組み方についてですが、Day3までは何もわからなかったので本書の指示通り進めました。

Day4以降は、なるべく自分でルームを進め、わからない時の確認として本書を参考にするというふうに取り組みました。(といっても8割方わかりませんでしたが)

 
Day6、7くらいになると流れがつかめてきて、生成AIの助けを借りながらクリアできるタスクも増えてきてうれしかったです。

#### 余談
個人的な考えですが、生成AIを使いながら進めるのと、解説を見ながら進めるのでは学習効率が段違いだと思います。
　
解説ベースだとどうしても受け身がちで記憶に残りにくく、対して生成AIを使うと、自分の疑問点を解決しながら進める「対話型」の学習ができていると感じました。

もちろん何がわからないのかわからないレベルだと解説を利用するのが良いですが、基本的には生成AIを使いながらの勉強のほうが効率はいい気がします。(真偽には注意する必要があるので、取り返しがつかない操作は一度自分でも調べたほうがいい)

# 最後に

本書をきっかけとして、TryHackMeやHackTheBoxなどのサービスに取り組みたいと思います。


著者の野溝のみぞうさん、ありがとうございました。

https://x.com/nomizooone