前回は、VirtualBoxにKali Linuxを導入し、初期設定まで完了しました。
今回は、
- サイバーセキュリティの学習サイトである「HTB(Hack The Box)」の登録
- Kali LinuxとHTBのVPN接続
を行います。
まだ、Kali Linuxの導入と初期設定が済んでいない方は、前回の記事(サイバーセキュリティ入門‐環境構築編2|Kali Linuxの導入と初期設定)をご覧ください。
1.HTB(Hack The Box)とは

HTB(Hack The Box)は、サイバーセキュリティについて、ゲーム感覚で実践的に学べるオンラインプラットフォームです。
実在するWebサイトやシステムを模した仮想環境(マシンと呼びます)が用意されており、それらに対して実際に攻撃(ペネトレーションテスト)を行いながら、サイバーセキュリティの考え方や実際の手法を学習できます。
2.HTB(Hack The Box)へのVPN接続が必要な理由
HTBのマシンは、インターネット上に公開されているわけではなく、専用の閉鎖ネットワーク内に配置されています。
そのため、HTBのマシンを調査したり攻撃したりするには、VPN(Virtual Private Network)を利用し、その内部ネットワークに接続する必要があります。
VPN接続は絶対に必要?
HTBのマシンを攻撃する際、VPN接続は絶対に必要というわけではありません。
実際に、VPN接続が必要なのは、一部の「閉鎖ネットワーク上で起動する本格的な仮想マシン」だけです。それ以外の「パブリックIPアドレスからアクセス可能な仮想マシン」は、VPN接続がなくてもアクセス可能です。
ただし、本格的にサイバーセキュリティについて学びたいのであれば、ここでVPN接続の仕方について学んでおくことをお勧めします。後々、別の学習プラットフォームを使う際に役立ちます。
参考:https://help.hackthebox.com/en/articles/8602725-understanding-the-hack-the-box-vpn
3.HTB(Hack The Box)の登録とVPN接続の手順
3-1.アカウント登録
まずは、HTBのアカウント作成から始めましょう。
HTBの公式サイトにアクセスし、右上の「Get Started」をクリックします。

次に、以下のような画面が表示されるので、「For Individuals」を選びましょう。

すると以下のような画面が表示されるので、メール認証かGoogle・Linkedin・Githubアカウントでのアカウント登録を選びます。

その後、メール認証の場合、登録したメールアドレスに認証メールが届くので、添付されたリンクをクリックして、認証を完了しましょう。
3-2.ログインとオンボーディング
アカウント登録が完了したら、早速ログインします。
初回ログイン時に、オンボーディングが表示されるので、回答しておきましょう。
※ここでは、「ITに全く触れてこなかった初学者」と想定して進めています。
3-2-1.Why have you joined Hack The Box?
今回は、「Start learning cybersecurity」を選んで「Continue」を押します。

3-2-2.Which field do you work or study in?
「Other」を選びましょう。

3-2-3.What best describes your role in Other
「Student/Professional in Other Fields」を選びます。

3-2-4.What interests you in cybersecurity? Pick three.
今回は、基礎的な項目である「Baseline Offensive Operations」から、
- Network Penetration Testing
- Web Application Penetration Testing
- Bug Bounty Hunting
の3つを選びます。

3-2-5.Are you open to job opportunities?
「Yes, I'm open to exploring new job opportunities」を選びます。

これで初回ログイン時のオンボーディングは完了です。
3-3.初期設定とVPNファイルの取得
オンボーディング後、HTBのダッシュボードにアクセスできるようになります。

画面右上に表示されているアイコン3つのうち、真ん中のアイコンをクリックしましょう。ドロップダウンメニューが表示されるので、「HTB Labs」をクリックします。

すると、以下のような画面が表示されます。

初学者なので、まずは、「Starting Point」のVPN接続を試してみましょう。
「Starting Point」タブを開きます。

タブを開くと、以下のような画面が表示されます。

画面上部の「Connect」ボタンをクリックしてください。

すると、以下のような画面が表示されるので、「Starting Point」をクリックします。

今回は、「Pwnbox」を使わないので、「OpenVPN」を選びます。

すると、以下のような画面が表示されるので、「Download VPN」をクリックして、VPN接続用の設定ファイル(.ovpn)をダウンロードしましょう。

3-4. VPN接続
HTBへのVPN接続には、OpenVPNというソフトウェアを使います。
まずは、ターミナルを開いて、
$ openvpn --version
で、Kali LinuxにOpenVPNがインストールされているか確認します。
インストールされていない場合は、以下のコマンドでインストールしましょう。
$ sudo apt update
$ sudo apt install openvpn
3-4-1. ターミナルから接続する方法
まずは、ターミナルからVPN接続する方法を解説します。
デスクトップのアイコンから、「File System」を開きます。

「File System」を開くと、以下のような画面が表示されるので、右側のタブ一覧から「Downloads」を開きましょう。

VPN接続用の設定ファイルがきちんとダウンロードできていれば、以下のように「~~~.ovpn」というファイルが見つかります。

設定ファイルがあるか確認できたら、右側の「Downloads」タブにカーソルを合わせて右クリックします。
すると、以下のようにドロップダウンメニューが表示されるので「Open Terminal Here」をクリックしましょう。

すると、ターミナルが開くので、以下のコマンドで、VPN接続を開始します。
$ sudo openvpn ~~~~(ファイル名).ovpn
接続が成功すると、以下のように、ログに「Initialization Sequence Completed」と、数行のシステムメッセージが表示されます。

3-4-2. ネットワーク設定から接続する方法
まず、デスクトップの画面右上にあるネットワーク設定(LANケーブルのコネクターのようなアイコン)をクリックします。

すると、ドロップダウンメニューが表示されるので、「VPN Connections」>「Add a VPN connection…」をクリックします。

すると、以下のような画面が表示されるので、「Layer 2 Tunneling Protocol (L2TP)」と表示されている欄の右端のアイコンをクリックして、ドロップダウンメニューを表示します。

ドロップダウンメニューの一番下の項目「Import a saved VPN configuration…」を選び、「Create…」をクリックします。

すると、以下のように、File Systemの画面が表示されます。

左端の「Downloads」タブをクリックすると、VPN接続用の設定ファイルがあります。
選択された状態で、ウィンドウ右下の「Open」をクリックしましょう。

すると、以下のような設定画面が表示されます。
今回は、特に設定を変えずに、ウィンドウ下部の「Save」をクリックしましょう。

最後に、デスクトップの画面右上のネットワーク設定から「VPN Connections」を開き、先ほど追加したVPNが追加されているか確認し、クリックして接続してみましょう。

無事に接続できていれば、ネットワーク設定アイコンの右側に、鍵のマークとIPアドレスが表示されます。
※「VPN connection has been successful established」という表示も出る場合があります。

3-5.接続確認
最後に、きちんとVPN接続ができているか、HTB側で確認します。
HTB Labsの画面を開いて、右上の「Connect」ボタンが「Connected」という表記になっていることを確認しましょう。

また、「Connected」ボタンをクリックして、以下のような画面が表示されれば、問題なく、VPN接続できています。

4. あとがき
今回で、ようやく、サイバーセキュリティの学習環境が整いました。
次回は、「Starting Point」のTier0のマシン攻略を実際に攻略しながら、ペネトレーションテストの学習を進めていきます。
また、今後は、ポートスキャン・脆弱性調査・権限昇格といった具体的なペネトレーション手法や、テストに使うツールについても、別記事で解説していくので、ぜひご覧ください。


