「ハッキング・ラボのつくりかた 完全版」実施

:::note alert
## **注意**
この記事だけでは「ハッキングラボのつくりかた」は実施できません。
書籍かPDFの購入が必要です。
あくまでも実施前や実施中の参考レベル、誰かの役に立てばレベルです。
[[Amazon]ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習](https://amzn.to/4ieQRz7)
:::

# 私の情報
・中小SIer4年→自社開発2年目
・LinuxはRHELやSolaris、Ubuntsuの経験あり。(業務と個人開発で)
・VirtualBoxも触ったことはある。(個人開発で)
・セキュリティやLinuxについて学びたかった。
・CTFが少し気になる。

# 本書と実施時の違い（1日目時点で）
・VirtualBox 7.0.6 ➡ 7.1.6
・ParrotOS 5.1.2 ➡ 6.3.2

# 1日目(P.1の始まり～P.71のParrotOSのインストールまで)(Qiitaを書きながら3時間ほど)
## 第2章
### ・[VirtualBox](https://www.virtualbox.org/)
virtualbox.orgだと7.1.6が最新だった。（2025/2/25現在）
アイコンが変わったのが違和感、、、

:::note warn
Oracleのサイトからだと7.1.4で最新版ではない
https://www.oracle.com/jp/virtualization/technologies/vm/downloads/virtualbox-downloads.html
:::
:::note info
本書と同じ7.0.6はこちらから
https://www.virtualbox.org/wiki/Download_Old_Builds_7_0
:::
なので、この記事では本書と違い、7.1.6のバージョンで行う。
<details><summary>画像</summary>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549327/d89298fa-b5ed-492d-85e1-cbc052f3c43b.png)
</details>

### ・[VirtualBox Extension Pack](https://www.virtualbox.org/wiki/Downloads)
VirtualBoxと同じバージョン(7.1.6)をダウンロードする。

<details><summary>画像</summary>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549327/632ac26f-42c9-4d13-a04d-4a536a6f6ba2.png)
</details>

### ・[ParrotOS](https://www.parrotsec.org/download/)
前作はKali Linuxだったが今作はParrotOSを攻撃端末として使用する。
Kali Linuxはバージョンアップが1年に4回行われ、書籍とのシステムやUIが変わることや不具合も少なくなかったとのことでParrotOSを採用したとのこと。

本書ではParrotOSのバージョンは5.1.2だったが、ぱっと見、ミラー(torrentファイル)しかなく~~面倒くさかった~~手間だったため、最新の6.3.2をダウンロードした。

:::note warn
ダウンロードする際に、「Virtual」を選ぶとovaファイルになる模様。
たぶんovaファイルではインストール時に細かい設定が飛ばされてしまうので、isoファイルがダウンロードできる「Live」を選ぶこと。

<details><summary>画像</summary>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549327/e1717228-a5fe-43cd-b92d-5b7f189bfda0.png)

</details>

<details><summary>ovaファイルとは(chatGPTに聞いてみた)</summary>

> OVAファイルとは「Open Virtualization Appliance」の略で、仮想マシンの構成情報（ハードウェア設定、ネットワーク設定など）とディスクイメージ（OSやアプリケーションがインストールされた状態のデータ）をひとまとめにしてパッケージ化したファイル形式です。
具体的には、OVAファイルは通常、OVF（Open Virtualization Format）という記述ファイルと、必要な仮想ディスクファイル（例えば.vmdkや.vdiなど）をtar形式でまとめたものになっており、VirtualBoxやVMwareなどの仮想化ソフトウェアで簡単にインポートできるように設計されています。
これにより、複雑な個別の設定や複数のファイルを手動で配置する手間を省き、ひとつのファイルを使って仮想マシン環境を他のシステムへ移植・再現することが可能になります。
</details>

:::

無事ParrotOSのデスクトップが表示できましたが、
P.65の③「Install Parrot」が「Install Debian」になっているのに注意。

<details><summary>画像</summary>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549327/9b40a8ef-acb0-4a6a-8664-cb695ec4bde8.png)
</details>

インストールが終わり、再起動をしますがP.69の図2-31は表示されず、
再びブートになったのでシャットダウンする。

# 2日目(P.72～P.187)(Qiitaを書きながら6時間ほど) 
### ・AppArmor
P.92の②のインストール状態を調べるを実施すると一覧やバージョンが違ったのでメモ。

<details><summary>展開する</summary>

```diff
┌─[yuuki_nyanko@parrot]─[~]
└──╼ $apt list --installed | grep apparmor

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
- 「将来的にaptは変更される可能性があるよ」という警告なので無視
apparmor-notify/parrot6,now 3.0.8-3 all [インストール済み]
apparmor-profiles-extra/parrot6,now 1.35 all [インストール済み]
apparmor-profiles/parrot6,now 3.0.8-3 all [インストール済み]
apparmor-utils/parrot6,now 3.0.8-3 all [インストール済み]
apparmor/parrot6,now 3.0.8-3 amd64 [インストール済み]
-☝たぶんこいつ
libapparmor1/parrot6,now 3.0.8-3 amd64 [インストール済み]
python3-apparmor/parrot6,now 3.0.8-3 all [インストール済み、自動]
python3-libapparmor/parrot6,now 3.0.8-3 amd64 [インストール済み、自動]
```
</details>

P.119の「③仮想マシンを起動して接続状態を確認する」では、ネットワークアイコンにマウスポインターを当ててもIPアドレスは表示されなかった。
<details><summary>展開する</summary>

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/549327/b5fec98e-9cac-4364-82f3-5141ac701898.png)

:::note info
「④仮想マシンのIPアドレスを確認する」でIPアドレスを確認したところ、「192.168.56.101」が割り当てられていることを確認できたので良しとする。
:::

```powershell
┌─[yuuki_nyanko@parrot]─[~]
└──╼ $ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host noprefixroute 
       valid_lft forever preferred_lft forever
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 08:00:27:d5:d3:67 brd ff:ff:ff:ff:ff:ff
    inet 192.168.56.101/24 brd 192.168.56.255 scope global dynamic noprefixroute enp0s3
       valid_lft 546sec preferred_lft 546sec
    inet6 fe80::fcc9:7f62:3bb0:3f60/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
```
</details>

P.128の「which ifup」で何も返ってこず。

## 第3章
P.157の「②当たりをつけたディレクトリー内を調べる」の「ls /usr/local/share/man」を実行してもman1は返ってこず。

<details><summary>展開する</summary>

ディレクトリーを確認するとファイルが存在しないので、著者の環境との違いだと思われる。
```powershell
┌─[yuuki_nyanko@parrot]─[/usr/local/share/man]
└──╼ $ls /usr/local/share/man
┌─[yuuki_nyanko@parrot]─[~]
└──╼ $cd /usr/local/share/man
┌─[yuuki_nyanko@parrot]─[/usr/local/share/man]
└──╼ $ls -la
合計 0
drwxr-xr-x 1 root root  0  1月 29 02:01 .
drwxr-xr-x 1 root root 60  1月 29 02:01 ..
```
</details>

# 3日目(P.188～P.244)(Qiitaを書きながら1.5時間ほど) 

P.198の「①インストールされていないことを確認する」は、ParrotOS 6.3.2ではMySql Ver.15.1がインストール済みだった。

<details><summary>展開する</summary>

```powershell
┌─[yuuki_nyanko@parrot]─[~/Desktop]
└──╼ $mysql --help
mysql  Ver 15.1 Distrib 10.11.9-MariaDB, for debian-linux-gnu (x86_64) using  EditLine wrapper
Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

Usage: mysql [OPTIONS] [database]
(略)
```


</details>


以上