「TryHackMeを始めよう」の記事では、ブラウザ上で動作するAttackBoxを使ってすぐに学習をスタートできることを紹介しました。AttackBoxは無料プランでは1日1時間の利用制限があります。より自由に・長時間学習したい方は、自分のPC上にKali LinuxのVM(仮想マシン)を構築するのがおすすめです。

この記事では、WindowsのPC上にVMware Workstation Proをインストールし、その上でKali LinuxのVMを動かすまでの手順を解説します。

この記事でわかること
  • VMware Workstation Proの概要と無償化の背景
  • Broadcomアカウントの作成とVMware Workstation Proのダウンロード・インストール
  • Kali Linux公式VMイメージのダウンロード
  • VMware WorkstationへのKali Linux VMのインポートと起動

全体の流れ

作業は大きく4つのフェーズに分かれます。

フェーズ作業内容目安時間
Phase 1Broadcomアカウント作成約10分
Phase 2VMware Workstation Proのダウンロード・インストール約20分
Phase 3Kali Linux VMイメージのダウンロード約30〜60分(通信速度による)
Phase 4KaliのVMをVMwareにインポートして起動約10分

動作要件の確認

作業を始める前に、自分のPCが以下の要件を満たしていることを確認してください。

項目最低要件推奨
OSWindows 10 64bitWindows 11 64bit
CPUIntel Core i5 / AMD Ryzen 5 以上(仮想化支援機能必須)Intel Core i7 / AMD Ryzen 7 以上
メモリ8GB16GB以上
ストレージ空き容量40GB以上80GB以上のSSD
ネットワークインターネット接続有線LAN推奨(大容量ダウンロードのため)

仮想化支援機能(Intel VT-x / AMD-V)の確認

VMwareでVMを動かすには、CPUの仮想化支援機能が有効になっている必要があります。

タスクマネージャー(Ctrl + Shift + Esc)を開き、「パフォーマンス」→「CPU」タブを確認します。「仮想化」の項目が「有効」になっていればOKです。「無効」になっている場合は、PCのBIOS/UEFI設定から有効化が必要です(設定方法はPCのメーカーによって異なります)。

仮想化支援機能の確認

Hyper-Vの確認(重要)

WindowsのHyper-V機能が有効になっている場合、VMwareと競合して動作に問題が生じることがあります。Hyper-Vを利用していない場合は、事前に無効化しておくことを推奨します。

無効化手順:「コントロールパネル」→「プログラム」→「Windowsの機能の有効化または無効化」→「Hyper-V」のチェックを外す→再起動

Hyper-Vの無効化

Phase 1:Broadcomアカウントを作成する

VMware Workstation ProはBroadcomのサポートポータルからダウンロードします。ダウンロードにはBroadcomアカウントが必要です。

1-1. Broadcomサポートポータルにアクセスする

ブラウザで以下のURLにアクセスします。

https://support.broadcom.com

1-2. アカウントを登録する

ページ右上の「Register」をクリックし、以下の情報を入力してアカウントを作成します。

  • メールアドレス
  • パスワード
  • 氏名

登録したメールアドレスに確認メールが届きますので、メール内のリンクをクリックして認証を完了してください。


Phase 2:VMware Workstation Proをインストールする

2-1. ダウンロードページにアクセスする

Broadcomアカウントでサインイン後、以下のURLにアクセスします。

https://support.broadcom.com/group/ecx/free-downloads

「VMware Workstation Pro」を選択します。

2-2. バージョンを選択してダウンロードする

「VMware Workstation Pro 17.0 for Personal Use (Windows)」を選択し、最新バージョン(執筆時点では17.6.x)をクリックします。

「I agree to the Terms and Conditions」にチェックを入れ、ダウンロードアイコンをクリックします。

