ペネトレーションテスト用ディストリビューションのKali LinuxをWindows Subsystem for Linux(WSL)で使う

Windows10のWindows Subsystem for Linux(WSL)でKaliが使えるぽいので試してみた。

メリット

  • 仮想化製品をインストールする必要がない。ライセンスの必要がない。

 実際ペネトレーションテストを実施する歳、仮想マシンの中に専用のKaliのイメージを使って診断する。というところが多いが、VMwareでは、Playerでも診断で利用する場合商用利用に該当するために、購入しなければらないが、この手法だと、ライセンス料を節約できる。(しかしvirtual boxで代用可能)

  • 標準の作業環境が、Windows利用者である場合にサクッと使える。

 具体的な例としては、セキュリティ診断会社では、診断端末 & 事務端末など複数のマシンを与える場面が多いく、セキュリティ診断端末は外に持ち出す前提なので、適用される社内ルールなどの違いから、診断結果を、事務用端末に移動するに手間がかかる。が、この方法を用いれば、事務端末(Windows10)の中でKaliを動かすことができる。

デメリット

  • rawソケットの欠如

このディストリビューションでセキュリティ診断を実施した場合、WSLではrawソケットが利用できないため、nmapなどポートスキャン、他様々な結果が、前回と、べき等にならないなどの問題が生じる可能性がある。

  • カスタマイズされた、kaliのカーネルを利用できない

ここについては意識したことがなかったが、そのように公式には記載されている。

www.kali.org

んでどーすんの

某ゲーム(FEZ)では、themida protectedのVMProtectにより、仮想マシンNICがインストールされていると、ゲームがプレイできないという仕様は、さながら人権が存在しない後進国のようなのだが、そのため、別端末にNested ESXiで仮想化機能を使い、SSHで繋いで操作しているのだが、これにより、ゲームをインストールしているPCでもKaliが利用できる、自分向けソリューションだった

やり方教えろ

  1. git for windows (コマンドプロンプトで利用)やpython(自分は3.6)をダウンロードし、空気を読んでインストールしておく。chocolateyがある場合は以下のコマンドでインストール
choco install git python -y
  1. 管理用のPowerShellウィンドウを開き、ワンライナーWindowsサブシステムをインストールする。一度終了すると再起動が必要になる。
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
  1. リブートしたら、コマンドプロンプトを開き、次のコマンドを実行して、デフォルトのUbuntu環境をインストールします。これにより、Kaliのベースが構築される。
lxrun /install
  1. WSL Switcherをセットアップしてインストールし、Kaliのベースをダウンロードしてディスクに展開する。
git clone https://github.com/RoliSoft/WSL-Distribution-Switcher.git
cd WSL-Distribution-Switcher
python get-prebuilt.py kalilinux/kali-linux-docker
python install.py rootfs_kalilinux_kali-linux-docker_latest.tar.gz
lxrun /setdefaultuser root
  1. KaliがWindows 10マシンに設定されたので、 "bash"コマンドを実行することで実行することができる。
bash
  1. この時点で、Kaliの中にいるので、通常どおりにパッケージ、ツールなどをインストールして使用することができる。あとは、いつものお作法。
export LANG=C
apt-get update
apt-get dist-upgrade

vimeo.com

参考文献

以上