注意
この記事だけでは「ハッキングラボのつくりかた」は実施できません。
書籍かPDFの購入が必要です。
あくまでも実施前や実施中の参考レベル、誰かの役に立てばレベルです。
[Amazon]ハッキング・ラボのつくりかた 完全版 仮想環境におけるハッカー体験学習
私の情報
・中小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
virtualbox.orgだと7.1.6が最新だった。(2025/2/25現在)
アイコンが変わったのが違和感、、、
Oracleのサイトからだと7.1.4で最新版ではない
https://www.oracle.com/jp/virtualization/technologies/vm/downloads/virtualbox-downloads.html
本書と同じ7.0.6はこちらから
https://www.virtualbox.org/wiki/Download_Old_Builds_7_0
なので、この記事では本書と違い、7.1.6のバージョンで行う。
・VirtualBox Extension Pack
VirtualBoxと同じバージョン(7.1.6)をダウンロードする。
・ParrotOS
前作はKali Linuxだったが今作はParrotOSを攻撃端末として使用する。
Kali Linuxはバージョンアップが1年に4回行われ、書籍とのシステムやUIが変わることや不具合も少なくなかったとのことでParrotOSを採用したとのこと。
本書ではParrotOSのバージョンは5.1.2だったが、ぱっと見、ミラー(torrentファイル)しかなく面倒くさかった手間だったため、最新の6.3.2をダウンロードした。
ダウンロードする際に、「Virtual」を選ぶとovaファイルになる模様。
たぶんovaファイルではインストール時に細かい設定が飛ばされてしまうので、isoファイルがダウンロードできる「Live」を選ぶこと。
ovaファイルとは(chatGPTに聞いてみた)
OVAファイルとは「Open Virtualization Appliance」の略で、仮想マシンの構成情報(ハードウェア設定、ネットワーク設定など)とディスクイメージ(OSやアプリケーションがインストールされた状態のデータ)をひとまとめにしてパッケージ化したファイル形式です。
具体的には、OVAファイルは通常、OVF(Open Virtualization Format)という記述ファイルと、必要な仮想ディスクファイル(例えば.vmdkや.vdiなど)をtar形式でまとめたものになっており、VirtualBoxやVMwareなどの仮想化ソフトウェアで簡単にインポートできるように設計されています。
これにより、複雑な個別の設定や複数のファイルを手動で配置する手間を省き、ひとつのファイルを使って仮想マシン環境を他のシステムへ移植・再現することが可能になります。
無事ParrotOSのデスクトップが表示できましたが、
P.65の③「Install Parrot」が「Install Debian」になっているのに注意。
インストールが終わり、再起動をしますがP.69の図2-31は表示されず、
再びブートになったのでシャットダウンする。
2日目(P.72~P.187)(Qiitaを書きながら6時間ほど)
・AppArmor
P.92の②のインストール状態を調べるを実施すると一覧やバージョンが違ったのでメモ。
展開する
┌─[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 [インストール済み、自動]
P.119の「③仮想マシンを起動して接続状態を確認する」では、ネットワークアイコンにマウスポインターを当ててもIPアドレスは表示されなかった。
展開する
「④仮想マシンのIPアドレスを確認する」でIPアドレスを確認したところ、「192.168.56.101」が割り当てられていることを確認できたので良しとする。
┌─[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
P.128の「which ifup」で何も返ってこず。
第3章
P.157の「②当たりをつけたディレクトリー内を調べる」の「ls /usr/local/share/man」を実行してもman1は返ってこず。
展開する
ディレクトリーを確認するとファイルが存在しないので、著者の環境との違いだと思われる。
┌─[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 ..
3日目(P.188~P.244)(Qiitaを書きながら1.5時間ほど)
P.198の「①インストールされていないことを確認する」は、ParrotOS 6.3.2ではMySql Ver.15.1がインストール済みだった。
展開する
┌─[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]
(略)
以上