「Prior to downloading this file, additional verification is required. Proceed?」というダイアログが表示された場合は「Yes」をクリックし、住所情報(郵便番号・都道府県・市区町村・番地)をローマ字で入力して「Submit」をクリックします。その後、再度ダウンロードアイコンをクリックするとダウンロードが開始されます。

2-3. インストーラーを実行する

ダウンロードした .exe ファイルをダブルクリックして実行します。「このアプリがデバイスに変更を加えることを許可しますか?」と聞かれたら「はい」をクリックします。

インストールウィザードが起動したら、以下の手順で進めます。

  1. 「Next」をクリック
  2. 使用許諾契約書を確認し「I accept the terms in the License Agreement」にチェックを入れ「Next」
  3. インストール先フォルダを確認(デフォルトのままでOK)し「Next」
  4. ユーザーエクスペリエンス向上プログラムへの参加は任意。「Next」
  5. スタートメニューのショートカット設定を確認し「Next」
  6. 「Install」をクリックしてインストール開始
  7. インストール完了後「Finish」をクリック

2-4. 初回起動時の設定

VMware Workstation Proを起動すると、ライセンスの選択画面が表示されます。

「Use VMware Workstation 17 for Personal Use」を選択し「Continue」をクリックします。

これでVMware Workstation Proのインストールは完了です。


Phase 3:Kali Linux VMイメージをダウンロードする

KaliのVMをゼロからセットアップする方法もありますが、公式が提供するプリビルドVMイメージを使う方法が最も簡単です。必要なツールがあらかじめインストールされた状態のVMがそのまま使えます。

3-1. Kali Linux公式サイトからVMwareイメージをダウンロードする

Kali Linux公式サイトのプレビルドVMイメージのダウンロードページにアクセスします。

https://www.kali.org/get-kali/#kali-virtual-machines

「VMware」のダウンロードリンクをクリックします。ファイルは .7z 形式(7-Zip圧縮)で提供されており、ファイルサイズは約4GB前後です。通信速度によっては30〜60分程度かかります。2026年4月現在、VMware Kali LinuxのVMイメージのファイル名は「kali-linux-2026.1-vmware-amd64.7z」です。

Kali Linux VMのダウンロード

ダウンロードが完了したら、ファイルのSHA256チェックサムを確認することを推奨します。Windowsのコマンドプロンプトで以下のコマンドを実行し、公式サイトに掲載されているハッシュ値と一致するか確認します。

Windows Command prompt
certutil -hashfile kali-linux-2026.1-vmware-amd64.7z SHA256

3-2. .7zファイルを展開する

ダウンロードした.7zファイルを展開します。.7zファイルを右クリックして、「すべて展開」を選択します。

Windows11であれば、標準で.7zファイルを展開できます。もし、.7zファイルを展開できない場合は7-Zipなどの展開用のツールを利用してください。

.7zファイルの展開

展開したフォルダには、以下のようなVMのファイルが生成されます。

kali-linux-2026.1-vmware-amd64/
  ├── kali-linux-2024.x-vmware-amd64.vmx      ← VMの設定ファイル(メイン)
  ├── kali-linux-2024.x-vmware-amd64.vmdk     ← 仮想ディスク
  └── ...(その他の設定ファイル)
VMのファイル

Phase 4:VMwareにKali Linux VMをインポートして起動する

4-1. VMをVMwareで開く

VMware Workstation Proを起動し、[ファイル]→[開く]をクリックします。

VMを開く

