どっかの元高専生の技術備忘録

10割自分の備忘録用のブログ。

WSLにParrotOSをインストールして、xrdpでリモートデスクトップ

!注意!

2023/11 にWSL用のイメージが公式から公開されました!

parrotsec.org

ダウンロードしてきたzip内のexeファイルを起動すると勝手にインストールされる簡単仕様になっています。
この記事に書いてあることは既に古い情報なので、試してみても正常にインストールされないかもしれません、気をつけてください。

目次

やりたいこと

WSL2上にDebianをインストールしてから、そこへ公式のスクリプトを使って、Parrot Security OSをインストールしていきたい。
多分、WSLじゃなくても、Debianがインストールされてるマシンにこの方法で、ParrotOSが入るかも?

環境

  • OS: Windows11 Pro
  • WSL: Version2
  • Kernel version: 5.10.102.1
  • Windows Terminal: 1.14.2282.0

!注意!

この記事ではWindows11前提で進めていきます、WSLの有効化など一部Windows10とは設定方法などが変化していることもあるので、各々読み替えて進めてください。
また、途中クローンしてきたリポジトリ内のファイルを書き換えますが、 2022/08/27時点の情報(commit:fc53611) で書いてます。

Parrotって?

ParrotOSは、ペンテストツール一式が入っていたり、ソフトウェア開発環境が整っていたり、Anonsurfのようなプライバシー保護ツールが入っていたりする、主にセキュリティー、プライバシーに重点を置いた、Debianベースなディストリビューションです。
公式サイトのトップにはこんなことが書かれています。

The ultimate framework for your Cyber Security operations
サイバーセキュリティ運用のための究極のフレームワーク

Kali Linuxとの違い

大きな違いとして、Kali LinuxにはないHome Editionが用意されており、ペンテストツール系は入っていませんが、ソフトウェア開発用のツールや、
プライバシー保護ツールなどが揃っており、日常的にも使えるようなOSです。 また、デスクトップ環境にMATEが使われているので、WSLや仮想マシンで動作させるのには向いてます。 細かい違いはここの記事がわかりやすかったので載せておきます。
この日本語訳記事も需要があったら書いてみようかな

0. Windows Terminalのインストール

コマンドプロンプトPowerShellを同時に複数開ける多機能なターミナルソフトです。
他にも、分割表示が出来たり、WSLで新しいLinuxを入れるたびに起動用のインスタンスを自動で追加してくれたりと、詳しくは公式動画をみてみてください。
インストールはMicrosoft Storeから出来ます。
起動はスタートメニューの検索からターミナルと検索するか、Win + Rで開けるファイル名を指定して実行からwtを実行することで開けます。

0-1. Windows Terminalを規定値に設定

デフォルトのターミナルアプリをWindows Console HostからWindows Terminalへ変更出来ます。
Windows Terminalの設定画面Ctrl + ,から、 規定のターミナルアプリ を変更することで出来ます。 画像は英語環境なので、注意してください。

1. Debianのインストール

PowerShellを管理者権限で起動してください。Windows Terminalを使ってる人はCtrlを押しながらクリックで管理者として起動出来ます。 起動ができると左上に管理者権限で起動していることを示す、盾のマークが表示されます。 確認が出来たらDebianをインストールしていきます。

wsl --install -d Debian

を実行すると、インストールが始まります。 数秒するとユーザー名とパスワードの設定が求められるので、入力してください Installign Successfullyと表示されれば、インストールが完了です。 Windows TerminalのドロップダウンリストにDebianが追加れています。

2. Debianのアップデートと必要ツールのインストール

次に、Debianのアップデートと必要ツールのインストールをしていきます。

sudo apt update && sudo apt upgrade && sudo apt install curl wget gnupg git apt-transport-https ca-certificates

を実行すると、アップデートとツールのインストールが始まります。 done.と表示されれば、正常に終了してます。

3. ParrotOSのインストール

公式ドキュメントのやり方通りではエラーになるので、注意してください。
sudo権限で実行しないとエラーになります!

3-1. リポジトリのクローン

git clone https://github.com/ParrotSec/alternate-install.git

を実行して、リポジトリをクローンしてきます。 終わったら、スクリプトに実行権限を付与します。

cd ./alternate-install && sudo chmod +x ./parrot-install.sh

3-2. sources.listの編集

このままだと、スクリプトを実行してもエラーが帰ってきてしまうので、クローンしてきたリポジトリ内のsources.listを編集します。

echo "deb https://deb.parrot.sh/parrot/ parrot main contrib non-free" >> ./config/etc/apt/sources.list

リポジトリ内のファイルに追記をします。

3-3. スクリプトの実行

ソースリストの編集が終わったら、` sudo ./parrot-install.sh` スクリプトを実行します。

3-4. エディションの選択

スクリプトを実行すると、以下のようにインストールするエディションを選択する画面になります。
今回はSecurity Editonを入れるのですが、Core Onlyを選択しないと正常なリポジトリが入らないので、1を入力します。 エディションを選択すると、ParrotOSのインストールが始まります。 正常に終了するとParrot OS Core Installed!!!となります。 終わったら、念のため

sudo parrot-upgrade

を実行して、アップデートをしてください。

3-5. セキュリティツールとGUIのインストール

sudo apt install parrot-interface parrot-interface-full parrot-tools-full

を実行することで、GUI環境と、Securityエディションにある、ペンテストツール一式がインストールされます。

4. XRDPを使って、デスクトップ環境にアクセス

4-1. XRDPのインストール

sudo apt update && sudo apt install -y xrdp

でxrdpをインストールします。

4-2. リッスンポートの変更

XRDPデフォルトのリッスンポート3389はWSLで予約されているので、3389意外のポートへ変更します。
もちろん、ウェルノウンポート意外のポートにしてください。
仮にAAAA番ポートへ変更するとしたら、以下のコマンドを実行してください。

sudo cp -p /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak && sudo sed -i 's/3389/AAAA/g' xrdp.ini

上のコマンドでは/etc/xrdp/xrdp.ini.bakにバックアップを作っています。 もとに戻す場合はここから復元してください。

4-3. 起動・停止

起動:sudo service xrdp start
停止:sudo service xrdp stop
ステータス確認:sudo service xrdp status

4-4. 自動起動

後日追加予定!!!
WSLでは systemctl が利用できないので/lib/systemd/systemにserviceファイルを作って自動という方法が取れません、なにか別の方法を見つけて後日追記します。

4-5. 接続

XRDPを起動してから、Windows標準のRDPクライアントから接続します。
コンピュータの部分にlocalhost:AAAAを入力し、接続を押すと画面が表示されます。 画面が表示されたら、Debianをインストールした時に設定したユーザー名とパスワードを入力すれば、ログインできます。

参考

jeffmur.dev