Tryhackme上の問題をKali Linuxで解きたかったけど色々ややこしかったので備忘録を兼ねて
$ sw_vers
ProductName: Mac OS X
ProductVersion: 10.14.6
BuildVersion: 18G5033
$ VBoxManage --version
6.1.12r139181
$ VBoxManage list vms | grep Kali
"Kali-Linux-2020.3-vbox-amd64" {0ab4e32c-80e6-4a48-8a77-63ddba2ea0bf}
Kali Linux仮想環境構築編
-
VirtualBoxのインストーラを公式ダウンロードページからDLし実行.
-
Offencive Securityが配布しているKali LinuxのovaファイルをこのリンクからDL. (ovaファイルはメモリやディスク容量などの仮想マシンの設定とOSイメージが一緒になったファイル. インポートするだけで簡単にゲストOSを立ち上げ可能です.)
-
VirtualBoxメニューバーの
ファイル > 仮想アプライアンスのインポート…
から先程のovaファイルをインポート. 設定はそのままでも大丈夫です. -
マシン一覧から
Kali-Linux…
を選択し起動.
起動しようとした時にimplementation of usb 2.0 ...
みたいなエラーが出る場合は, 指示に従ってVirtualBox Extension Packを導入します.
MacのせいなのかDLしたファイルの拡張子が.gzになっちゃってるので, .vbox-extpackに直してダブルクリック. あとは指示に従うだけで導入できます.
古いままのVirtualBoxを使ってたりしているとVBox本体とExtension Packのバージョンが一致せずエラーが出るので忘れずにアップデートしておきましょう.
5. 無事起動できたらuser:kali pass:kali
でログイン.
OpenVPN周りの設定
TryHackMeの問題サーバーにアクセスするにはOpenVPNを経由する必要があるため, そちらの設定を行っていきます.
##TryHackMeでConfiguration Fileの発行
https://tryhackme.com/access にアクセスするとOpenVPN用の設定ファイルをDLできます.
適当にVPN Serverを選択し緑のボタンを押しましょう.
親切なことにOpenVPNのインストラクション用のRoomが存在するので, ここでソフトウェア等のセットアップをしてちゃんと接続できているか確認しておくと安心できます.
##ゲストOSとファイルの共有
先程DLしたovpnファイルゲスト側に移すため, VirtualBoxの共有フォルダの設定をします.
VirtualBoxマネージャーでKali Linuxを選択し, 歯車マークの設定を開いて適当なフォルダを共有フォルダとして追加しましょう. 自動マウントはオンにしておきます. そのフォルダに先程のovpnファイルを置き, Kali Linuxを再起動します.
ファイルは/media/sf_hogehoge
下にあるのですが, このままゲスト側から読み込もうとするとpermission deniedされるので, $ gpasswd -a kali vboxsf
でユーザーkaliをグループvboxsfに追加し権限を付与し再び再起動. アクセスできるようになっていると思います.
扱いやすいように適当なフォルダにコピーしておきましょう.
$ mkdir ~/tryhackme
$ cp /media/sf_hogehoge/uswest.ovpn ~/tryhackme
Kali Linux上からGUIを使ってVPNと接続する
メニューバーの□ > VPN Connections > Configure VPN…
からネットワークの設定を開き, +ボタンから新しい接続先を設定します. Connection TypeはImport a saved VPN configuration…
を指定し先程のファイルを選択しましょう. あとはVPN Connections
に表示される接続先のチェックボックスにチェックを入れるだけでVPNを経由できるようになります.
一応先程のRoomをゲストマシンのブラウザで開いて確認しておくといいでしょう.
CUIで接続する
$ sudo apt install openvpn
しようとするともうopenvpnが入っていると言われますが, パスが通っていません. バイナリ本体がどこにあるのかも分からないので$ dpkg -L openvpn
で探すと, 何個か出てくる内の/usr/sbin/openvpn
がそれっぽいです.
実際$ sudo /usr/sbin/openvpn ~/tryhackme/xxxx.opvn
で動作します.
export PATH=$PATH:/usr/sbin
でパスを通しておけば$ sudo openvpn ~/tryhackme/xxxx.opvn
でVPNに接続できるようになります.
以上です.
(余談)
ホストマシン上の使い慣れたターミナルでKali Linuxに接続して問題を解きたい, それに面倒だからゲストOSのウィンドウを開きたくない, という思いがあったのでCUIでOpenVPNに接続できるようしたのですが, ゲストOSのshellに接続するのが思ったより面倒そうで結局そこまでやりませんでした…