先ほど展開したフォルダの中にある .vmx ファイル(kali-linux-2026.1-vmware-amd64.vmxを選択して「開く」をクリックします。

VMを開く

4-2. VMのスペックを確認・調整する(任意)

VMのサムネイルが左ペインに表示されます。[仮想マシンの設定を編集する]をクリックすると、CPUやメモリなどのスペックを変更できます。

PCのメモリが8GBの場合は2GB、16GB以上の場合は4GBをKali VMに割り当てることを推奨します。

設定項目推奨値(メモリ8GBのPC)推奨値(メモリ16GB以上のPC)
Memory2048 MB(2GB)4096 MB(4GB)
Processors2コア4コア
仮想マシンの設定を編集

4-3. VMを起動する

[この仮想マシンをパワーオンする]をクリックしてKali Linuxを起動します。

仮想マシンのパワーオン

はじめて起動した場合、「このVMをコピーしましたか?移動しましたか?」という確認ダイアログが表示される場合があります。「I Copied It」を選択します。

起動後、Kaliのログイン画面が表示されます。

4-4. ログインする

プリビルドVMイメージのデフォルト認証情報は以下のとおりです。

項目
Username(ユーザー名)kali
Password(パスワード)kali
Kali Linux ログイン

ログイン後、まずパスワードを変更することを強く推奨します。ターミナルを開いて以下のコマンドを実行します。

bash
passwd

VMwareの便利な設定

VMware Toolsについて

プリビルドVMイメージにはVMware Toolsが最初からインストールされています。VMware Toolsにより、以下の機能が使えるようになります。

  • ホストとゲストの間でマウスカーソルがスムーズに移動できる
  • クリップボードの共有(ホストでコピーしたテキストをゲストに貼り付けるなど)
  • VMの画面解像度の自動調整
  • ホストとゲスト間でのファイル共有(Shared Folders)

スナップショットの活用

VMwareのスナップショット機能を使うと、VMの状態を任意のタイミングで保存でき、問題が起きたときに保存した時点に戻すことができます。

Kaliの環境が壊れてしまっても、スナップショットから即座に復元できるため、TryHackMeの演習で思い切って操作を試すことができます。

スナップショットの作成方法: VMware上部メニューの「VM」→「Snapshot」→「Take Snapshot」


TryHackMeとOpenVPNで接続する

ローカルのKali VMをTryHackMeの演習環境に接続するには、OpenVPNを使います。

接続ファイルのダウンロード

TryHackMeにログインし、右上のプロフィールアイコン→[Manage Account]を選択します。[VM and VPN Settings]のメニューのから[Virtual Machines]セクションでハッキング環境のVMをデプロイするリージョンを選択します。そして、[VPN Configuration]セクションで[Configuration files]をクリックし、.ovpn ファイルをダウンロードします。

リージョンの選択
.ovpnのダウンロード

Kali VMをVPN接続する

ダウンロードした .ovpn ファイルをKali VMにのわかりやすいディレクトリに転送し(VMwareのファイルドラッグ&ドロップ機能が便利です)、ターミナルで以下のコマンドを実行します。

bash
sudo openvpn <ファイル名>.ovpn

「Initialization Sequence Completed」というメッセージが表示されれば接続成功です。以下、VPN接続を行った際のログです。

┌──(kali㉿kali)-[~]
└─$ sudo openvpn ~/Downloads/us-west-2-arakure-premium.ovpn
[sudo] password for kali: 
2026-04-02 02:25:03 DEPRECATED OPTION: --persist-key option ignored. Keys are now always persisted across restarts. 
2026-04-02 02:25:03 Note: --cipher is not set. OpenVPN versions before 2.5 defaulted to BF-CBC as fallback when cipher negotiation failed in this case. If you need this fallback please add '--data-ciphers-fallback BF-CBC' to your configuration and/or add BF-CBC to --data-ciphers. E.g. --data-ciphers DEFAULT:BF-CBC
2026-04-02 02:25:03 OpenVPN 2.7_rc6 x86_64-pc-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] [DCO]
2026-04-02 02:25:03 library versions: OpenSSL 3.5.4 30 Sep 2025, LZO 2.10
2026-04-02 02:25:03 DCO version: 6.18.9+kali-amd64 #1 SMP PREEMPT_DYNAMIC Kali 6.18.9-1kali1 (2026-02-10)
2026-04-02 02:25:03 TCP/UDP: Preserving recently used remote address: [AF_INET]166.117.94.40:1194
2026-04-02 02:25:03 Socket Buffers: R=[212992->212992] S=[212992->212992]
2026-04-02 02:25:03 UDPv4 link local: (not bound)
2026-04-02 02:25:03 UDPv4 link remote: [AF_INET]166.117.94.40:1194
2026-04-02 02:25:03 TLS: Initial packet from [AF_INET]166.117.94.40:1194, sid=c6cf429f b55203da
2026-04-02 02:25:03 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
2026-04-02 02:25:03 VERIFY OK: depth=1, CN=OpenVPN-CA
2026-04-02 02:25:03 VERIFY KU OK
2026-04-02 02:25:03 Validating certificate extended key usage
2026-04-02 02:25:03 ++ Certificate has EKU (str) TLS Web Server Authentication, expects TLS Web Server Authentication
2026-04-02 02:25:03 VERIFY EKU OK
2026-04-02 02:25:03 VERIFY X509NAME OK: CN=openvpn-server
2026-04-02 02:25:03 VERIFY OK: depth=0, CN=openvpn-server
2026-04-02 02:25:03 Control Channel: TLSv1.3, cipher TLSv1.3 TLS_AES_256_GCM_SHA384, peer certificate: 2048 bits RSA, signature: RSA-SHA256, peer temporary key: 253 bits X25519, peer signing digest/type: rsa_pss_rsae_sha256 RSASSA-PSS, key agreement: x25519
2026-04-02 02:25:03 [openvpn-server] Peer Connection Initiated with [AF_INET]166.117.94.40:1194
2026-04-02 02:25:03 TLS: move_session: dest=TM_ACTIVE src=TM_INITIAL reinit_src=1
2026-04-02 02:25:03 TLS: tls_multi_process: initial untrusted session promoted to trusted
2026-04-02 02:25:04 SENT CONTROL [openvpn-server]: 'PUSH_REQUEST' (status=1)
2026-04-02 02:25:04 PUSH: Received control message: 'PUSH_REPLY,route 10.144.0.0 255.240.0.0,tun-mtu 1380,mssfix 1320,route-gateway 192.168.128.1,topology subnet,ping 10,ping-restart 120,ifconfig 192.168.128.165 255.255.128.0,peer-id 68,cipher AES-256-GCM,protocol-flags cc-exit tls-ekm dyn-tls-crypt,tun-mtu 1380'
2026-04-02 02:25:04 Options error: option 'mssfix' cannot be used in this context ([PUSH-OPTIONS])
2026-04-02 02:25:04 OPTIONS IMPORT: --ifconfig/up options modified
2026-04-02 02:25:04 OPTIONS IMPORT: route options modified
2026-04-02 02:25:04 OPTIONS IMPORT: route-related options modified
2026-04-02 02:25:04 OPTIONS IMPORT: tun-mtu set to 1380
2026-04-02 02:25:04 net_route_v4_best_gw query: dst 0.0.0.0
2026-04-02 02:25:04 net_route_v4_best_gw result: via 192.168.124.2 dev eth0
2026-04-02 02:25:04 net_route_v4_best_gw query: dst 166.117.94.40
2026-04-02 02:25:04 net_route_v4_best_gw result: via 192.168.124.2 dev eth0
2026-04-02 02:25:04 net_iface_new: add tun0 type ovpn
2026-04-02 02:25:04 DCO device tun0 opened
2026-04-02 02:25:04 ovpn-dco device [tun0] opened
2026-04-02 02:25:04 net_iface_mtu_set: mtu 1380 for tun0
2026-04-02 02:25:04 net_iface_up: set tun0 up
2026-04-02 02:25:04 net_addr_v4_add: 192.168.128.165/17 dev tun0
2026-04-02 02:25:04 net_route_v4_add: 10.144.0.0/12 via 192.168.128.1 dev [NULL] table 0 metric 200
2026-04-02 02:25:04 Initialization Sequence Completed
2026-04-02 02:25:04 Data Channel: cipher 'AES-256-GCM', peer-id: 68
2026-04-02 02:25:04 Timers: ping 10, ping-restart 120
2026-04-02 02:25:04 Protocol options: explicit-exit-notify 1, protocol-flags cc-exit tls-ekm dyn-tls-crypt

