Windows端末にTryHackMe環境を構築する
モチベーション
偶然次のYoutubeの動画にたどり着き「自分もTryHackMeにチャレンジしてみたい!」と思いました。ただ、この動画は丁寧に解説されているのですが、攻撃に必要な端末(Kali Linux環境)の構築手順は紹介されていません。そのため、ここに実際に自分が環境構築した手順を書いておきます。
バージョン
- Windows 11 Home
- WSL 2.2.4.0
注意事項
おそらく20GBほどのストレージが必要になります。
環境構築手順
Kali Linuxのインストール
ペネトレーションテストにはKali Linuxというディストリビューションがよく利用されるようです。そのため、まずはこれをインストールします。自分はMicrosoft Storeで「Kali Linux」と検索しインストールしました。以下からもインストールできると思います。
必要なソフトウェアのインストール
OSをインストールした段階ではnmapなどの必要なソフトウェアはインストールされていません。そのため次のコマンドでインストールします。
apt update
apt install kali-linux-default
apt install gobuster
kali-linux-defaultのインストールの途中でいくつかの質問に答える必要があります。自分は以下のサイトを参考に質問に答えました。
- https://www.demandosigno.study/entry/2023/10/18/215912
- https://datsuka-qwerty.hatenablog.com/entry/linuxtips/kali-on-wsl2#2-Kali-Linuxのインストール
Win-Kexのインストール
次にGUIを利用可能なようにします。
apt install kali-win-kex
インストール後、次のコマンドでKexを起動します。
kex --win -s -m
もしもKex起動時にrootユーザーを利用している場合は、kali-linux-defaultのインストール中やその前に作成したユーザーに切り替えた後にKexを起動した方がいいと思います。rootユーザーの場合、Kex起動後にFirefoxを起動しようとしても起動できませんでした。
その他の必要なこと
TryHackMeのアカウントの作成
これは特に難しいことはないと思いますので説明割愛します。
VPNの設定
VPNの設定は次の動画で解説されています。
もしも作成したユーザーがsudoを利用できない場合は次のコマンドでsudoグループに追加する必要があります。
usermod -G sudo 作成したユーザー名
linPEASのダウンロード
攻撃先のサーバーの中から重要そうなファイルを見つけてくれるツールであるlinPEASをダウンロードします。
トラブル事例
SSH接続できない
ユーザー名、パスワードがわかった後、SSH接続しようとしても以下のようにタイムアウトとなりました。
ssh ユーザー名@サーバーのIPアドレス
Connection closed by 10.10.16.245 port 22
ssh -vvv ユーザー名@サーバーのIPアドレス
で調べてみたところ debug1: expecting SSH2_MSG_KEX_ECDH_REPLY
というメッセージが出力されたところで止まっています。このキーワードで調べたところ https://fishrimper.blogspot.com/2014/06/ssh-mtu.html がヒットし、ここに書かれたクライアントのMTUの変更により解決しました。
これまでの作業でできるようになったこと
- https://tryhackme.com/r/room/basicpentestingjt 等で起動した攻撃先のサーバーに対してKexで起動したGUI上のFirefoxからアクセスできるようになっています
- https://youtu.be/YckM2y6QXcY?list=PL1zvuJ-Rj9WJCzKCbGLcAOL5-aDfWK2f_ の解説手順を一通り行えるようになっており、https://tryhackme.com/r/room/basicpentestingjt をクリアできました
Discussion