このターミナルは閉じずに、別のターミナルウィンドウを開いて作業を進めます。

別のタブを開く

接続確認

VPN接続を確認します。まずは、VPNのトンネルインタフェースに割り当てられているIPアドレスを確認します。ターミナルでip address showコマンドを実行します。

bash

ip address show


VPN接続すると、tun0インタフェースが作成されてハッキング環境にアクセスできるIPアドレスが割り当てられます。VPN接続のたびにIPアドレスは代わります。このtun0インタフェースのIPアドレスは、さまざまなツールを利用する際に必要になるので、攻撃対象のVMのIPアドレスと一緒に控えておきましょう。

┌──(kali㉿kali)-[~]
└─$ ip address show
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: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
    link/ether 00:0c:29:09:e2:ae brd ff:ff:ff:ff:ff:ff
    inet 192.168.124.129/24 brd 192.168.124.255 scope global dynamic noprefixroute eth0
       valid_lft 1492sec preferred_lft 1492sec
    inet6 fe80::3099:9773:b30d:f41c/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: tun0: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1380 qdisc noqueue state UP group default qlen 1000
    link/none 
    inet 192.168.128.165/17 brd 192.168.255.255 scope global tun0
       valid_lft forever preferred_lft forever
    inet6 fe80::2884:21df:7be3:c30e/64 scope link stable-privacy proto kernel_ll 
       valid_lft forever preferred_lft forever

そして、VPN接続の通信を確認します。VPN接続時に、ルーティングテーブルにVPN環境へ到達するためのスタティックルートも追加されています。ip route showコマンドでルーティングテーブルを表示して、出力インタフェースがtun0となっているルートのネクストホップのIPアドレスを確認してください。そして、そのIPアドレスへpingコマンドを実行します。Pingが成功すれば、VPN接続は正常です。

bash

ip route show

ping <デフォルトゲートウェイのIPアドレス> -c 3

┌──(kali㉿kali)-[~]
└─$ ip route show
default via 192.168.124.2 dev eth0 proto dhcp src 192.168.124.129 metric 100 
10.144.0.0/12 via 192.168.128.1 dev tun0 metric 200 
192.168.124.0/24 dev eth0 proto kernel scope link src 192.168.124.129 metric 100 
192.168.128.0/17 dev tun0 proto kernel scope link src 192.168.128.165 

                                                                                                        
┌──(kali㉿kali)-[~]
└─$ ping 192.168.128.1 -c 3
PING 192.168.128.1 (192.168.128.1) 56(84) bytes of data.
64 bytes from 192.168.128.1: icmp_seq=1 ttl=127 time=100 ms
64 bytes from 192.168.128.1: icmp_seq=2 ttl=127 time=101 ms
64 bytes from 192.168.128.1: icmp_seq=3 ttl=127 time=100 ms

--- 192.168.128.1 ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2003ms
rtt min/avg/max/mdev = 100.330/100.423/100.534/0.084 ms

まとめ

この記事で構築した環境をまとめると以下のとおりです。

ローカル攻撃環境のまとめ

これでAttackBoxの時間制限なしで学習できるローカル環境が整いました。Kali LinuxにはnmapgobusterBurp SuiteMetasploitなどのセキュリティツールがあらかじめインストールされていますので、TryHackMeの各Roomにすぐ取り組めます。

仮想マシンのハイパーバイザとしてVMware Workstation Proを利用していますが、Oracle Virtual Boxなどの他のハイパーバイザの場合でも同じ用にローカル環境を作成できます。